Skip to content

Instantly share code, notes, and snippets.

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

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

Select an option

Save manuel-schiller/b5a405768d12f49d49e5e3188749de42 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
--- FUNCTION SOURCE (ToName) id{0,0} ---
(i){
return(typeof(i)==='symbol')?i:ToString(i);
}
--- END ---
--- Raw source ---
(i){
return(typeof(i)==='symbol')?i:ToString(i);
}
--- Optimized code ---
optimization_id = 0
source_position = 14589
kind = OPTIMIZED_FUNCTION
name = ToName
stack_slots = 1
compiler = crankshaft
Instructions (size = 170)
0x351d932686e0 0 55 push rbp
0x351d932686e1 1 4889e5 REX.W movq rbp,rsp
0x351d932686e4 4 56 push rsi
0x351d932686e5 5 57 push rdi
0x351d932686e6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932686ea 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 14589
;;; <@3,#1> gap
0x351d932686ee 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932686f2 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932686f5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932686fc 28 7305 jnc 35 (0x351d93268703)
0x351d932686fe 30 e8ddc7ecff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@16,#12> gap
0x351d93268703 35 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 14610
;;; <@17,#12> typeof-is-and-branch
0x351d93268707 39 a801 test al,0x1
0x351d93268709 41 740e jz 57 (0x351d93268719)
0x351d9326870b 43 488b40ff REX.W movq rax,[rax-0x1]
0x351d9326870f 47 80780b80 cmpb [rax+0xb],0x80
0x351d93268713 51 0f8442000000 jz 123 (0x351d9326875b)
;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------
;;; <@22,#19> -------------------- B3 --------------------
;;; <@23,#19> gap
0x351d93268719 57 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 14625
;;; <@24,#20> load-context-slot
0x351d9326871d 61 488b5857 REX.W movq rbx,[rax+0x57]
;;; <@26,#21> check-value
0x351d93268721 65 49bab1b4c9bdff1f0000 REX.W movq r10,0x1fffbdc9b4b1 ;; object: 0x1fffbdc9b4b1 <JS Function ToString (SharedFunctionInfo 0x1fffbdc472f1)>
0x351d9326872b 75 493bda REX.W cmpq rbx,r10
0x351d9326872e 78 0f8532000000 jnz 134 (0x351d93268766)
;;; <@28,#23> push-argument
0x351d93268734 84 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; object: 0x21ab18105f49 <JS Global Object>
0x351d9326873e 94 4152 push r10
;;; <@29,#23> gap
0x351d93268740 96 488b5d10 REX.W movq rbx,[rbp+0x10]
;;; <@30,#23> push-argument
0x351d93268744 100 53 push rbx
;;; <@32,#24> constant-t
0x351d93268745 101 48bfb1b4c9bdff1f0000 REX.W movq rdi,0x1fffbdc9b4b1 ;; object: 0x1fffbdc9b4b1 <JS Function ToString (SharedFunctionInfo 0x1fffbdc472f1)>
;;; <@34,#25> call-js-function
0x351d9326874f 111 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d93268753 115 ff5717 call [rdi+0x17]
;;; <@36,#26> lazy-bailout
;;; <@39,#31> goto
0x351d93268756 118 e904000000 jmp 127 (0x351d9326875f) ;; debug: position 14600
;;; <@40,#13> -------------------- B4 (unreachable/replaced) --------------------
;;; <@44,#27> -------------------- B5 --------------------
;;; <@46,#29> gap
0x351d9326875b 123 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@48,#33> -------------------- B6 --------------------
;;; <@50,#35> return
0x351d9326875f 127 488be5 REX.W movq rsp,rbp ;; debug: position 14594
0x351d93268762 130 5d pop rbp
0x351d93268763 131 c21000 ret 0x10
;;; -------------------- Jump table --------------------
0x351d93268766 134 e89fd8b9ff call 0x351d92e0600a ;; debug: position 18432
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 1
0x351d9326876b 139 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 3)
index ast id argc pc
0 3 0 35
1 7 0 -1
2 24 0 118
Safepoints (size = 30)
0x351d93268703 35 1 (sp -> fp) 0
0x351d93268756 118 1 (sp -> fp) 2
RelocInfo (size = 338)
0x351d932686ea position (14589)
0x351d932686ea comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932686ea comment (;;; <@2,#1> context)
0x351d932686ee comment (;;; <@3,#1> gap)
0x351d932686f2 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932686f2 comment (;;; <@11,#8> gap)
0x351d932686f5 comment (;;; <@12,#10> stack-check)
0x351d932686ff code target (BUILTIN) (0x351d93134ee0)
0x351d93268703 comment (;;; <@14,#10> lazy-bailout)
0x351d93268703 comment (;;; <@16,#12> gap)
0x351d93268703 position (14610)
0x351d93268707 comment (;;; <@17,#12> typeof-is-and-branch)
0x351d93268719 comment (;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------)
0x351d93268719 position (14625)
0x351d93268719 comment (;;; <@22,#19> -------------------- B3 --------------------)
0x351d93268719 comment (;;; <@23,#19> gap)
0x351d9326871d comment (;;; <@24,#20> load-context-slot)
0x351d93268721 comment (;;; <@26,#21> check-value)
0x351d93268723 embedded object (0x1fffbdc9b4b1 <JS Function ToString (SharedFunctionInfo 0x1fffbdc472f1)>)
0x351d93268734 comment (;;; <@28,#23> push-argument)
0x351d93268736 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d93268740 comment (;;; <@29,#23> gap)
0x351d93268744 comment (;;; <@30,#23> push-argument)
0x351d93268745 comment (;;; <@32,#24> constant-t)
0x351d93268747 embedded object (0x1fffbdc9b4b1 <JS Function ToString (SharedFunctionInfo 0x1fffbdc472f1)>)
0x351d9326874f comment (;;; <@34,#25> call-js-function)
0x351d93268756 comment (;;; <@36,#26> lazy-bailout)
0x351d93268756 position (14600)
0x351d93268756 comment (;;; <@39,#31> goto)
0x351d9326875b comment (;;; <@40,#13> -------------------- B4 (unreachable/replaced) --------------------)
0x351d9326875b comment (;;; <@44,#27> -------------------- B5 --------------------)
0x351d9326875b comment (;;; <@46,#29> gap)
0x351d9326875f position (14594)
0x351d9326875f comment (;;; <@48,#33> -------------------- B6 --------------------)
0x351d9326875f comment (;;; <@50,#35> return)
0x351d93268766 comment (;;; -------------------- Jump table --------------------)
0x351d93268766 position (18432)
0x351d93268766 deopt reason (value mismatch)
0x351d93268767 runtime entry (deoptimization bailout 1)
0x351d9326876c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (join) id{1,0} ---
(C){
if((this==null)&&!(%_IsUndetectableObject(this)))throw MakeTypeError(14,"Array.prototype.join");
var o=((%_IsSpecObject(%IS_VAR(this)))?this:$toObject(this));
var v=(o.length>>>0);
return InnerArrayJoin(C,o,v);
}
--- END ---
--- Raw source ---
(C){
if((this==null)&&!(%_IsUndetectableObject(this)))throw MakeTypeError(14,"Array.prototype.join");
var o=((%_IsSpecObject(%IS_VAR(this)))?this:$toObject(this));
var v=(o.length>>>0);
return InnerArrayJoin(C,o,v);
}
--- Optimized code ---
optimization_id = 1
source_position = 5465
kind = OPTIMIZED_FUNCTION
name = join
stack_slots = 1
compiler = crankshaft
Instructions (size = 666)
0x351d9328a100 0 55 push rbp
0x351d9328a101 1 4889e5 REX.W movq rbp,rsp
0x351d9328a104 4 56 push rsi
0x351d9328a105 5 57 push rdi
0x351d9328a106 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d9328a10a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 5465
;;; <@3,#1> gap
0x351d9328a10e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d9328a112 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d9328a115 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d9328a11c 28 7305 jnc 35 (0x351d9328a123)
0x351d9328a11e 30 e8bdadeaff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@16,#13> gap
0x351d9328a123 35 488b5518 REX.W movq rdx,[rbp+0x18] ;; debug: position 5478
;;; <@17,#13> cmp-object-eq-and-branch
0x351d9328a127 39 49ba0141c0bdff1f0000 REX.W movq r10,0x1fffbdc04101 ;; object: 0x1fffbdc04101 <null>
0x351d9328a131 49 493bd2 REX.W cmpq rdx,r10
0x351d9328a134 52 0f842a000000 jz 100 (0x351d9328a164)
;;; <@18,#18> -------------------- B2 --------------------
;;; <@21,#19> cmp-object-eq-and-branch
0x351d9328a13a 58 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d9328a144 68 493bd2 REX.W cmpq rdx,r10
0x351d9328a147 71 0f8417000000 jz 100 (0x351d9328a164)
;;; <@22,#22> -------------------- B3 --------------------
;;; <@25,#23> is-undetectable-and-branch
0x351d9328a14d 77 f6c201 testb rdx,0x1
0x351d9328a150 80 0f848e000000 jz 228 (0x351d9328a1e4)
0x351d9328a156 86 488b42ff REX.W movq rax,[rdx-0x1]
0x351d9328a15a 90 f6400c10 testb [rax+0xc],0x10
0x351d9328a15e 94 0f8480000000 jz 228 (0x351d9328a1e4)
;;; <@26,#27> -------------------- B4 (unreachable/replaced) --------------------
;;; <@30,#20> -------------------- B5 (unreachable/replaced) --------------------
;;; <@34,#16> -------------------- B6 (unreachable/replaced) --------------------
;;; <@38,#14> -------------------- B7 (unreachable/replaced) --------------------
;;; <@42,#24> -------------------- B8 (unreachable/replaced) --------------------
;;; <@46,#30> -------------------- B9 --------------------
;;; <@49,#31> is-undetectable-and-branch
0x351d9328a164 100 f6c201 testb rdx,0x1 ;; debug: position 5489
0x351d9328a167 103 0f840e000000 jz 123 (0x351d9328a17b)
0x351d9328a16d 109 488b42ff REX.W movq rax,[rdx-0x1]
0x351d9328a171 113 f6400c10 testb [rax+0xc],0x10
0x351d9328a175 117 0f8569000000 jnz 228 (0x351d9328a1e4)
;;; <@50,#35> -------------------- B10 (unreachable/replaced) --------------------
;;; <@54,#38> -------------------- B11 --------------------
;;; <@56,#44> push-argument
0x351d9328a17b 123 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 5525
;; object: 0x21ab18105f49 <JS Global Object>
0x351d9328a185 133 4152 push r10
;;; <@58,#44> push-argument
0x351d9328a187 135 49ba000000000e000000 REX.W movq r10,0xe00000000
0x351d9328a191 145 4152 push r10
;;; <@60,#44> push-argument
0x351d9328a193 147 49ba8174901214170000 REX.W movq r10,0x171412907481 ;; object: 0x171412907481 <String[20]: Array.prototype.join>
0x351d9328a19d 157 4152 push r10
;;; <@62,#39> constant-t
0x351d9328a19f 159 48bff9fec9bdff1f0000 REX.W movq rdi,0x1fffbdc9fef9 ;; object: 0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>
;;; <@64,#47> load-named-field
0x351d9328a1a9 169 488b772f REX.W movq rsi,[rdi+0x2f]
;;; <@66,#39> constant-t
0x351d9328a1ad 173 48bff9fec9bdff1f0000 REX.W movq rdi,0x1fffbdc9fef9 ;; object: 0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>
;;; <@68,#48> constant-i
0x351d9328a1b7 183 b802000000 movl rax,0x2
;;; <@70,#46> constant-i
0x351d9328a1bc 188 bb04000000 movl rbx,0x4
;;; <@72,#50> call-with-descriptor
0x351d9328a1c1 193 e83afde7ff call ArgumentsAdaptorTrampoline (0x351d93109f00) ;; code: BUILTIN
;;; <@74,#51> lazy-bailout
;;; <@76,#52> push-argument
0x351d9328a1c6 198 50 push rax ;; debug: position 5519
;;; <@77,#52> gap
0x351d9328a1c7 199 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@78,#53> call-runtime
0x351d9328a1cb 203 0f1f840000000000 nop
0x351d9328a1d3 211 b801000000 movl rax,0x1
0x351d9328a1d8 216 498d9dd89b32ff REX.W leaq rbx,[r13-0xcd6428]
0x351d9328a1df 223 e8fcf3e7ff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@80,#54> lazy-bailout
;;; <@82,#32> -------------------- B12 (unreachable/replaced) --------------------
;;; <@86,#56> -------------------- B13 --------------------
;;; <@88,#57> gap
0x351d9328a1e4 228 488b4518 REX.W movq rax,[rbp+0x18] ;; debug: position 5575
;;; <@89,#57> has-instance-type-and-branch
0x351d9328a1e8 232 a801 test al,0x1
0x351d9328a1ea 234 0f840f000000 jz 255 (0x351d9328a1ff)
0x351d9328a1f0 240 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d9328a1f4 244 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d9328a1f9 249 0f8323000000 jnc 290 (0x351d9328a222)
;;; <@90,#61> -------------------- B14 (unreachable/replaced) --------------------
;;; <@94,#64> -------------------- B15 --------------------
;;; <@96,#68> push-argument
0x351d9328a1ff 255 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 5611
;; object: 0x21ab18105f49 <JS Global Object>
0x351d9328a209 265 4152 push r10
;;; <@98,#68> push-argument
0x351d9328a20b 267 50 push rax
;;; <@100,#65> constant-t
0x351d9328a20c 268 48bf31c5c9bdff1f0000 REX.W movq rdi,0x1fffbdc9c531 ;; object: 0x1fffbdc9c531 <JS Function ToObject (SharedFunctionInfo 0x1fffbdc476a9)>
;;; <@102,#70> call-js-function
0x351d9328a216 278 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d9328a21a 282 ff5717 call [rdi+0x17]
;;; <@104,#71> lazy-bailout
;;; <@107,#76> goto
0x351d9328a21d 285 e904000000 jmp 294 (0x351d9328a226) ;; debug: position 5574
;;; <@108,#58> -------------------- B16 (unreachable/replaced) --------------------
;;; <@112,#72> -------------------- B17 --------------------
;;; <@114,#74> gap
0x351d9328a222 290 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@116,#78> -------------------- B18 --------------------
;;; <@118,#81> check-non-smi
0x351d9328a226 294 a801 test al,0x1 ;; debug: position 5567
;; debug: position 5637
0x351d9328a228 296 0f8411010000 jz 575 (0x351d9328a33f)
;;; <@120,#82> check-maps
0x351d9328a22e 302 49bac16f908290160000 REX.W movq r10,0x169082906fc1 ;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d9328a238 312 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d9328a23c 316 7414 jz 338 (0x351d9328a252)
0x351d9328a23e 318 49ba8172908290160000 REX.W movq r10,0x169082907281 ;; object: 0x169082907281 <Map(FAST_HOLEY_ELEMENTS)>
0x351d9328a248 328 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d9328a24c 332 0f85f2000000 jnz 580 (0x351d9328a344)
;;; <@122,#83> load-named-field
0x351d9328a252 338 8b581b movl rbx,[rax+0x1b]
;;; <@124,#85> shift-i
;;; <@125,#85> gap
0x351d9328a255 341 488b55e8 REX.W movq rdx,[rbp-0x18] ;; debug: position 5644
;;; <@126,#88> load-context-slot
0x351d9328a259 345 488b8adf000000 REX.W movq rcx,[rdx+0xdf] ;; debug: position 5658
;;; <@128,#91> check-value
0x351d9328a260 352 49ba996bcabdff1f0000 REX.W movq r10,0x1fffbdca6b99 ;; object: 0x1fffbdca6b99 <JS Function InnerArrayJoin (SharedFunctionInfo 0x1fffbdc54001)>
0x351d9328a26a 362 493bca REX.W cmpq rcx,r10
0x351d9328a26d 365 0f85d6000000 jnz 585 (0x351d9328a349)
;;; <@130,#100> number-tag-u
0x351d9328a273 371 81fbffffff7f cmpl rbx,0x7fffffff
0x351d9328a279 377 0f8735000000 ja 436 (0x351d9328a2b4)
0x351d9328a27f 383 48c1e320 REX.W shlq rbx, 32
;;; <@132,#92> push-argument
0x351d9328a283 387 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d9328a28d 397 4152 push r10
;;; <@133,#92> gap
0x351d9328a28f 399 488b4d10 REX.W movq rcx,[rbp+0x10]
;;; <@134,#92> push-argument
0x351d9328a293 403 51 push rcx
;;; <@136,#92> push-argument
0x351d9328a294 404 50 push rax
;;; <@138,#92> push-argument
0x351d9328a295 405 53 push rbx
;;; <@140,#93> constant-t
0x351d9328a296 406 48bf996bcabdff1f0000 REX.W movq rdi,0x1fffbdca6b99 ;; object: 0x1fffbdca6b99 <JS Function InnerArrayJoin (SharedFunctionInfo 0x1fffbdc54001)>
;;; <@142,#94> call-js-function
0x351d9328a2a0 416 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d9328a2a4 420 ff5717 call [rdi+0x17]
;;; <@144,#95> lazy-bailout
;;; <@146,#97> return
0x351d9328a2a7 423 488be5 REX.W movq rsp,rbp ;; debug: position 5651
0x351d9328a2aa 426 5d pop rbp
0x351d9328a2ab 427 c21000 ret 0x10
0x351d9328a2ae 430 660f1f440000 nop
;;; <@130,#100> -------------------- Deferred number-tag-u --------------------
0x351d9328a2b4 436 f2480f2acb REX.W cvtsi2sd xmm1,rbx ;; debug: position 5658
0x351d9328a2b9 441 498b9d400b0000 REX.W movq rbx,[r13+0xb40]
0x351d9328a2c0 448 488bcb REX.W movq rcx,rbx
0x351d9328a2c3 451 4883c110 REX.W addq rcx,0x10
0x351d9328a2c7 455 0f8221000000 jc 494 (0x351d9328a2ee)
0x351d9328a2cd 461 493b8d480b0000 REX.W cmpq rcx,[r13+0xb48]
0x351d9328a2d4 468 0f8714000000 ja 494 (0x351d9328a2ee)
0x351d9328a2da 474 49898d400b0000 REX.W movq [r13+0xb40],rcx
0x351d9328a2e1 481 48ffc3 REX.W incq rbx
0x351d9328a2e4 484 4d8b5500 REX.W movq r10,[r13+0x0]
0x351d9328a2e8 488 4c8953ff REX.W movq [rbx-0x1],r10
0x351d9328a2ec 492 eb47 jmp 565 (0x351d9328a335)
0x351d9328a2ee 494 33db xorl rbx,rbx
0x351d9328a2f0 496 50 push rax
0x351d9328a2f1 497 51 push rcx
0x351d9328a2f2 498 52 push rdx
0x351d9328a2f3 499 53 push rbx
0x351d9328a2f4 500 56 push rsi
0x351d9328a2f5 501 57 push rdi
0x351d9328a2f6 502 4150 push r8
0x351d9328a2f8 504 4151 push r9
0x351d9328a2fa 506 4153 push r11
0x351d9328a2fc 508 4154 push r12
0x351d9328a2fe 510 4156 push r14
0x351d9328a300 512 4157 push r15
0x351d9328a302 514 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d9328a307 519 488b75f8 REX.W movq rsi,[rbp-0x8]
0x351d9328a30b 523 33c0 xorl rax,rax
0x351d9328a30d 525 498d9dd82034ff REX.W leaq rbx,[r13-0xcbdf28]
0x351d9328a314 532 e887bfe7ff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d9328a319 537 4889442460 REX.W movq [rsp+0x60],rax
0x351d9328a31e 542 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d9328a323 547 415f pop r15
0x351d9328a325 549 415e pop r14
0x351d9328a327 551 415c pop r12
0x351d9328a329 553 415b pop r11
0x351d9328a32b 555 4159 pop r9
0x351d9328a32d 557 4158 pop r8
0x351d9328a32f 559 5f pop rdi
0x351d9328a330 560 5e pop rsi
0x351d9328a331 561 5b pop rbx
0x351d9328a332 562 5a pop rdx
0x351d9328a333 563 59 pop rcx
0x351d9328a334 564 58 pop rax
0x351d9328a335 565 f20f114b07 movsd [rbx+0x7],xmm1
0x351d9328a33a 570 e944ffffff jmp 387 (0x351d9328a283)
;;; -------------------- Jump table --------------------
0x351d9328a33f 575 e8e4bcb7ff call 0x351d92e06028 ;; debug: position 88064
;; debug: deopt reason 'Smi'
;; deoptimization bailout 4
0x351d9328a344 580 e8e9bcb7ff call 0x351d92e06032 ;; debug: position 88064
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 5
0x351d9328a349 585 e8eebcb7ff call 0x351d92e0603c ;; debug: position 98816
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 6
0x351d9328a34e 590 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 8)
index ast id argc pc
0 3 0 35
1 38 0 198
2 36 0 228
3 75 0 285
4 62 0 -1
5 62 0 -1
6 96 0 -1
7 112 0 423
Safepoints (size = 74)
0x351d9328a123 35 1 (sp -> fp) 0
0x351d9328a1c6 198 1 (sp -> fp) 1
0x351d9328a1e4 228 1 (sp -> fp) 2
0x351d9328a21d 285 1 (sp -> fp) 3
0x351d9328a2a7 423 1 (sp -> fp) 7
0x351d9328a319 537 1 | rax | rdx | rbx (sp -> fp) <none>
RelocInfo (size = 897)
0x351d9328a10a position (5465)
0x351d9328a10a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d9328a10a comment (;;; <@2,#1> context)
0x351d9328a10e comment (;;; <@3,#1> gap)
0x351d9328a112 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d9328a112 comment (;;; <@11,#8> gap)
0x351d9328a115 comment (;;; <@12,#10> stack-check)
0x351d9328a11f code target (BUILTIN) (0x351d93134ee0)
0x351d9328a123 comment (;;; <@14,#10> lazy-bailout)
0x351d9328a123 comment (;;; <@16,#13> gap)
0x351d9328a123 position (5478)
0x351d9328a127 comment (;;; <@17,#13> cmp-object-eq-and-branch)
0x351d9328a129 embedded object (0x1fffbdc04101 <null>)
0x351d9328a13a comment (;;; <@18,#18> -------------------- B2 --------------------)
0x351d9328a13a comment (;;; <@21,#19> cmp-object-eq-and-branch)
0x351d9328a13c embedded object (0x1fffbdc041b9 <undefined>)
0x351d9328a14d comment (;;; <@22,#22> -------------------- B3 --------------------)
0x351d9328a14d comment (;;; <@25,#23> is-undetectable-and-branch)
0x351d9328a164 comment (;;; <@26,#27> -------------------- B4 (unreachable/replaced) --------------------)
0x351d9328a164 comment (;;; <@30,#20> -------------------- B5 (unreachable/replaced) --------------------)
0x351d9328a164 comment (;;; <@34,#16> -------------------- B6 (unreachable/replaced) --------------------)
0x351d9328a164 comment (;;; <@38,#14> -------------------- B7 (unreachable/replaced) --------------------)
0x351d9328a164 comment (;;; <@42,#24> -------------------- B8 (unreachable/replaced) --------------------)
0x351d9328a164 position (5489)
0x351d9328a164 comment (;;; <@46,#30> -------------------- B9 --------------------)
0x351d9328a164 comment (;;; <@49,#31> is-undetectable-and-branch)
0x351d9328a17b comment (;;; <@50,#35> -------------------- B10 (unreachable/replaced) --------------------)
0x351d9328a17b position (5525)
0x351d9328a17b comment (;;; <@54,#38> -------------------- B11 --------------------)
0x351d9328a17b comment (;;; <@56,#44> push-argument)
0x351d9328a17d embedded object (0x21ab18105f49 <JS Global Object>)
0x351d9328a187 comment (;;; <@58,#44> push-argument)
0x351d9328a193 comment (;;; <@60,#44> push-argument)
0x351d9328a195 embedded object (0x171412907481 <String[20]: Array.prototype.join>)
0x351d9328a19f comment (;;; <@62,#39> constant-t)
0x351d9328a1a1 embedded object (0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>)
0x351d9328a1a9 comment (;;; <@64,#47> load-named-field)
0x351d9328a1ad comment (;;; <@66,#39> constant-t)
0x351d9328a1af embedded object (0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>)
0x351d9328a1b7 comment (;;; <@68,#48> constant-i)
0x351d9328a1bc comment (;;; <@70,#46> constant-i)
0x351d9328a1c1 comment (;;; <@72,#50> call-with-descriptor)
0x351d9328a1c2 code target (BUILTIN) (0x351d93109f00)
0x351d9328a1c6 comment (;;; <@74,#51> lazy-bailout)
0x351d9328a1c6 comment (;;; <@76,#52> push-argument)
0x351d9328a1c6 position (5519)
0x351d9328a1c7 comment (;;; <@77,#52> gap)
0x351d9328a1cb comment (;;; <@78,#53> call-runtime)
0x351d9328a1e0 code target (STUB) (0x351d931095e0)
0x351d9328a1e4 comment (;;; <@80,#54> lazy-bailout)
0x351d9328a1e4 comment (;;; <@82,#32> -------------------- B12 (unreachable/replaced) --------------------)
0x351d9328a1e4 position (5575)
0x351d9328a1e4 comment (;;; <@86,#56> -------------------- B13 --------------------)
0x351d9328a1e4 comment (;;; <@88,#57> gap)
0x351d9328a1e8 comment (;;; <@89,#57> has-instance-type-and-branch)
0x351d9328a1ff comment (;;; <@90,#61> -------------------- B14 (unreachable/replaced) --------------------)
0x351d9328a1ff position (5611)
0x351d9328a1ff comment (;;; <@94,#64> -------------------- B15 --------------------)
0x351d9328a1ff comment (;;; <@96,#68> push-argument)
0x351d9328a201 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d9328a20b comment (;;; <@98,#68> push-argument)
0x351d9328a20c comment (;;; <@100,#65> constant-t)
0x351d9328a20e embedded object (0x1fffbdc9c531 <JS Function ToObject (SharedFunctionInfo 0x1fffbdc476a9)>)
0x351d9328a216 comment (;;; <@102,#70> call-js-function)
0x351d9328a21d comment (;;; <@104,#71> lazy-bailout)
0x351d9328a21d position (5574)
0x351d9328a21d comment (;;; <@107,#76> goto)
0x351d9328a222 comment (;;; <@108,#58> -------------------- B16 (unreachable/replaced) --------------------)
0x351d9328a222 comment (;;; <@112,#72> -------------------- B17 --------------------)
0x351d9328a222 comment (;;; <@114,#74> gap)
0x351d9328a226 position (5567)
0x351d9328a226 comment (;;; <@116,#78> -------------------- B18 --------------------)
0x351d9328a226 comment (;;; <@118,#81> check-non-smi)
0x351d9328a226 position (5637)
0x351d9328a22e comment (;;; <@120,#82> check-maps)
0x351d9328a230 embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d9328a240 embedded object (0x169082907281 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d9328a252 comment (;;; <@122,#83> load-named-field)
0x351d9328a255 comment (;;; <@124,#85> shift-i)
0x351d9328a255 position (5644)
0x351d9328a255 comment (;;; <@125,#85> gap)
0x351d9328a259 comment (;;; <@126,#88> load-context-slot)
0x351d9328a259 position (5658)
0x351d9328a260 comment (;;; <@128,#91> check-value)
0x351d9328a262 embedded object (0x1fffbdca6b99 <JS Function InnerArrayJoin (SharedFunctionInfo 0x1fffbdc54001)>)
0x351d9328a273 comment (;;; <@130,#100> number-tag-u)
0x351d9328a283 comment (;;; <@132,#92> push-argument)
0x351d9328a285 embedded object (0x1fffbdc041b9 <undefined>)
0x351d9328a28f comment (;;; <@133,#92> gap)
0x351d9328a293 comment (;;; <@134,#92> push-argument)
0x351d9328a294 comment (;;; <@136,#92> push-argument)
0x351d9328a295 comment (;;; <@138,#92> push-argument)
0x351d9328a296 comment (;;; <@140,#93> constant-t)
0x351d9328a298 embedded object (0x1fffbdca6b99 <JS Function InnerArrayJoin (SharedFunctionInfo 0x1fffbdc54001)>)
0x351d9328a2a0 comment (;;; <@142,#94> call-js-function)
0x351d9328a2a7 comment (;;; <@144,#95> lazy-bailout)
0x351d9328a2a7 comment (;;; <@146,#97> return)
0x351d9328a2a7 position (5651)
0x351d9328a2b4 position (5658)
0x351d9328a2b4 comment (;;; <@130,#100> -------------------- Deferred number-tag-u --------------------)
0x351d9328a315 code target (STUB) (0x351d931062a0)
0x351d9328a33f comment (;;; -------------------- Jump table --------------------)
0x351d9328a33f position (88064)
0x351d9328a33f deopt reason (Smi)
0x351d9328a340 runtime entry (deoptimization bailout 4)
0x351d9328a344 position (88064)
0x351d9328a344 deopt reason (wrong map)
0x351d9328a345 runtime entry (deoptimization bailout 5)
0x351d9328a349 position (98816)
0x351d9328a349 deopt reason (value mismatch)
0x351d9328a34a runtime entry (deoptimization bailout 6)
0x351d9328a350 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (PropertyDescriptor_HasValue) id{2,0} ---
(){
return this.hasValue_;
}
--- END ---
--- Raw source ---
(){
return this.hasValue_;
},
--- Optimized code ---
optimization_id = 2
source_position = 7817
kind = OPTIMIZED_FUNCTION
name = PropertyDescriptor_HasValue
stack_slots = 1
compiler = crankshaft
Instructions (size = 107)
0x351d9329a620 0 55 push rbp
0x351d9329a621 1 4889e5 REX.W movq rbp,rsp
0x351d9329a624 4 56 push rsi
0x351d9329a625 5 57 push rdi
0x351d9329a626 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d9329a62a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 7817
;;; <@3,#1> gap
0x351d9329a62e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@8,#8> -------------------- B1 --------------------
;;; <@9,#8> gap
0x351d9329a632 18 488bf0 REX.W movq rsi,rax
;;; <@10,#10> stack-check
0x351d9329a635 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d9329a63c 28 7305 jnc 35 (0x351d9329a643)
0x351d9329a63e 30 e89da8e9ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@12,#10> lazy-bailout
;;; <@13,#10> gap
0x351d9329a643 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@14,#14> check-non-smi
0x351d9329a647 39 a801 test al,0x1 ;; debug: position 7832
0x351d9329a649 41 0f841f000000 jz 78 (0x351d9329a66e)
;;; <@16,#15> check-maps
0x351d9329a64f 47 49bae12ea188a4140000 REX.W movq r10,0x14a488a12ee1 ;; object: 0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d9329a659 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d9329a65d 61 0f8510000000 jnz 83 (0x351d9329a673)
;;; <@18,#16> load-named-field
0x351d9329a663 67 488b401f REX.W movq rax,[rax+0x1f]
;;; <@20,#18> return
0x351d9329a667 71 488be5 REX.W movq rsp,rbp ;; debug: position 7821
0x351d9329a66a 74 5d pop rbp
0x351d9329a66b 75 c20800 ret 0x8
;;; -------------------- Jump table --------------------
0x351d9329a66e 78 e897b9b6ff call 0x351d92e0600a ;; debug: position 7680
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d9329a673 83 e89cb9b6ff call 0x351d92e06014 ;; debug: position 7680
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 3)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
Safepoints (size = 19)
0x351d9329a643 35 1 (sp -> fp) 0
RelocInfo (size = 184)
0x351d9329a62a position (7817)
0x351d9329a62a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d9329a62a comment (;;; <@2,#1> context)
0x351d9329a62e comment (;;; <@3,#1> gap)
0x351d9329a632 comment (;;; <@8,#8> -------------------- B1 --------------------)
0x351d9329a632 comment (;;; <@9,#8> gap)
0x351d9329a635 comment (;;; <@10,#10> stack-check)
0x351d9329a63f code target (BUILTIN) (0x351d93134ee0)
0x351d9329a643 comment (;;; <@12,#10> lazy-bailout)
0x351d9329a643 comment (;;; <@13,#10> gap)
0x351d9329a647 comment (;;; <@14,#14> check-non-smi)
0x351d9329a647 position (7832)
0x351d9329a64f comment (;;; <@16,#15> check-maps)
0x351d9329a651 embedded object (0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d9329a663 comment (;;; <@18,#16> load-named-field)
0x351d9329a667 comment (;;; <@20,#18> return)
0x351d9329a667 position (7821)
0x351d9329a66e comment (;;; -------------------- Jump table --------------------)
0x351d9329a66e position (7680)
0x351d9329a66e deopt reason (Smi)
0x351d9329a66f runtime entry (deoptimization bailout 1)
0x351d9329a673 position (7680)
0x351d9329a673 deopt reason (wrong map)
0x351d9329a674 runtime entry (deoptimization bailout 2)
0x351d9329a678 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (DoRegExpExec) id{3,0} ---
(j,k,l){
var m=%_RegExpExec(j,k,l,e);
if(m!==null)$regexpLastMatchInfoOverride=null;
return m;
}
--- END ---
--- Raw source ---
(j,k,l){
var m=%_RegExpExec(j,k,l,e);
if(m!==null)$regexpLastMatchInfoOverride=null;
return m;
}
--- Optimized code ---
optimization_id = 3
source_position = 1059
kind = OPTIMIZED_FUNCTION
name = DoRegExpExec
stack_slots = 1
compiler = crankshaft
Instructions (size = 150)
0x351d9329b800 0 55 push rbp
0x351d9329b801 1 4889e5 REX.W movq rbp,rsp
0x351d9329b804 4 56 push rsi
0x351d9329b805 5 57 push rdi
0x351d9329b806 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d9329b80a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 1059
;;; <@3,#1> gap
0x351d9329b80e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@14,#10> -------------------- B1 --------------------
;;; <@15,#10> gap
0x351d9329b812 18 488bf0 REX.W movq rsi,rax
;;; <@16,#12> stack-check
0x351d9329b815 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d9329b81c 28 7305 jnc 35 (0x351d9329b823)
0x351d9329b81e 30 e8bd96e9ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@18,#12> lazy-bailout
;;; <@19,#12> gap
0x351d9329b823 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@20,#14> load-context-slot
0x351d9329b827 39 488b5837 REX.W movq rbx,[rax+0x37] ;; debug: position 1093
;;; <@21,#14> gap
0x351d9329b82b 43 488b5520 REX.W movq rdx,[rbp+0x20]
;;; <@22,#15> push-argument
0x351d9329b82f 47 52 push rdx ;; debug: position 1074
;;; <@23,#15> gap
0x351d9329b830 48 488b4d18 REX.W movq rcx,[rbp+0x18]
;;; <@24,#15> push-argument
0x351d9329b834 52 51 push rcx
;;; <@25,#15> gap
0x351d9329b835 53 488b7d10 REX.W movq rdi,[rbp+0x10]
;;; <@26,#15> push-argument
0x351d9329b839 57 57 push rdi
;;; <@28,#15> push-argument
0x351d9329b83a 58 53 push rbx
;;; <@29,#15> gap
0x351d9329b83b 59 488bf0 REX.W movq rsi,rax
;;; <@30,#16> call-stub
0x351d9329b83e 62 e8dd04eaff call 0x351d9313bd20 ;; code: STUB, RegExpExecStub, minor: 0
;;; <@32,#17> lazy-bailout
;;; <@35,#21> cmp-object-eq-and-branch
0x351d9329b843 67 49ba0141c0bdff1f0000 REX.W movq r10,0x1fffbdc04101 ;; debug: position 1101
;; object: 0x1fffbdc04101 <null>
0x351d9329b84d 77 493bc2 REX.W cmpq rax,r10
0x351d9329b850 80 0f8418000000 jz 110 (0x351d9329b86e)
;;; <@36,#25> -------------------- B2 (unreachable/replaced) --------------------
;;; <@40,#28> -------------------- B3 --------------------
;;; <@42,#30> constant-t
0x351d9329b856 86 48bb5917cabdff1f0000 REX.W movq rbx,0x1fffbdca1759 ;; debug: position 1138
;; debug: position 1137
;; object: 0x1fffbdca1759 PropertyCell for 0x1fffbdc04101 <null> (data, dictionary_index: 300, attrs: [WE_])
;;; <@44,#31> store-named-field
0x351d9329b860 96 49ba0141c0bdff1f0000 REX.W movq r10,0x1fffbdc04101 ;; object: 0x1fffbdc04101 <null>
0x351d9329b86a 106 4c89530f REX.W movq [rbx+0xf],r10
;;; <@48,#22> -------------------- B4 (unreachable/replaced) --------------------
;;; <@52,#35> -------------------- B5 (unreachable/replaced) --------------------
;;; <@56,#38> -------------------- B6 --------------------
;;; <@58,#41> return
0x351d9329b86e 110 488be5 REX.W movq rsp,rbp ;; debug: position 1097
;; debug: position 1151
;; debug: position 1144
0x351d9329b871 113 5d pop rbp
0x351d9329b872 114 c22000 ret 0x20
0x351d9329b875 117 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 2)
index ast id argc pc
0 3 0 35
1 17 0 67
Safepoints (size = 30)
0x351d9329b823 35 1 (sp -> fp) 0
0x351d9329b843 67 1 (sp -> fp) 1
RelocInfo (size = 367)
0x351d9329b80a position (1059)
0x351d9329b80a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d9329b80a comment (;;; <@2,#1> context)
0x351d9329b80e comment (;;; <@3,#1> gap)
0x351d9329b812 comment (;;; <@14,#10> -------------------- B1 --------------------)
0x351d9329b812 comment (;;; <@15,#10> gap)
0x351d9329b815 comment (;;; <@16,#12> stack-check)
0x351d9329b81f code target (BUILTIN) (0x351d93134ee0)
0x351d9329b823 comment (;;; <@18,#12> lazy-bailout)
0x351d9329b823 comment (;;; <@19,#12> gap)
0x351d9329b827 comment (;;; <@20,#14> load-context-slot)
0x351d9329b827 position (1093)
0x351d9329b82b comment (;;; <@21,#14> gap)
0x351d9329b82f comment (;;; <@22,#15> push-argument)
0x351d9329b82f position (1074)
0x351d9329b830 comment (;;; <@23,#15> gap)
0x351d9329b834 comment (;;; <@24,#15> push-argument)
0x351d9329b835 comment (;;; <@25,#15> gap)
0x351d9329b839 comment (;;; <@26,#15> push-argument)
0x351d9329b83a comment (;;; <@28,#15> push-argument)
0x351d9329b83b comment (;;; <@29,#15> gap)
0x351d9329b83e comment (;;; <@30,#16> call-stub)
0x351d9329b83f code target (STUB) (0x351d9313bd20)
0x351d9329b843 comment (;;; <@32,#17> lazy-bailout)
0x351d9329b843 position (1101)
0x351d9329b843 comment (;;; <@35,#21> cmp-object-eq-and-branch)
0x351d9329b845 embedded object (0x1fffbdc04101 <null>)
0x351d9329b856 comment (;;; <@36,#25> -------------------- B2 (unreachable/replaced) --------------------)
0x351d9329b856 position (1138)
0x351d9329b856 comment (;;; <@40,#28> -------------------- B3 --------------------)
0x351d9329b856 comment (;;; <@42,#30> constant-t)
0x351d9329b856 position (1137)
0x351d9329b858 embedded object (0x1fffbdca1759 PropertyCell for 0x1fffbdc04101 <null> (data, dictionary_index: 300, attrs: [WE_]))
0x351d9329b860 comment (;;; <@44,#31> store-named-field)
0x351d9329b862 embedded object (0x1fffbdc04101 <null>)
0x351d9329b86e position (1097)
0x351d9329b86e comment (;;; <@48,#22> -------------------- B4 (unreachable/replaced) --------------------)
0x351d9329b86e comment (;;; <@52,#35> -------------------- B5 (unreachable/replaced) --------------------)
0x351d9329b86e position (1151)
0x351d9329b86e comment (;;; <@56,#38> -------------------- B6 --------------------)
0x351d9329b86e comment (;;; <@58,#41> return)
0x351d9329b86e position (1144)
0x351d9329b878 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (InnerArrayJoin) id{4,0} ---
(C,o,v){
if((C===(void 0))){
C=',';
}else if(!(typeof(C)==='string')){
C=$nonStringToString(C);
}
var N=%_FastOneByteArrayJoin(o,C);
if(!(N===(void 0)))return N;
if(v===1){
var u=o[0];
if((typeof(u)==='string'))return u;
if((u==null))return'';
return $nonStringToString(u);
}
return Join(o,v,C,ConvertToString);
}
--- END ---
--- FUNCTION SOURCE (posix.dirname) id{5,0} ---
(path) {
const result = posixSplitPath(path);
const root = result[0];
var dir = result[1];
if (!root && !dir) {
// No dirname whatsoever
return '.';
}
if (dir) {
// It has a dirname, strip trailing slash
dir = dir.substr(0, dir.length - 1);
}
return root + dir;
}
--- END ---
--- FUNCTION SOURCE (posixSplitPath) id{5,1} ---
(filename) {
const out = splitPathRe.exec(filename);
out.shift();
return out;
}
--- END ---
INLINE (posixSplitPath) id{5,1} AS 1 AT <0:26>
--- Raw source ---
(path) {
const result = posixSplitPath(path);
const root = result[0];
var dir = result[1];
if (!root && !dir) {
// No dirname whatsoever
return '.';
}
if (dir) {
// It has a dirname, strip trailing slash
dir = dir.substr(0, dir.length - 1);
}
return root + dir;
};
--- Optimized code ---
optimization_id = 5
source_position = 13327
kind = OPTIMIZED_FUNCTION
name = posix.dirname
stack_slots = 5
compiler = crankshaft
Instructions (size = 979)
0x351d932a6920 0 55 push rbp
0x351d932a6921 1 4889e5 REX.W movq rbp,rsp
0x351d932a6924 4 56 push rsi
0x351d932a6925 5 57 push rdi
0x351d932a6926 6 4883ec28 REX.W subq rsp,0x28
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932a692a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 13327
;;; <@3,#1> gap
0x351d932a692e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#9> -------------------- B1 --------------------
;;; <@11,#9> gap
0x351d932a6932 18 488bf0 REX.W movq rsi,rax
;;; <@12,#11> stack-check
0x351d932a6935 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932a693c 28 7305 jnc 35 (0x351d932a6943)
0x351d932a693e 30 e89de5e8ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#11> lazy-bailout
;;; <@15,#11> gap
0x351d932a6943 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@16,#12> load-context-slot
0x351d932a6947 39 488b988f000000 REX.W movq rbx,[rax+0x8f] ;; debug: position 13353
;;; <@17,#12> gap
0x351d932a694e 46 48895de0 REX.W movq [rbp-0x20],rbx
;;; <@18,#13> check-value
0x351d932a6952 50 49bad9b9f7aa75320000 REX.W movq r10,0x3275aaf7b9d9 ;; object: 0x3275aaf7b9d9 <JS Function posixSplitPath (SharedFunctionInfo 0x1714129112e9)>
0x351d932a695c 60 493bda REX.W cmpq rbx,r10
0x351d932a695f 63 0f85f3020000 jnz 824 (0x351d932a6c58)
;;; <@20,#14> constant-t
0x351d932a6965 69 48ba1137f5aa75320000 REX.W movq rdx,0x3275aaf53711 ;; debug: position 10726
;; object: 0x3275aaf53711 <FixedArray[17]>
;;; <@22,#18> load-context-slot
0x351d932a696f 79 488b527f REX.W movq rdx,[rdx+0x7f] ;; debug: position 10753
0x351d932a6973 83 493b55b0 REX.W cmpq rdx,[r13-0x50]
0x351d932a6977 87 0f84e0020000 jz 829 (0x351d932a6c5d)
;;; <@24,#19> check-non-smi
0x351d932a697d 93 f6c201 testb rdx,0x1 ;; debug: position 10765
0x351d932a6980 96 0f84dc020000 jz 834 (0x351d932a6c62)
;;; <@26,#20> check-maps
0x351d932a6986 102 49bab16d908290160000 REX.W movq r10,0x169082906db1 ;; object: 0x169082906db1 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x351d932a6990 112 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d932a6994 116 0f85cd020000 jnz 839 (0x351d932a6c67)
;;; <@28,#22> check-maps
;;; <@30,#25> push-argument
0x351d932a699a 122 52 push rdx
;;; <@31,#25> gap
0x351d932a699b 123 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@32,#25> push-argument
0x351d932a699f 127 52 push rdx
;;; <@34,#24> constant-t
0x351d932a69a0 128 48bf1156c9bdff1f0000 REX.W movq rdi,0x1fffbdc95611 ;; object: 0x1fffbdc95611 <JS Function exec (SharedFunctionInfo 0x1fffbdc4f909)>
;;; <@36,#26> call-js-function
0x351d932a69aa 138 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932a69ae 142 ff5717 call [rdi+0x17]
;;; <@37,#26> gap
0x351d932a69b1 145 488945d8 REX.W movq [rbp-0x28],rax
;;; <@38,#27> lazy-bailout
;;; <@40,#30> check-non-smi
0x351d932a69b5 149 a801 test al,0x1 ;; debug: position 10787
0x351d932a69b7 151 0f84af020000 jz 844 (0x351d932a6c6c)
;;; <@42,#31> check-maps
0x351d932a69bd 157 49bad99e908290160000 REX.W movq r10,0x169082909ed9 ;; object: 0x169082909ed9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932a69c7 167 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932a69cb 171 0f85a0020000 jnz 849 (0x351d932a6c71)
;;; <@44,#33> check-maps
;;; <@46,#38> check-maps
;;; <@48,#40> load-named-field
0x351d932a69d1 177 8b581b movl rbx,[rax+0x1b]
;;; <@51,#42> compare-numeric-and-branch
0x351d932a69d4 180 83fb00 cmpl rbx,0x0
0x351d932a69d7 183 0f84aa000000 jz 359 (0x351d932a6a87)
;;; <@52,#43> -------------------- B2 --------------------
;;; <@54,#44> load-named-field
0x351d932a69dd 189 488b500f REX.W movq rdx,[rax+0xf]
;;; <@57,#45> compare-numeric-and-branch
0x351d932a69e1 193 83fb10 cmpl rbx,0x10
0x351d932a69e4 196 0f8f14000000 jg 222 (0x351d932a69fe)
;;; <@58,#46> -------------------- B3 (unreachable/replaced) --------------------
;;; <@62,#50> -------------------- B4 --------------------
;;; <@65,#51> cmp-map-and-branch
0x351d932a69ea 202 49ba0942908290160000 REX.W movq r10,0x169082904209 ;; object: 0x169082904209 <Map(FAST_SMI_ELEMENTS)>
0x351d932a69f4 212 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d932a69f8 216 0f841d000000 jz 251 (0x351d932a6a1b)
;;; <@66,#48> -------------------- B5 (unreachable/replaced) --------------------
;;; <@70,#72> -------------------- B6 --------------------
;;; <@72,#73> push-argument
0x351d932a69fe 222 50 push rax
;;; <@74,#34> constant-t
0x351d932a69ff 223 48bff95ac9bdff1f0000 REX.W movq rdi,0x1fffbdc95af9 ;; object: 0x1fffbdc95af9 <JS Function shift (SharedFunctionInfo 0x1fffbdc80489)>
;;; <@76,#74> call-js-function
0x351d932a6a09 233 33c0 xorl rax,rax
0x351d932a6a0b 235 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932a6a0f 239 ff5717 call [rdi+0x17]
;;; <@78,#74> lazy-bailout
;;; <@80,#75> gap
0x351d932a6a12 242 488b45d8 REX.W movq rax,[rbp-0x28]
;;; <@81,#75> goto
0x351d932a6a16 246 e96c000000 jmp 359 (0x351d932a6a87)
;;; <@82,#53> -------------------- B7 --------------------
;;; <@84,#54> sub-i
0x351d932a6a1b 251 83eb01 subl rbx,0x1
;;; <@86,#60> gap
0x351d932a6a1e 254 33c0 xorl rax,rax
;;; <@88,#61> -------------------- B8 (loop header) --------------------
;;; <@91,#62> compare-numeric-and-branch
0x351d932a6a20 256 3bc3 cmpl rax,rbx
0x351d932a6a22 258 0f8d49000000 jge 337 (0x351d932a6a71)
;;; <@92,#63> -------------------- B9 --------------------
;;; <@94,#64> add-i
0x351d932a6a28 264 8d4801 leal rcx,[rax+0x1]
0x351d932a6a2b 267 4863c9 REX.W movsxlq rcx,rcx
;;; <@96,#65> load-keyed
0x351d932a6a2e 270 488b74c217 REX.W movq rsi,[rdx+rax*8+0x17]
;;; <@97,#65> gap
0x351d932a6a33 275 488bfa REX.W movq rdi,rdx
;;; <@98,#66> store-keyed
0x351d932a6a36 278 488974c70f REX.W movq [rdi+rax*8+0xf],rsi
0x351d932a6a3b 283 488d44c70f REX.W leaq rax,[rdi+rax*8+0xf]
0x351d932a6a40 288 40f6c601 testb rsi,0x1
0x351d932a6a44 292 0f8422000000 jz 332 (0x351d932a6a6c)
0x351d932a6a4a 298 4881e60000f0ff REX.W andq rsi,0xfffffffffff00000
0x351d932a6a51 305 f6460804 testb [rsi+0x8],0x4
0x351d932a6a55 309 7415 jz 332 (0x351d932a6a6c)
0x351d932a6a57 311 48c7c60000f0ff REX.W movq rsi,0xfff00000
0x351d932a6a5e 318 4823f7 REX.W andq rsi,rdi
0x351d932a6a61 321 f6460808 testb [rsi+0x8],0x8
0x351d932a6a65 325 7405 jz 332 (0x351d932a6a6c)
0x351d932a6a67 327 e854f0ffff call 0x351d932a5ac0 ;; code: STUB, RecordWriteStub, minor: 8295
;;; <@100,#68> gap
0x351d932a6a6c 332 488bc1 REX.W movq rax,rcx
;;; <@101,#68> goto
0x351d932a6a6f 335 ebaf jmp 256 (0x351d932a6a20)
;;; <@102,#69> -------------------- B10 --------------------
;;; <@104,#70> store-keyed
0x351d932a6a71 337 49ba7941c0bdff1f0000 REX.W movq r10,0x1fffbdc04179 ;; object: 0x1fffbdc04179 <the hole>
0x351d932a6a7b 347 4c8954da0f REX.W movq [rdx+rbx*8+0xf],r10
;;; <@105,#70> gap
0x351d932a6a80 352 488b45d8 REX.W movq rax,[rbp-0x28]
;;; <@106,#71> store-named-field
0x351d932a6a84 356 89581b movl [rax+0x1b],rbx
;;; <@110,#77> -------------------- B11 (unreachable/replaced) --------------------
;;; <@114,#79> -------------------- B12 (unreachable/replaced) --------------------
;;; <@118,#81> -------------------- B13 (unreachable/replaced) --------------------
;;; <@122,#87> -------------------- B14 --------------------
;;; <@124,#92> check-maps
;;; <@126,#93> load-named-field
0x351d932a6a87 359 488b580f REX.W movq rbx,[rax+0xf] ;; debug: position 13338
;; debug: position 13396
;;; <@128,#94> load-named-field
0x351d932a6a8b 363 8b501b movl rdx,[rax+0x1b]
;;; <@130,#95> bounds-check
0x351d932a6a8e 366 83fa00 cmpl rdx,0x0
0x351d932a6a91 369 0f86df010000 jna 854 (0x351d932a6c76)
;;; <@132,#104> bounds-check
0x351d932a6a97 375 83fa01 cmpl rdx,0x1 ;; debug: position 13419
0x351d932a6a9a 378 0f86db010000 jna 859 (0x351d932a6c7b)
;;; <@134,#96> load-keyed
0x351d932a6aa0 384 488b530f REX.W movq rdx,[rbx+0xf] ;; debug: position 13396
0x351d932a6aa4 388 493b55b0 REX.W cmpq rdx,[r13-0x50]
0x351d932a6aa8 392 0f84d2010000 jz 864 (0x351d932a6c80)
;;; <@135,#96> gap
0x351d932a6aae 398 488955d0 REX.W movq [rbp-0x30],rdx
;;; <@136,#105> load-keyed
0x351d932a6ab2 402 488b5b17 REX.W movq rbx,[rbx+0x17] ;; debug: position 13419
0x351d932a6ab6 406 493b5db0 REX.W cmpq rbx,[r13-0x50]
0x351d932a6aba 410 0f84c5010000 jz 869 (0x351d932a6c85)
;;; <@139,#108> branch
0x351d932a6ac0 416 f6c201 testb rdx,0x1 ;; debug: position 13432
0x351d932a6ac3 419 0f84c1010000 jz 874 (0x351d932a6c8a)
0x351d932a6ac9 425 4c8b52ff REX.W movq r10,[rdx-0x1]
0x351d932a6acd 429 41f6420c10 testb [r10+0xc],0x10
0x351d932a6ad2 434 0f851c000000 jnz 468 (0x351d932a6af4)
0x351d932a6ad8 440 41807a0b80 cmpb [r10+0xb],0x80
0x351d932a6add 445 7310 jnc 463 (0x351d932a6aef)
0x351d932a6adf 447 48837a0f00 REX.W cmpq [rdx+0xf],0x0
0x351d932a6ae4 452 0f85aa000000 jnz 628 (0x351d932a6b94)
0x351d932a6aea 458 e905000000 jmp 468 (0x351d932a6af4)
0x351d932a6aef 463 e88ef5b5ff call 0x351d92e06082 ;; debug: position 53760
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 13
;;; <@140,#112> -------------------- B15 (unreachable/replaced) --------------------
;;; <@144,#115> -------------------- B16 --------------------
;;; <@147,#117> branch
0x351d932a6af4 468 493b5da8 REX.W cmpq rbx,[r13-0x58] ;; debug: position 13441
0x351d932a6af8 472 0f8485000000 jz 611 (0x351d932a6b83)
0x351d932a6afe 478 493b5dc0 REX.W cmpq rbx,[r13-0x40]
0x351d932a6b02 482 0f848c000000 jz 628 (0x351d932a6b94)
0x351d932a6b08 488 493b5dc8 REX.W cmpq rbx,[r13-0x38]
0x351d932a6b0c 492 0f8471000000 jz 611 (0x351d932a6b83)
0x351d932a6b12 498 493b5db8 REX.W cmpq rbx,[r13-0x48]
0x351d932a6b16 502 0f8467000000 jz 611 (0x351d932a6b83)
0x351d932a6b1c 508 4885db REX.W testq rbx,rbx
0x351d932a6b1f 511 0f845e000000 jz 611 (0x351d932a6b83)
0x351d932a6b25 517 f6c301 testb rbx,0x1
0x351d932a6b28 520 0f8466000000 jz 628 (0x351d932a6b94)
0x351d932a6b2e 526 4c8b53ff REX.W movq r10,[rbx-0x1]
0x351d932a6b32 530 41f6420c10 testb [r10+0xc],0x10
0x351d932a6b37 535 0f8546000000 jnz 611 (0x351d932a6b83)
0x351d932a6b3d 541 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d932a6b42 546 0f834c000000 jnc 628 (0x351d932a6b94)
0x351d932a6b48 552 41807a0b80 cmpb [r10+0xb],0x80
0x351d932a6b4d 557 7310 jnc 575 (0x351d932a6b5f)
0x351d932a6b4f 559 48837b0f00 REX.W cmpq [rbx+0xf],0x0
0x351d932a6b54 564 0f853a000000 jnz 628 (0x351d932a6b94)
0x351d932a6b5a 570 e924000000 jmp 611 (0x351d932a6b83)
0x351d932a6b5f 575 41807a0b80 cmpb [r10+0xb],0x80
0x351d932a6b64 580 0f842a000000 jz 628 (0x351d932a6b94)
0x351d932a6b6a 586 4d3b5500 REX.W cmpq r10,[r13+0x0]
0x351d932a6b6e 590 7513 jnz 611 (0x351d932a6b83)
0x351d932a6b70 592 0f57c0 xorps xmm0,xmm0
0x351d932a6b73 595 660f2e4307 ucomisd xmm0,[rbx+0x7]
0x351d932a6b78 600 0f8405000000 jz 611 (0x351d932a6b83)
0x351d932a6b7e 606 e911000000 jmp 628 (0x351d932a6b94)
;;; <@148,#121> -------------------- B17 (unreachable/replaced) --------------------
;;; <@152,#124> -------------------- B18 --------------------
;;; <@154,#125> constant-t
0x351d932a6b83 611 48b81152c3bdff1f0000 REX.W movq rax,0x1fffbdc35211 ;; debug: position 13488
;; object: 0x1fffbdc35211 <String[1]: .>
;;; <@156,#127> return
0x351d932a6b8d 621 488be5 REX.W movq rsp,rbp ;; debug: position 13481
0x351d932a6b90 624 5d pop rbp
0x351d932a6b91 625 c21000 ret 0x10
;;; <@158,#118> -------------------- B19 (unreachable/replaced) --------------------
;;; <@162,#109> -------------------- B20 (unreachable/replaced) --------------------
;;; <@166,#128> -------------------- B21 --------------------
;;; <@169,#130> branch
0x351d932a6b94 628 f6c301 testb rbx,0x1 ;; debug: position 13504
0x351d932a6b97 631 0f84f2000000 jz 879 (0x351d932a6c8f)
0x351d932a6b9d 637 4c8b53ff REX.W movq r10,[rbx-0x1]
0x351d932a6ba1 641 41f6420c10 testb [r10+0xc],0x10
0x351d932a6ba6 646 0f8558000000 jnz 740 (0x351d932a6c04)
0x351d932a6bac 652 41807a0b80 cmpb [r10+0xb],0x80
0x351d932a6bb1 657 7310 jnc 675 (0x351d932a6bc3)
0x351d932a6bb3 659 48837b0f00 REX.W cmpq [rbx+0xf],0x0
0x351d932a6bb8 664 0f850a000000 jnz 680 (0x351d932a6bc8)
0x351d932a6bbe 670 e941000000 jmp 740 (0x351d932a6c04)
0x351d932a6bc3 675 e8c4f4b5ff call 0x351d92e0608c ;; debug: position 90624
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 14
;;; <@170,#134> -------------------- B22 (unreachable/replaced) --------------------
;;; <@174,#159> -------------------- B23 (unreachable/replaced) --------------------
;;; <@178,#131> -------------------- B24 (unreachable/replaced) --------------------
;;; <@182,#137> -------------------- B25 --------------------
;;; <@184,#139> check-non-smi
0x351d932a6bc8 680 f6c301 testb rbx,0x1 ;; debug: position 13567
;; debug: position 13571
0x351d932a6bcb 683 0f84c3000000 jz 884 (0x351d932a6c94)
;;; <@186,#140> check-instance-type
0x351d932a6bd1 689 4c8b53ff REX.W movq r10,[rbx-0x1]
0x351d932a6bd5 693 41f6420b80 testb [r10+0xb],0x80
0x351d932a6bda 698 0f85b9000000 jnz 889 (0x351d932a6c99)
;;; <@188,#142> check-maps
;;; <@190,#148> load-named-field
0x351d932a6be0 704 8b4b13 movl rcx,[rbx+0x13] ;; debug: position 13584
;;; <@192,#150> sub-i
0x351d932a6be3 707 83e901 subl rcx,0x1 ;; debug: position 13592
;;; <@194,#175> smi-tag
0x351d932a6be6 710 8bf1 movl rsi,rcx ;; debug: position 13571
0x351d932a6be8 712 48c1e620 REX.W shlq rsi, 32
;;; <@196,#153> push-argument
0x351d932a6bec 716 53 push rbx
;;; <@198,#153> push-argument
0x351d932a6bed 717 6a00 push 0x0
;;; <@200,#153> push-argument
0x351d932a6bef 719 56 push rsi
;;; <@202,#143> constant-t
0x351d932a6bf0 720 48bfa176c9bdff1f0000 REX.W movq rdi,0x1fffbdc976a1 ;; object: 0x1fffbdc976a1 <JS Function substr (SharedFunctionInfo 0x1fffbdc4cae1)>
;;; <@204,#154> call-js-function
0x351d932a6bfa 730 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932a6bfe 734 ff5717 call [rdi+0x17]
;;; <@206,#155> lazy-bailout
;;; <@208,#158> gap
0x351d932a6c01 737 488bd8 REX.W movq rbx,rax ;; debug: position 13500
;;; <@210,#163> -------------------- B26 --------------------
0x351d932a6c04 740 48895dc8 REX.W movq [rbp-0x38],rbx ;; debug: position 13612
;;; <@211,#163> gap
0x351d932a6c08 744 488b4dd0 REX.W movq rcx,[rbp-0x30]
;;; <@212,#166> check-non-smi
0x351d932a6c0c 748 f6c101 testb rcx,0x1 ;; debug: position 13617
0x351d932a6c0f 751 0f8489000000 jz 894 (0x351d932a6c9e)
;;; <@214,#167> check-instance-type
0x351d932a6c15 757 4c8b51ff REX.W movq r10,[rcx-0x1]
0x351d932a6c19 761 41f6420b80 testb [r10+0xb],0x80
0x351d932a6c1e 766 0f857f000000 jnz 899 (0x351d932a6ca3)
;;; <@216,#168> check-non-smi
0x351d932a6c24 772 f6c301 testb rbx,0x1
0x351d932a6c27 775 0f847b000000 jz 904 (0x351d932a6ca8)
;;; <@218,#169> check-instance-type
0x351d932a6c2d 781 4c8b53ff REX.W movq r10,[rbx-0x1]
0x351d932a6c31 785 41f6420b80 testb [r10+0xb],0x80
0x351d932a6c36 790 0f8571000000 jnz 909 (0x351d932a6cad)
;;; <@219,#169> gap
0x351d932a6c3c 796 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d932a6c40 800 488bd1 REX.W movq rdx,rcx
0x351d932a6c43 803 488bc3 REX.W movq rax,rbx
;;; <@220,#170> string-add
0x351d932a6c46 806 e8f5f8ffff call 0x351d932a6540 ;; code: STUB, StringAddStub, minor: 0
;;; <@222,#170> lazy-bailout
;;; <@224,#172> return
0x351d932a6c4b 811 488be5 REX.W movq rsp,rbp ;; debug: position 13605
0x351d932a6c4e 814 5d pop rbp
0x351d932a6c4f 815 c21000 ret 0x10
0x351d932a6c52 818 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x351d932a6c58 824 e8adf3b5ff call 0x351d92e0600a ;; debug: position 13312
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 1
0x351d932a6c5d 829 e8b2f3b5ff call 0x351d92e06014 ;; debug: position 13825
;; debug: deopt reason 'hole'
;; deoptimization bailout 2
0x351d932a6c62 834 e8b7f3b5ff call 0x351d92e0601e ;; debug: position 19969
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x351d932a6c67 839 e8bcf3b5ff call 0x351d92e06028 ;; debug: position 19969
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 4
0x351d932a6c6c 844 e8cbf3b5ff call 0x351d92e0603c ;; debug: position 31233
;; debug: deopt reason 'Smi'
;; deoptimization bailout 6
0x351d932a6c71 849 e8d0f3b5ff call 0x351d92e06046 ;; debug: position 31233
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 7
0x351d932a6c76 854 e8dff3b5ff call 0x351d92e0605a ;; debug: position 35328
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 9
0x351d932a6c7b 859 e8e4f3b5ff call 0x351d92e06064 ;; debug: position 47104
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 10
0x351d932a6c80 864 e8e9f3b5ff call 0x351d92e0606e ;; debug: position 35328
;; debug: deopt reason 'hole'
;; deoptimization bailout 11
0x351d932a6c85 869 e8eef3b5ff call 0x351d92e06078 ;; debug: position 47104
;; debug: deopt reason 'hole'
;; deoptimization bailout 12
0x351d932a6c8a 874 e8f3f3b5ff call 0x351d92e06082 ;; debug: position 53760
;; debug: deopt reason 'Smi'
;; deoptimization bailout 13
0x351d932a6c8f 879 e8f8f3b5ff call 0x351d92e0608c ;; debug: position 90624
;; debug: deopt reason 'Smi'
;; deoptimization bailout 14
0x351d932a6c94 884 e8fdf3b5ff call 0x351d92e06096 ;; debug: position 124928
;; debug: deopt reason 'Smi'
;; deoptimization bailout 15
0x351d932a6c99 889 e802f4b5ff call 0x351d92e060a0 ;; debug: position 124928
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 16
0x351d932a6c9e 894 e811f4b5ff call 0x351d92e060b4 ;; debug: position 148480
;; debug: deopt reason 'Smi'
;; deoptimization bailout 18
0x351d932a6ca3 899 e816f4b5ff call 0x351d92e060be ;; debug: position 148480
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 19
0x351d932a6ca8 904 e81bf4b5ff call 0x351d92e060c8 ;; debug: position 148480
;; debug: deopt reason 'Smi'
;; deoptimization bailout 20
0x351d932a6cad 909 e820f4b5ff call 0x351d92e060d2 ;; debug: position 148480
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 21
0x351d932a6cb2 914 6690 nop
;;; Safepoint table.
Inlined functions (count = 1)
0x1714129112e9 <SharedFunctionInfo posixSplitPath>
Deoptimization Input Data (deopt points = 23)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 2 0 -1
3 2 0 -1
4 2 0 -1
5 17 0 149
6 17 0 -1
7 17 0 -1
8 17 0 242
9 23 0 -1
10 23 0 -1
11 23 0 -1
12 23 0 -1
13 23 0 -1
14 74 0 -1
15 100 0 -1
16 100 0 -1
17 115 0 737
18 99 0 -1
19 99 0 -1
20 99 0 -1
21 99 0 -1
22 99 0 811
Safepoints (size = 63)
0x351d932a6943 35 00001 (sp -> fp) 0
0x351d932a69b1 145 00011 (sp -> fp) 5
0x351d932a6a12 242 00111 (sp -> fp) 8
0x351d932a6c01 737 01101 (sp -> fp) 17
0x351d932a6c4b 811 11101 (sp -> fp) 22
RelocInfo (size = 1532)
0x351d932a692a position (13327)
0x351d932a692a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932a692a comment (;;; <@2,#1> context)
0x351d932a692e comment (;;; <@3,#1> gap)
0x351d932a6932 comment (;;; <@10,#9> -------------------- B1 --------------------)
0x351d932a6932 comment (;;; <@11,#9> gap)
0x351d932a6935 comment (;;; <@12,#11> stack-check)
0x351d932a693f code target (BUILTIN) (0x351d93134ee0)
0x351d932a6943 comment (;;; <@14,#11> lazy-bailout)
0x351d932a6943 comment (;;; <@15,#11> gap)
0x351d932a6947 comment (;;; <@16,#12> load-context-slot)
0x351d932a6947 position (13353)
0x351d932a694e comment (;;; <@17,#12> gap)
0x351d932a6952 comment (;;; <@18,#13> check-value)
0x351d932a6954 embedded object (0x3275aaf7b9d9 <JS Function posixSplitPath (SharedFunctionInfo 0x1714129112e9)>)
0x351d932a6965 comment (;;; <@20,#14> constant-t)
0x351d932a6965 position (10726)
0x351d932a6967 embedded object (0x3275aaf53711 <FixedArray[17]>)
0x351d932a696f comment (;;; <@22,#18> load-context-slot)
0x351d932a696f position (10753)
0x351d932a697d comment (;;; <@24,#19> check-non-smi)
0x351d932a697d position (10765)
0x351d932a6986 comment (;;; <@26,#20> check-maps)
0x351d932a6988 embedded object (0x169082906db1 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x351d932a699a comment (;;; <@28,#22> check-maps)
0x351d932a699a comment (;;; <@30,#25> push-argument)
0x351d932a699b comment (;;; <@31,#25> gap)
0x351d932a699f comment (;;; <@32,#25> push-argument)
0x351d932a69a0 comment (;;; <@34,#24> constant-t)
0x351d932a69a2 embedded object (0x1fffbdc95611 <JS Function exec (SharedFunctionInfo 0x1fffbdc4f909)>)
0x351d932a69aa comment (;;; <@36,#26> call-js-function)
0x351d932a69b1 comment (;;; <@37,#26> gap)
0x351d932a69b5 comment (;;; <@38,#27> lazy-bailout)
0x351d932a69b5 comment (;;; <@40,#30> check-non-smi)
0x351d932a69b5 position (10787)
0x351d932a69bd comment (;;; <@42,#31> check-maps)
0x351d932a69bf embedded object (0x169082909ed9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932a69d1 comment (;;; <@44,#33> check-maps)
0x351d932a69d1 comment (;;; <@46,#38> check-maps)
0x351d932a69d1 comment (;;; <@48,#40> load-named-field)
0x351d932a69d4 comment (;;; <@51,#42> compare-numeric-and-branch)
0x351d932a69dd comment (;;; <@52,#43> -------------------- B2 --------------------)
0x351d932a69dd comment (;;; <@54,#44> load-named-field)
0x351d932a69e1 comment (;;; <@57,#45> compare-numeric-and-branch)
0x351d932a69ea comment (;;; <@58,#46> -------------------- B3 (unreachable/replaced) --------------------)
0x351d932a69ea comment (;;; <@62,#50> -------------------- B4 --------------------)
0x351d932a69ea comment (;;; <@65,#51> cmp-map-and-branch)
0x351d932a69ec embedded object (0x169082904209 <Map(FAST_SMI_ELEMENTS)>)
0x351d932a69fe comment (;;; <@66,#48> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932a69fe comment (;;; <@70,#72> -------------------- B6 --------------------)
0x351d932a69fe comment (;;; <@72,#73> push-argument)
0x351d932a69ff comment (;;; <@74,#34> constant-t)
0x351d932a6a01 embedded object (0x1fffbdc95af9 <JS Function shift (SharedFunctionInfo 0x1fffbdc80489)>)
0x351d932a6a09 comment (;;; <@76,#74> call-js-function)
0x351d932a6a12 comment (;;; <@78,#74> lazy-bailout)
0x351d932a6a12 comment (;;; <@80,#75> gap)
0x351d932a6a16 comment (;;; <@81,#75> goto)
0x351d932a6a1b comment (;;; <@82,#53> -------------------- B7 --------------------)
0x351d932a6a1b comment (;;; <@84,#54> sub-i)
0x351d932a6a1e comment (;;; <@86,#60> gap)
0x351d932a6a20 comment (;;; <@88,#61> -------------------- B8 (loop header) --------------------)
0x351d932a6a20 comment (;;; <@91,#62> compare-numeric-and-branch)
0x351d932a6a28 comment (;;; <@92,#63> -------------------- B9 --------------------)
0x351d932a6a28 comment (;;; <@94,#64> add-i)
0x351d932a6a2e comment (;;; <@96,#65> load-keyed)
0x351d932a6a33 comment (;;; <@97,#65> gap)
0x351d932a6a36 comment (;;; <@98,#66> store-keyed)
0x351d932a6a68 code target (STUB) (0x351d932a5ac0)
0x351d932a6a6c comment (;;; <@100,#68> gap)
0x351d932a6a6f comment (;;; <@101,#68> goto)
0x351d932a6a71 comment (;;; <@102,#69> -------------------- B10 --------------------)
0x351d932a6a71 comment (;;; <@104,#70> store-keyed)
0x351d932a6a73 embedded object (0x1fffbdc04179 <the hole>)
0x351d932a6a80 comment (;;; <@105,#70> gap)
0x351d932a6a84 comment (;;; <@106,#71> store-named-field)
0x351d932a6a87 comment (;;; <@110,#77> -------------------- B11 (unreachable/replaced) --------------------)
0x351d932a6a87 comment (;;; <@114,#79> -------------------- B12 (unreachable/replaced) --------------------)
0x351d932a6a87 comment (;;; <@118,#81> -------------------- B13 (unreachable/replaced) --------------------)
0x351d932a6a87 position (13338)
0x351d932a6a87 comment (;;; <@122,#87> -------------------- B14 --------------------)
0x351d932a6a87 comment (;;; <@124,#92> check-maps)
0x351d932a6a87 position (13396)
0x351d932a6a87 comment (;;; <@126,#93> load-named-field)
0x351d932a6a8b comment (;;; <@128,#94> load-named-field)
0x351d932a6a8e comment (;;; <@130,#95> bounds-check)
0x351d932a6a97 comment (;;; <@132,#104> bounds-check)
0x351d932a6a97 position (13419)
0x351d932a6aa0 comment (;;; <@134,#96> load-keyed)
0x351d932a6aa0 position (13396)
0x351d932a6aae comment (;;; <@135,#96> gap)
0x351d932a6ab2 comment (;;; <@136,#105> load-keyed)
0x351d932a6ab2 position (13419)
0x351d932a6ac0 position (13432)
0x351d932a6ac0 comment (;;; <@139,#108> branch)
0x351d932a6aef position (53760)
0x351d932a6aef deopt reason (unexpected object)
0x351d932a6af0 runtime entry (deoptimization bailout 13)
0x351d932a6af4 comment (;;; <@140,#112> -------------------- B15 (unreachable/replaced) --------------------)
0x351d932a6af4 position (13441)
0x351d932a6af4 comment (;;; <@144,#115> -------------------- B16 --------------------)
0x351d932a6af4 comment (;;; <@147,#117> branch)
0x351d932a6b83 comment (;;; <@148,#121> -------------------- B17 (unreachable/replaced) --------------------)
0x351d932a6b83 position (13488)
0x351d932a6b83 comment (;;; <@152,#124> -------------------- B18 --------------------)
0x351d932a6b83 comment (;;; <@154,#125> constant-t)
0x351d932a6b85 embedded object (0x1fffbdc35211 <String[1]: .>)
0x351d932a6b8d comment (;;; <@156,#127> return)
0x351d932a6b8d position (13481)
0x351d932a6b94 comment (;;; <@158,#118> -------------------- B19 (unreachable/replaced) --------------------)
0x351d932a6b94 comment (;;; <@162,#109> -------------------- B20 (unreachable/replaced) --------------------)
0x351d932a6b94 position (13504)
0x351d932a6b94 comment (;;; <@166,#128> -------------------- B21 --------------------)
0x351d932a6b94 comment (;;; <@169,#130> branch)
0x351d932a6bc3 position (90624)
0x351d932a6bc3 deopt reason (unexpected object)
0x351d932a6bc4 runtime entry (deoptimization bailout 14)
0x351d932a6bc8 comment (;;; <@170,#134> -------------------- B22 (unreachable/replaced) --------------------)
0x351d932a6bc8 comment (;;; <@174,#159> -------------------- B23 (unreachable/replaced) --------------------)
0x351d932a6bc8 comment (;;; <@178,#131> -------------------- B24 (unreachable/replaced) --------------------)
0x351d932a6bc8 position (13567)
0x351d932a6bc8 comment (;;; <@182,#137> -------------------- B25 --------------------)
0x351d932a6bc8 comment (;;; <@184,#139> check-non-smi)
0x351d932a6bc8 position (13571)
0x351d932a6bd1 comment (;;; <@186,#140> check-instance-type)
0x351d932a6be0 comment (;;; <@188,#142> check-maps)
0x351d932a6be0 comment (;;; <@190,#148> load-named-field)
0x351d932a6be0 position (13584)
0x351d932a6be3 comment (;;; <@192,#150> sub-i)
0x351d932a6be3 position (13592)
0x351d932a6be6 comment (;;; <@194,#175> smi-tag)
0x351d932a6be6 position (13571)
0x351d932a6bec comment (;;; <@196,#153> push-argument)
0x351d932a6bed comment (;;; <@198,#153> push-argument)
0x351d932a6bef comment (;;; <@200,#153> push-argument)
0x351d932a6bf0 comment (;;; <@202,#143> constant-t)
0x351d932a6bf2 embedded object (0x1fffbdc976a1 <JS Function substr (SharedFunctionInfo 0x1fffbdc4cae1)>)
0x351d932a6bfa comment (;;; <@204,#154> call-js-function)
0x351d932a6c01 comment (;;; <@206,#155> lazy-bailout)
0x351d932a6c01 comment (;;; <@208,#158> gap)
0x351d932a6c01 position (13500)
0x351d932a6c04 position (13612)
0x351d932a6c04 comment (;;; <@210,#163> -------------------- B26 --------------------)
0x351d932a6c08 comment (;;; <@211,#163> gap)
0x351d932a6c0c comment (;;; <@212,#166> check-non-smi)
0x351d932a6c0c position (13617)
0x351d932a6c15 comment (;;; <@214,#167> check-instance-type)
0x351d932a6c24 comment (;;; <@216,#168> check-non-smi)
0x351d932a6c2d comment (;;; <@218,#169> check-instance-type)
0x351d932a6c3c comment (;;; <@219,#169> gap)
0x351d932a6c46 comment (;;; <@220,#170> string-add)
0x351d932a6c47 code target (STUB) (0x351d932a6540)
0x351d932a6c4b comment (;;; <@222,#170> lazy-bailout)
0x351d932a6c4b comment (;;; <@224,#172> return)
0x351d932a6c4b position (13605)
0x351d932a6c58 comment (;;; -------------------- Jump table --------------------)
0x351d932a6c58 position (13312)
0x351d932a6c58 deopt reason (value mismatch)
0x351d932a6c59 runtime entry (deoptimization bailout 1)
0x351d932a6c5d position (13825)
0x351d932a6c5d deopt reason (hole)
0x351d932a6c5e runtime entry (deoptimization bailout 2)
0x351d932a6c62 position (19969)
0x351d932a6c62 deopt reason (Smi)
0x351d932a6c63 runtime entry (deoptimization bailout 3)
0x351d932a6c67 position (19969)
0x351d932a6c67 deopt reason (wrong map)
0x351d932a6c68 runtime entry (deoptimization bailout 4)
0x351d932a6c6c position (31233)
0x351d932a6c6c deopt reason (Smi)
0x351d932a6c6d runtime entry (deoptimization bailout 6)
0x351d932a6c71 position (31233)
0x351d932a6c71 deopt reason (wrong map)
0x351d932a6c72 runtime entry (deoptimization bailout 7)
0x351d932a6c76 position (35328)
0x351d932a6c76 deopt reason (out of bounds)
0x351d932a6c77 runtime entry (deoptimization bailout 9)
0x351d932a6c7b position (47104)
0x351d932a6c7b deopt reason (out of bounds)
0x351d932a6c7c runtime entry (deoptimization bailout 10)
0x351d932a6c80 position (35328)
0x351d932a6c80 deopt reason (hole)
0x351d932a6c81 runtime entry (deoptimization bailout 11)
0x351d932a6c85 position (47104)
0x351d932a6c85 deopt reason (hole)
0x351d932a6c86 runtime entry (deoptimization bailout 12)
0x351d932a6c8a position (53760)
0x351d932a6c8a deopt reason (Smi)
0x351d932a6c8b runtime entry (deoptimization bailout 13)
0x351d932a6c8f position (90624)
0x351d932a6c8f deopt reason (Smi)
0x351d932a6c90 runtime entry (deoptimization bailout 14)
0x351d932a6c94 position (124928)
0x351d932a6c94 deopt reason (Smi)
0x351d932a6c95 runtime entry (deoptimization bailout 15)
0x351d932a6c99 position (124928)
0x351d932a6c99 deopt reason (wrong instance type)
0x351d932a6c9a runtime entry (deoptimization bailout 16)
0x351d932a6c9e position (148480)
0x351d932a6c9e deopt reason (Smi)
0x351d932a6c9f runtime entry (deoptimization bailout 18)
0x351d932a6ca3 position (148480)
0x351d932a6ca3 deopt reason (wrong instance type)
0x351d932a6ca4 runtime entry (deoptimization bailout 19)
0x351d932a6ca8 position (148480)
0x351d932a6ca8 deopt reason (Smi)
0x351d932a6ca9 runtime entry (deoptimization bailout 20)
0x351d932a6cad position (148480)
0x351d932a6cad deopt reason (wrong instance type)
0x351d932a6cae runtime entry (deoptimization bailout 21)
0x351d932a6cb4 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (NativeModule.nonInternalExists) id{6,0} ---
(id) {
return NativeModule.exists(id) && !NativeModule.isInternal(id);
}
--- END ---
--- FUNCTION SOURCE (NativeModule.exists) id{6,1} ---
(id) {
return NativeModule._source.hasOwnProperty(id);
}
--- END ---
INLINE (NativeModule.exists) id{6,1} AS 1 AT <0:33>
--- FUNCTION SOURCE (NativeModule.isInternal) id{6,2} ---
(id) {
return id.startsWith('internal/');
}
--- END ---
INLINE (NativeModule.isInternal) id{6,2} AS 2 AT <0:61>
--- Raw source ---
(id) {
return NativeModule.exists(id) && !NativeModule.isInternal(id);
};
--- Optimized code ---
optimization_id = 6
source_position = 27822
kind = OPTIMIZED_FUNCTION
name = NativeModule.nonInternalExists
stack_slots = 4
compiler = crankshaft
Instructions (size = 596)
0x351d932a8600 0 55 push rbp
0x351d932a8601 1 4889e5 REX.W movq rbp,rsp
0x351d932a8604 4 56 push rsi
0x351d932a8605 5 57 push rdi
0x351d932a8606 6 4883ec20 REX.W subq rsp,0x20
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932a860a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 27822
;;; <@3,#1> gap
0x351d932a860e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932a8612 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932a8615 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932a861c 28 7305 jnc 35 (0x351d932a8623)
0x351d932a861e 30 e8bdc8e8ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@15,#10> gap
0x351d932a8623 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@16,#11> load-context-slot
0x351d932a8627 39 488b5877 REX.W movq rbx,[rax+0x77] ;; debug: position 27842
;;; <@17,#11> gap
0x351d932a862b 43 48895de0 REX.W movq [rbp-0x20],rbx
;;; <@18,#12> check-non-smi
0x351d932a862f 47 f6c301 testb rbx,0x1 ;; debug: position 27855
0x351d932a8632 50 0f84be010000 jz 502 (0x351d932a87f6)
;;; <@20,#13> check-maps
0x351d932a8638 56 49ba69fe908290160000 REX.W movq r10,0x16908290fe69 ;; object: 0x16908290fe69 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932a8642 66 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932a8646 70 0f85af010000 jnz 507 (0x351d932a87fb)
;;; <@22,#16> constant-t
0x351d932a864c 76 48be115d1018ab210000 REX.W movq rsi,0x21ab18105d11 ;; debug: position 27423
;; object: 0x21ab18105d11 <FixedArray[14]>
;;; <@24,#20> load-context-slot
0x351d932a8656 86 488b5677 REX.W movq rdx,[rsi+0x77] ;; debug: position 27441
;;; <@26,#21> check-non-smi
0x351d932a865a 90 f6c201 testb rdx,0x1 ;; debug: position 27453
0x351d932a865d 93 0f849d010000 jz 512 (0x351d932a8800)
;;; <@28,#22> check-maps
0x351d932a8663 99 49ba69fe908290160000 REX.W movq r10,0x16908290fe69 ;; object: 0x16908290fe69 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932a866d 109 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d932a8671 113 0f858e010000 jnz 517 (0x351d932a8805)
;;; <@30,#23> load-named-field
0x351d932a8677 119 488b4a07 REX.W movq rcx,[rdx+0x7]
0x351d932a867b 123 488b490f REX.W movq rcx,[rcx+0xf]
;;; <@31,#23> gap
0x351d932a867f 127 48894dd8 REX.W movq [rbp-0x28],rcx
;;; <@32,#16> constant-t
0x351d932a8683 131 48be115d1018ab210000 REX.W movq rsi,0x21ab18105d11 ;; debug: position 27423
;; object: 0x21ab18105d11 <FixedArray[14]>
;;; <@33,#16> gap
0x351d932a868d 141 488bd1 REX.W movq rdx,rcx
;;; <@34,#24> load-named-generic
0x351d932a8690 144 48b9016fc3bdff1f0000 REX.W movq rcx,0x1fffbdc36f01 ;; debug: position 27462
;; object: 0x1fffbdc36f01 <String[14]: hasOwnProperty>
0x351d932a869a 154 48bb716accbdff1f0000 REX.W movq rbx,0x1fffbdcc6a71 ;; object: 0x1fffbdcc6a71 <FixedArray[10]>
0x351d932a86a4 164 48b80000000006000000 REX.W movq rax,0x600000000
0x351d932a86ae 174 e8edfbffff call 0x351d932a82a0 ;; code: LOAD_IC, DEFAULT
;;; <@36,#25> lazy-bailout
;;; <@38,#26> push-argument
0x351d932a86b3 179 ff75d8 push [rbp-0x28]
;;; <@39,#26> gap
0x351d932a86b6 182 488b5d10 REX.W movq rbx,[rbp+0x10]
;;; <@40,#26> push-argument
0x351d932a86ba 186 53 push rbx
;;; <@42,#16> constant-t
0x351d932a86bb 187 48be115d1018ab210000 REX.W movq rsi,0x21ab18105d11 ;; debug: position 27423
;; object: 0x21ab18105d11 <FixedArray[14]>
;;; <@43,#16> gap
0x351d932a86c5 197 488bf8 REX.W movq rdi,rax
;;; <@44,#27> call-function
0x351d932a86c8 200 e8d3fdffff call 0x351d932a84a0 ;; debug: position 27462
;; code: STUB, CallFunctionStub, argc = 1
;;; <@46,#28> lazy-bailout
;;; <@50,#32> -------------------- B2 --------------------
;;; <@53,#33> branch
0x351d932a86cd 205 493b45c0 REX.W cmpq rax,[r13-0x40] ;; debug: position 27866
0x351d932a86d1 209 0f840f000000 jz 230 (0x351d932a86e6)
0x351d932a86d7 215 493b45c8 REX.W cmpq rax,[r13-0x38]
0x351d932a86db 219 0f840e010000 jz 495 (0x351d932a87ef)
0x351d932a86e1 225 e860d9b5ff call 0x351d92e06046 ;; debug: position 22528
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 7
;;; <@54,#77> -------------------- B3 (unreachable/replaced) --------------------
;;; <@58,#34> -------------------- B4 --------------------
;;; <@59,#34> gap
0x351d932a86e6 230 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 27870
;;; <@60,#35> load-context-slot
0x351d932a86ea 234 488b5377 REX.W movq rdx,[rbx+0x77]
;;; <@61,#35> gap
0x351d932a86ee 238 488955d0 REX.W movq [rbp-0x30],rdx
;;; <@62,#36> check-non-smi
0x351d932a86f2 242 f6c201 testb rdx,0x1 ;; debug: position 27883
0x351d932a86f5 245 0f840f010000 jz 522 (0x351d932a880a)
;;; <@64,#37> check-maps
0x351d932a86fb 251 49ba69fe908290160000 REX.W movq r10,0x16908290fe69 ;; object: 0x16908290fe69 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932a8705 261 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d932a8709 265 0f8500010000 jnz 527 (0x351d932a880f)
;;; <@65,#37> gap
0x351d932a870f 271 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@66,#43> check-non-smi
0x351d932a8713 275 a801 test al,0x1 ;; debug: position 27968
0x351d932a8715 277 0f84f9000000 jz 532 (0x351d932a8814)
;;; <@68,#44> check-instance-type
0x351d932a871b 283 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d932a871f 287 41f6420b80 testb [r10+0xb],0x80
0x351d932a8724 292 0f85ef000000 jnz 537 (0x351d932a8819)
;;; <@70,#46> check-maps
;;; <@72,#50> push-argument
0x351d932a872a 298 50 push rax
;;; <@74,#50> push-argument
0x351d932a872b 299 49ba41f1cbbdff1f0000 REX.W movq r10,0x1fffbdcbf141 ;; object: 0x1fffbdcbf141 <String[9]: internal/>
0x351d932a8735 309 4152 push r10
;;; <@76,#49> constant-t
0x351d932a8737 311 48bf097fc9bdff1f0000 REX.W movq rdi,0x1fffbdc97f09 ;; object: 0x1fffbdc97f09 <JS Function startsWith (SharedFunctionInfo 0x1fffbdc4dd39)>
;;; <@78,#51> call-js-function
0x351d932a8741 321 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932a8745 325 ff5717 call [rdi+0x17]
;;; <@80,#52> lazy-bailout
;;; <@83,#53> branch
0x351d932a8748 328 493b45a8 REX.W cmpq rax,[r13-0x58]
0x351d932a874c 332 0f8484000000 jz 470 (0x351d932a87d6)
0x351d932a8752 338 493b45c0 REX.W cmpq rax,[r13-0x40]
0x351d932a8756 342 0f8489000000 jz 485 (0x351d932a87e5)
0x351d932a875c 348 493b45c8 REX.W cmpq rax,[r13-0x38]
0x351d932a8760 352 0f8470000000 jz 470 (0x351d932a87d6)
0x351d932a8766 358 493b45b8 REX.W cmpq rax,[r13-0x48]
0x351d932a876a 362 0f8466000000 jz 470 (0x351d932a87d6)
0x351d932a8770 368 4885c0 REX.W testq rax,rax
0x351d932a8773 371 0f845d000000 jz 470 (0x351d932a87d6)
0x351d932a8779 377 a801 test al,0x1
0x351d932a877b 379 0f8464000000 jz 485 (0x351d932a87e5)
0x351d932a8781 385 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d932a8785 389 41f6420c10 testb [r10+0xc],0x10
0x351d932a878a 394 0f8546000000 jnz 470 (0x351d932a87d6)
0x351d932a8790 400 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d932a8795 405 0f834a000000 jnc 485 (0x351d932a87e5)
0x351d932a879b 411 41807a0b80 cmpb [r10+0xb],0x80
0x351d932a87a0 416 7310 jnc 434 (0x351d932a87b2)
0x351d932a87a2 418 4883780f00 REX.W cmpq [rax+0xf],0x0
0x351d932a87a7 423 0f8538000000 jnz 485 (0x351d932a87e5)
0x351d932a87ad 429 e924000000 jmp 470 (0x351d932a87d6)
0x351d932a87b2 434 41807a0b80 cmpb [r10+0xb],0x80
0x351d932a87b7 439 0f8428000000 jz 485 (0x351d932a87e5)
0x351d932a87bd 445 4d3b5500 REX.W cmpq r10,[r13+0x0]
0x351d932a87c1 449 7513 jnz 470 (0x351d932a87d6)
0x351d932a87c3 451 0f57c0 xorps xmm0,xmm0
0x351d932a87c6 454 660f2e4007 ucomisd xmm0,[rax+0x7]
0x351d932a87cb 459 0f8405000000 jz 470 (0x351d932a87d6)
0x351d932a87d1 465 e90f000000 jmp 485 (0x351d932a87e5)
;;; <@84,#58> -------------------- B5 (unreachable/replaced) --------------------
;;; <@88,#65> -------------------- B6 (unreachable/replaced) --------------------
;;; <@92,#73> -------------------- B7 --------------------
;;; <@94,#75> gap
0x351d932a87d6 470 48b81142c0bdff1f0000 REX.W movq rax,0x1fffbdc04211 ;; debug: position 27869
;; object: 0x1fffbdc04211 <true>
;;; <@95,#75> goto
0x351d932a87e0 480 e90a000000 jmp 495 (0x351d932a87ef)
;;; <@96,#54> -------------------- B8 (unreachable/replaced) --------------------
;;; <@100,#62> -------------------- B9 (unreachable/replaced) --------------------
;;; <@104,#70> -------------------- B10 --------------------
;;; <@106,#72> gap
0x351d932a87e5 485 48b85142c0bdff1f0000 REX.W movq rax,0x1fffbdc04251 ;; object: 0x1fffbdc04251 <false>
;;; <@108,#80> -------------------- B11 (unreachable/replaced) --------------------
;;; <@112,#84> -------------------- B12 --------------------
;;; <@114,#86> return
0x351d932a87ef 495 488be5 REX.W movq rsp,rbp ;; debug: position 27835
0x351d932a87f2 498 5d pop rbp
0x351d932a87f3 499 c21000 ret 0x10
;;; -------------------- Jump table --------------------
0x351d932a87f6 502 e80fd8b5ff call 0x351d92e0600a ;; debug: position 16896
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932a87fb 507 e814d8b5ff call 0x351d92e06014 ;; debug: position 16896
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x351d932a8800 512 e819d8b5ff call 0x351d92e0601e ;; debug: position 15361
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x351d932a8805 517 e81ed8b5ff call 0x351d92e06028 ;; debug: position 15361
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 4
0x351d932a880a 522 e841d8b5ff call 0x351d92e06050 ;; debug: position 31232
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x351d932a880f 527 e846d8b5ff call 0x351d92e0605a ;; debug: position 31232
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 9
0x351d932a8814 532 e84bd8b5ff call 0x351d92e06064 ;; debug: position 11778
;; debug: deopt reason 'Smi'
;; deoptimization bailout 10
0x351d932a8819 537 e850d8b5ff call 0x351d92e0606e ;; debug: position 11778
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 11
0x351d932a881e 542 6690 nop
;;; Safepoint table.
Inlined functions (count = 2)
0x1fffbdcc0419 <SharedFunctionInfo NativeModule.exists>
0x1fffbdcc06b9 <SharedFunctionInfo NativeModule.isInternal>
Deoptimization Input Data (deopt points = 13)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 2 0 -1
4 2 0 -1
5 11 0 179
6 4 0 205
7 8 0 -1
8 8 0 -1
9 8 0 -1
10 2 0 -1
11 2 0 -1
12 4 0 328
Safepoints (size = 52)
0x351d932a8623 35 0001 (sp -> fp) 0
0x351d932a86b3 179 0111 (sp -> fp) 5
0x351d932a86cd 205 0011 (sp -> fp) 6
0x351d932a8748 328 1001 (sp -> fp) 12
RelocInfo (size = 860)
0x351d932a860a position (27822)
0x351d932a860a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932a860a comment (;;; <@2,#1> context)
0x351d932a860e comment (;;; <@3,#1> gap)
0x351d932a8612 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932a8612 comment (;;; <@11,#8> gap)
0x351d932a8615 comment (;;; <@12,#10> stack-check)
0x351d932a861f code target (BUILTIN) (0x351d93134ee0)
0x351d932a8623 comment (;;; <@14,#10> lazy-bailout)
0x351d932a8623 comment (;;; <@15,#10> gap)
0x351d932a8627 comment (;;; <@16,#11> load-context-slot)
0x351d932a8627 position (27842)
0x351d932a862b comment (;;; <@17,#11> gap)
0x351d932a862f comment (;;; <@18,#12> check-non-smi)
0x351d932a862f position (27855)
0x351d932a8638 comment (;;; <@20,#13> check-maps)
0x351d932a863a embedded object (0x16908290fe69 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932a864c comment (;;; <@22,#16> constant-t)
0x351d932a864c position (27423)
0x351d932a864e embedded object (0x21ab18105d11 <FixedArray[14]>)
0x351d932a8656 comment (;;; <@24,#20> load-context-slot)
0x351d932a8656 position (27441)
0x351d932a865a comment (;;; <@26,#21> check-non-smi)
0x351d932a865a position (27453)
0x351d932a8663 comment (;;; <@28,#22> check-maps)
0x351d932a8665 embedded object (0x16908290fe69 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932a8677 comment (;;; <@30,#23> load-named-field)
0x351d932a867f comment (;;; <@31,#23> gap)
0x351d932a8683 comment (;;; <@32,#16> constant-t)
0x351d932a8683 position (27423)
0x351d932a8685 embedded object (0x21ab18105d11 <FixedArray[14]>)
0x351d932a868d comment (;;; <@33,#16> gap)
0x351d932a8690 comment (;;; <@34,#24> load-named-generic)
0x351d932a8690 position (27462)
0x351d932a8692 embedded object (0x1fffbdc36f01 <String[14]: hasOwnProperty>)
0x351d932a869c embedded object (0x1fffbdcc6a71 <FixedArray[10]>)
0x351d932a86af code target (LOAD_IC) (0x351d932a82a0)
0x351d932a86b3 comment (;;; <@36,#25> lazy-bailout)
0x351d932a86b3 comment (;;; <@38,#26> push-argument)
0x351d932a86b6 comment (;;; <@39,#26> gap)
0x351d932a86ba comment (;;; <@40,#26> push-argument)
0x351d932a86bb comment (;;; <@42,#16> constant-t)
0x351d932a86bb position (27423)
0x351d932a86bd embedded object (0x21ab18105d11 <FixedArray[14]>)
0x351d932a86c5 comment (;;; <@43,#16> gap)
0x351d932a86c8 comment (;;; <@44,#27> call-function)
0x351d932a86c8 position (27462)
0x351d932a86c9 code target (STUB) (0x351d932a84a0)
0x351d932a86cd comment (;;; <@46,#28> lazy-bailout)
0x351d932a86cd position (27866)
0x351d932a86cd comment (;;; <@50,#32> -------------------- B2 --------------------)
0x351d932a86cd comment (;;; <@53,#33> branch)
0x351d932a86e1 position (22528)
0x351d932a86e1 deopt reason (unexpected object)
0x351d932a86e2 runtime entry (deoptimization bailout 7)
0x351d932a86e6 comment (;;; <@54,#77> -------------------- B3 (unreachable/replaced) --------------------)
0x351d932a86e6 position (27870)
0x351d932a86e6 comment (;;; <@58,#34> -------------------- B4 --------------------)
0x351d932a86e6 comment (;;; <@59,#34> gap)
0x351d932a86ea comment (;;; <@60,#35> load-context-slot)
0x351d932a86ee comment (;;; <@61,#35> gap)
0x351d932a86f2 comment (;;; <@62,#36> check-non-smi)
0x351d932a86f2 position (27883)
0x351d932a86fb comment (;;; <@64,#37> check-maps)
0x351d932a86fd embedded object (0x16908290fe69 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932a870f comment (;;; <@65,#37> gap)
0x351d932a8713 comment (;;; <@66,#43> check-non-smi)
0x351d932a8713 position (27968)
0x351d932a871b comment (;;; <@68,#44> check-instance-type)
0x351d932a872a comment (;;; <@70,#46> check-maps)
0x351d932a872a comment (;;; <@72,#50> push-argument)
0x351d932a872b comment (;;; <@74,#50> push-argument)
0x351d932a872d embedded object (0x1fffbdcbf141 <String[9]: internal/>)
0x351d932a8737 comment (;;; <@76,#49> constant-t)
0x351d932a8739 embedded object (0x1fffbdc97f09 <JS Function startsWith (SharedFunctionInfo 0x1fffbdc4dd39)>)
0x351d932a8741 comment (;;; <@78,#51> call-js-function)
0x351d932a8748 comment (;;; <@80,#52> lazy-bailout)
0x351d932a8748 comment (;;; <@83,#53> branch)
0x351d932a87d6 comment (;;; <@84,#58> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932a87d6 comment (;;; <@88,#65> -------------------- B6 (unreachable/replaced) --------------------)
0x351d932a87d6 position (27869)
0x351d932a87d6 comment (;;; <@92,#73> -------------------- B7 --------------------)
0x351d932a87d6 comment (;;; <@94,#75> gap)
0x351d932a87d8 embedded object (0x1fffbdc04211 <true>)
0x351d932a87e0 comment (;;; <@95,#75> goto)
0x351d932a87e5 comment (;;; <@96,#54> -------------------- B8 (unreachable/replaced) --------------------)
0x351d932a87e5 comment (;;; <@100,#62> -------------------- B9 (unreachable/replaced) --------------------)
0x351d932a87e5 comment (;;; <@104,#70> -------------------- B10 --------------------)
0x351d932a87e5 comment (;;; <@106,#72> gap)
0x351d932a87e7 embedded object (0x1fffbdc04251 <false>)
0x351d932a87ef comment (;;; <@108,#80> -------------------- B11 (unreachable/replaced) --------------------)
0x351d932a87ef position (27835)
0x351d932a87ef comment (;;; <@112,#84> -------------------- B12 --------------------)
0x351d932a87ef comment (;;; <@114,#86> return)
0x351d932a87f6 comment (;;; -------------------- Jump table --------------------)
0x351d932a87f6 position (16896)
0x351d932a87f6 deopt reason (Smi)
0x351d932a87f7 runtime entry (deoptimization bailout 1)
0x351d932a87fb position (16896)
0x351d932a87fb deopt reason (wrong map)
0x351d932a87fc runtime entry (deoptimization bailout 2)
0x351d932a8800 position (15361)
0x351d932a8800 deopt reason (Smi)
0x351d932a8801 runtime entry (deoptimization bailout 3)
0x351d932a8805 position (15361)
0x351d932a8805 deopt reason (wrong map)
0x351d932a8806 runtime entry (deoptimization bailout 4)
0x351d932a880a position (31232)
0x351d932a880a deopt reason (Smi)
0x351d932a880b runtime entry (deoptimization bailout 8)
0x351d932a880f position (31232)
0x351d932a880f deopt reason (wrong map)
0x351d932a8810 runtime entry (deoptimization bailout 9)
0x351d932a8814 position (11778)
0x351d932a8814 deopt reason (Smi)
0x351d932a8815 runtime entry (deoptimization bailout 10)
0x351d932a8819 position (11778)
0x351d932a8819 deopt reason (wrong instance type)
0x351d932a881a runtime entry (deoptimization bailout 11)
0x351d932a8820 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (hasOwnProperty) id{7,0} ---
(A){
var B=$toName(A);
var C=((%_IsSpecObject(%IS_VAR(this)))?this:$toObject(this));
if(%_IsJSProxy(C)){
if((typeof(A)==='symbol'))return false;
var D=%GetHandler(C);
return CallTrap1(D,"hasOwn",l,B);
}
return %HasOwnProperty(C,B);
}
--- END ---
--- Raw source ---
(A){
var B=$toName(A);
var C=((%_IsSpecObject(%IS_VAR(this)))?this:$toObject(this));
if(%_IsJSProxy(C)){
if((typeof(A)==='symbol'))return false;
var D=%GetHandler(C);
return CallTrap1(D,"hasOwn",l,B);
}
return %HasOwnProperty(C,B);
}
--- Optimized code ---
optimization_id = 7
source_position = 2552
kind = OPTIMIZED_FUNCTION
name = hasOwnProperty
stack_slots = 2
compiler = crankshaft
Instructions (size = 434)
0x351d932aabc0 0 55 push rbp
0x351d932aabc1 1 4889e5 REX.W movq rbp,rsp
0x351d932aabc4 4 56 push rsi
0x351d932aabc5 5 57 push rdi
0x351d932aabc6 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932aabca 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 2552
;;; <@3,#1> gap
0x351d932aabce 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932aabd2 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932aabd5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932aabdc 28 7305 jnc 35 (0x351d932aabe3)
0x351d932aabde 30 e8fda2e8ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@16,#15> push-argument
0x351d932aabe3 35 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 2563
;; object: 0x21ab18105f49 <JS Global Object>
0x351d932aabed 45 4152 push r10
;;; <@17,#15> gap
0x351d932aabef 47 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@18,#15> push-argument
0x351d932aabf3 51 50 push rax
;;; <@20,#11> constant-t
0x351d932aabf4 52 48bfe914cabdff1f0000 REX.W movq rdi,0x1fffbdca14e9 ;; object: 0x1fffbdca14e9 <JS Function ToName (SharedFunctionInfo 0x1fffbdc47551)>
;;; <@22,#17> call-js-function
0x351d932aabfe 62 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932aac02 66 ff5717 call [rdi+0x17]
;;; <@23,#17> gap
0x351d932aac05 69 488945e0 REX.W movq [rbp-0x20],rax
;;; <@24,#18> lazy-bailout
;;; <@26,#20> gap
0x351d932aac09 73 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 2583
;;; <@27,#20> has-instance-type-and-branch
0x351d932aac0d 77 f6c301 testb rbx,0x1
0x351d932aac10 80 0f840f000000 jz 101 (0x351d932aac25)
0x351d932aac16 86 4c8b53ff REX.W movq r10,[rbx-0x1]
0x351d932aac1a 90 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d932aac1f 95 0f8323000000 jnc 136 (0x351d932aac48)
;;; <@28,#24> -------------------- B2 (unreachable/replaced) --------------------
;;; <@32,#27> -------------------- B3 --------------------
;;; <@34,#31> push-argument
0x351d932aac25 101 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 2619
;; object: 0x21ab18105f49 <JS Global Object>
0x351d932aac2f 111 4152 push r10
;;; <@36,#31> push-argument
0x351d932aac31 113 53 push rbx
;;; <@38,#28> constant-t
0x351d932aac32 114 48bf31c5c9bdff1f0000 REX.W movq rdi,0x1fffbdc9c531 ;; object: 0x1fffbdc9c531 <JS Function ToObject (SharedFunctionInfo 0x1fffbdc476a9)>
;;; <@40,#33> call-js-function
0x351d932aac3c 124 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932aac40 128 ff5717 call [rdi+0x17]
;;; <@42,#34> lazy-bailout
;;; <@45,#39> goto
0x351d932aac43 131 e904000000 jmp 140 (0x351d932aac4c) ;; debug: position 2582
;;; <@46,#21> -------------------- B4 (unreachable/replaced) --------------------
;;; <@50,#35> -------------------- B5 --------------------
;;; <@52,#37> gap
0x351d932aac48 136 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@54,#41> -------------------- B6 --------------------
;;; <@57,#44> is-smi-and-branch
0x351d932aac4c 140 a801 test al,0x1 ;; debug: position 2575
;; debug: position 2640
0x351d932aac4e 142 0f84ad000000 jz 321 (0x351d932aad01)
;;; <@58,#47> -------------------- B7 --------------------
;;; <@60,#48> load-named-field
0x351d932aac54 148 488b58ff REX.W movq rbx,[rax-0x1]
;;; <@62,#49> load-named-field
0x351d932aac58 152 0fb65b0b movzxbl rbx,[rbx+0xb]
;;; <@65,#53> compare-numeric-and-branch
0x351d932aac5c 156 81fbb9000000 cmpl rbx,0xb9
0x351d932aac62 162 0f8c99000000 jl 321 (0x351d932aad01)
;;; <@66,#51> -------------------- B8 (unreachable/replaced) --------------------
;;; <@70,#54> -------------------- B9 --------------------
;;; <@73,#58> compare-numeric-and-branch
0x351d932aac68 168 81fbba000000 cmpl rbx,0xba
0x351d932aac6e 174 0f8f8d000000 jg 321 (0x351d932aad01)
;;; <@74,#56> -------------------- B10 (unreachable/replaced) --------------------
;;; <@78,#59> -------------------- B11 (unreachable/replaced) --------------------
;;; <@82,#65> -------------------- B12 --------------------
;;; <@84,#66> gap
0x351d932aac74 180 488b5d10 REX.W movq rbx,[rbp+0x10] ;; debug: position 2670
;;; <@85,#66> typeof-is-and-branch
0x351d932aac78 184 f6c301 testb rbx,0x1
0x351d932aac7b 187 740e jz 203 (0x351d932aac8b)
0x351d932aac7d 189 488b5bff REX.W movq rbx,[rbx-0x1]
0x351d932aac81 193 807b0b80 cmpb [rbx+0xb],0x80
0x351d932aac85 197 0f8465000000 jz 304 (0x351d932aacf0)
;;; <@86,#70> -------------------- B13 (unreachable/replaced) --------------------
;;; <@90,#77> -------------------- B14 --------------------
;;; <@92,#79> push-argument
0x351d932aac8b 203 50 push rax ;; debug: position 2715
;; debug: position 2703
;;; <@93,#79> gap
0x351d932aac8c 204 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@94,#80> call-runtime
0x351d932aac90 208 b801000000 movl rax,0x1
0x351d932aac95 213 498d9d784734ff REX.W leaq rbx,[r13-0xcbb888]
0x351d932aac9c 220 e83fe9e5ff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@96,#81> lazy-bailout
;;; <@97,#81> gap
0x351d932aaca1 225 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@98,#83> load-context-slot
0x351d932aaca5 229 488bbb1f010000 REX.W movq rdi,[rbx+0x11f] ;; debug: position 2726
;;; <@100,#86> load-context-slot
0x351d932aacac 236 488b535f REX.W movq rdx,[rbx+0x5f] ;; debug: position 2747
;;; <@102,#88> push-argument
0x351d932aacb0 240 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; debug: position 2726
;; object: 0x1fffbdc041b9 <undefined>
0x351d932aacba 250 4152 push r10
;;; <@104,#88> push-argument
0x351d932aacbc 252 50 push rax
;;; <@106,#88> push-argument
0x351d932aacbd 253 49baa107c9bdff1f0000 REX.W movq r10,0x1fffbdc907a1 ;; object: 0x1fffbdc907a1 <String[6]: hasOwn>
0x351d932aacc7 263 4152 push r10
;;; <@108,#88> push-argument
0x351d932aacc9 265 52 push rdx
;;; <@110,#88> push-argument
0x351d932aacca 266 ff75e0 push [rbp-0x20]
;;; <@111,#88> gap
0x351d932aaccd 269 488bf3 REX.W movq rsi,rbx
;;; <@112,#89> call-function
0x351d932aacd0 272 48bb996bccbdff1f0000 REX.W movq rbx,0x1fffbdcc6b99 ;; object: 0x1fffbdcc6b99 <FixedArray[14]>
0x351d932aacda 282 48ba000000000c000000 REX.W movq rdx,0xc00000000
0x351d932aace4 292 e817e2e6ff call 0x351d93118f00 ;; code: CALL_IC, DEFAULT
;;; <@114,#90> lazy-bailout
;;; <@116,#92> return
0x351d932aace9 297 488be5 REX.W movq rsp,rbp ;; debug: position 2719
0x351d932aacec 300 5d pop rbp
0x351d932aaced 301 c21000 ret 0x10
;;; <@118,#67> -------------------- B15 (unreachable/replaced) --------------------
;;; <@122,#73> -------------------- B16 --------------------
;;; <@124,#74> constant-t
0x351d932aacf0 304 48b85142c0bdff1f0000 REX.W movq rax,0x1fffbdc04251 ;; debug: position 2690
;; object: 0x1fffbdc04251 <false>
;;; <@126,#76> return
0x351d932aacfa 314 488be5 REX.W movq rsp,rbp ;; debug: position 2683
0x351d932aacfd 317 5d pop rbp
0x351d932aacfe 318 c21000 ret 0x10
;;; <@128,#45> -------------------- B17 (unreachable/replaced) --------------------
;;; <@132,#62> -------------------- B18 (unreachable/replaced) --------------------
;;; <@136,#93> -------------------- B19 --------------------
;;; <@138,#96> push-argument
0x351d932aad01 321 50 push rax ;; debug: position 2778
;; debug: position 2762
;;; <@140,#96> push-argument
0x351d932aad02 322 ff75e0 push [rbp-0x20]
;;; <@141,#96> gap
0x351d932aad05 325 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@142,#97> call-runtime
0x351d932aad09 329 b802000000 movl rax,0x2
0x351d932aad0e 334 498d9d68f233ff REX.W leaq rbx,[r13-0xcc0d98]
0x351d932aad15 341 e8c6e8e5ff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@144,#98> lazy-bailout
;;; <@146,#100> return
0x351d932aad1a 346 488be5 REX.W movq rsp,rbp ;; debug: position 2755
0x351d932aad1d 349 5d pop rbp
0x351d932aad1e 350 c21000 ret 0x10
0x351d932aad21 353 660f1f440000 nop
0x351d932aad27 359 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 6)
index ast id argc pc
0 3 0 35
1 23 0 73
2 57 0 131
3 109 0 225
4 115 0 297
5 135 0 346
Safepoints (size = 74)
0x351d932aabe3 35 01 (sp -> fp) 0
0x351d932aac05 69 01 (sp -> fp) 1
0x351d932aac43 131 11 (sp -> fp) 2
0x351d932aaca1 225 11 (sp -> fp) 3
0x351d932aace9 297 01 (sp -> fp) 4
0x351d932aad1a 346 01 (sp -> fp) 5
RelocInfo (size = 883)
0x351d932aabca position (2552)
0x351d932aabca comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932aabca comment (;;; <@2,#1> context)
0x351d932aabce comment (;;; <@3,#1> gap)
0x351d932aabd2 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932aabd2 comment (;;; <@11,#8> gap)
0x351d932aabd5 comment (;;; <@12,#10> stack-check)
0x351d932aabdf code target (BUILTIN) (0x351d93134ee0)
0x351d932aabe3 comment (;;; <@14,#10> lazy-bailout)
0x351d932aabe3 comment (;;; <@16,#15> push-argument)
0x351d932aabe3 position (2563)
0x351d932aabe5 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932aabef comment (;;; <@17,#15> gap)
0x351d932aabf3 comment (;;; <@18,#15> push-argument)
0x351d932aabf4 comment (;;; <@20,#11> constant-t)
0x351d932aabf6 embedded object (0x1fffbdca14e9 <JS Function ToName (SharedFunctionInfo 0x1fffbdc47551)>)
0x351d932aabfe comment (;;; <@22,#17> call-js-function)
0x351d932aac05 comment (;;; <@23,#17> gap)
0x351d932aac09 comment (;;; <@24,#18> lazy-bailout)
0x351d932aac09 comment (;;; <@26,#20> gap)
0x351d932aac09 position (2583)
0x351d932aac0d comment (;;; <@27,#20> has-instance-type-and-branch)
0x351d932aac25 comment (;;; <@28,#24> -------------------- B2 (unreachable/replaced) --------------------)
0x351d932aac25 position (2619)
0x351d932aac25 comment (;;; <@32,#27> -------------------- B3 --------------------)
0x351d932aac25 comment (;;; <@34,#31> push-argument)
0x351d932aac27 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932aac31 comment (;;; <@36,#31> push-argument)
0x351d932aac32 comment (;;; <@38,#28> constant-t)
0x351d932aac34 embedded object (0x1fffbdc9c531 <JS Function ToObject (SharedFunctionInfo 0x1fffbdc476a9)>)
0x351d932aac3c comment (;;; <@40,#33> call-js-function)
0x351d932aac43 comment (;;; <@42,#34> lazy-bailout)
0x351d932aac43 position (2582)
0x351d932aac43 comment (;;; <@45,#39> goto)
0x351d932aac48 comment (;;; <@46,#21> -------------------- B4 (unreachable/replaced) --------------------)
0x351d932aac48 comment (;;; <@50,#35> -------------------- B5 --------------------)
0x351d932aac48 comment (;;; <@52,#37> gap)
0x351d932aac4c position (2575)
0x351d932aac4c comment (;;; <@54,#41> -------------------- B6 --------------------)
0x351d932aac4c position (2640)
0x351d932aac4c comment (;;; <@57,#44> is-smi-and-branch)
0x351d932aac54 comment (;;; <@58,#47> -------------------- B7 --------------------)
0x351d932aac54 comment (;;; <@60,#48> load-named-field)
0x351d932aac58 comment (;;; <@62,#49> load-named-field)
0x351d932aac5c comment (;;; <@65,#53> compare-numeric-and-branch)
0x351d932aac68 comment (;;; <@66,#51> -------------------- B8 (unreachable/replaced) --------------------)
0x351d932aac68 comment (;;; <@70,#54> -------------------- B9 --------------------)
0x351d932aac68 comment (;;; <@73,#58> compare-numeric-and-branch)
0x351d932aac74 comment (;;; <@74,#56> -------------------- B10 (unreachable/replaced) --------------------)
0x351d932aac74 comment (;;; <@78,#59> -------------------- B11 (unreachable/replaced) --------------------)
0x351d932aac74 position (2670)
0x351d932aac74 comment (;;; <@82,#65> -------------------- B12 --------------------)
0x351d932aac74 comment (;;; <@84,#66> gap)
0x351d932aac78 comment (;;; <@85,#66> typeof-is-and-branch)
0x351d932aac8b comment (;;; <@86,#70> -------------------- B13 (unreachable/replaced) --------------------)
0x351d932aac8b position (2715)
0x351d932aac8b comment (;;; <@90,#77> -------------------- B14 --------------------)
0x351d932aac8b comment (;;; <@92,#79> push-argument)
0x351d932aac8b position (2703)
0x351d932aac8c comment (;;; <@93,#79> gap)
0x351d932aac90 comment (;;; <@94,#80> call-runtime)
0x351d932aac9d code target (STUB) (0x351d931095e0)
0x351d932aaca1 comment (;;; <@96,#81> lazy-bailout)
0x351d932aaca1 comment (;;; <@97,#81> gap)
0x351d932aaca5 comment (;;; <@98,#83> load-context-slot)
0x351d932aaca5 position (2726)
0x351d932aacac comment (;;; <@100,#86> load-context-slot)
0x351d932aacac position (2747)
0x351d932aacb0 comment (;;; <@102,#88> push-argument)
0x351d932aacb0 position (2726)
0x351d932aacb2 embedded object (0x1fffbdc041b9 <undefined>)
0x351d932aacbc comment (;;; <@104,#88> push-argument)
0x351d932aacbd comment (;;; <@106,#88> push-argument)
0x351d932aacbf embedded object (0x1fffbdc907a1 <String[6]: hasOwn>)
0x351d932aacc9 comment (;;; <@108,#88> push-argument)
0x351d932aacca comment (;;; <@110,#88> push-argument)
0x351d932aaccd comment (;;; <@111,#88> gap)
0x351d932aacd0 comment (;;; <@112,#89> call-function)
0x351d932aacd2 embedded object (0x1fffbdcc6b99 <FixedArray[14]>)
0x351d932aace5 code target (CALL_IC) (0x351d93118f00)
0x351d932aace9 comment (;;; <@114,#90> lazy-bailout)
0x351d932aace9 comment (;;; <@116,#92> return)
0x351d932aace9 position (2719)
0x351d932aacf0 comment (;;; <@118,#67> -------------------- B15 (unreachable/replaced) --------------------)
0x351d932aacf0 position (2690)
0x351d932aacf0 comment (;;; <@122,#73> -------------------- B16 --------------------)
0x351d932aacf0 comment (;;; <@124,#74> constant-t)
0x351d932aacf2 embedded object (0x1fffbdc04251 <false>)
0x351d932aacfa comment (;;; <@126,#76> return)
0x351d932aacfa position (2683)
0x351d932aad01 comment (;;; <@128,#45> -------------------- B17 (unreachable/replaced) --------------------)
0x351d932aad01 comment (;;; <@132,#62> -------------------- B18 (unreachable/replaced) --------------------)
0x351d932aad01 position (2778)
0x351d932aad01 comment (;;; <@136,#93> -------------------- B19 --------------------)
0x351d932aad01 comment (;;; <@138,#96> push-argument)
0x351d932aad01 position (2762)
0x351d932aad02 comment (;;; <@140,#96> push-argument)
0x351d932aad05 comment (;;; <@141,#96> gap)
0x351d932aad09 comment (;;; <@142,#97> call-runtime)
0x351d932aad16 code target (STUB) (0x351d931095e0)
0x351d932aad1a comment (;;; <@144,#98> lazy-bailout)
0x351d932aad1a comment (;;; <@146,#100> return)
0x351d932aad1a position (2755)
0x351d932aad28 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (IsDataDescriptor) id{8,0} ---
(G){
if((G===(void 0)))return false;
return G.hasValue()||G.hasWritable();
}
--- END ---
--- Raw source ---
(G){
if((G===(void 0)))return false;
return G.hasValue()||G.hasWritable();
}
--- Optimized code ---
optimization_id = 8
source_position = 4784
kind = OPTIMIZED_FUNCTION
name = IsDataDescriptor
stack_slots = 1
compiler = crankshaft
Instructions (size = 225)
0x351d932ab760 0 55 push rbp
0x351d932ab761 1 4889e5 REX.W movq rbp,rsp
0x351d932ab764 4 56 push rsi
0x351d932ab765 5 57 push rdi
0x351d932ab766 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932ab76a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 4784
;;; <@3,#1> gap
0x351d932ab76e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932ab772 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932ab775 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932ab77c 28 7305 jnc 35 (0x351d932ab783)
0x351d932ab77e 30 e85d97e8ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@16,#12> gap
0x351d932ab783 35 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 4794
;;; <@17,#12> cmp-object-eq-and-branch
0x351d932ab787 39 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d932ab791 49 493bc2 REX.W cmpq rax,r10
0x351d932ab794 52 0f8462000000 jz 156 (0x351d932ab7fc)
;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------
;;; <@22,#23> -------------------- B3 --------------------
;;; <@24,#24> check-non-smi
0x351d932ab79a 58 a801 test al,0x1 ;; debug: position 4830
0x351d932ab79c 60 0f846b000000 jz 173 (0x351d932ab80d)
;;; <@26,#25> check-maps
0x351d932ab7a2 66 49bae12ea188a4140000 REX.W movq r10,0x14a488a12ee1 ;; object: 0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932ab7ac 76 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932ab7b0 80 0f855c000000 jnz 178 (0x351d932ab812)
;;; <@28,#27> check-maps
;;; <@30,#30> push-argument
0x351d932ab7b6 86 50 push rax
;;; <@32,#29> constant-t
0x351d932ab7b7 87 48bfe944cabdff1f0000 REX.W movq rdi,0x1fffbdca44e9 ;; object: 0x1fffbdca44e9 <JS Function PropertyDescriptor_HasValue (SharedFunctionInfo 0x1fffbdc3cb51)>
;;; <@34,#31> call-js-function
0x351d932ab7c1 97 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932ab7c5 101 ff5717 call [rdi+0x17]
;;; <@36,#32> lazy-bailout
;;; <@39,#33> branch
0x351d932ab7c8 104 493b45c0 REX.W cmpq rax,[r13-0x40] ;; debug: position 4840
0x351d932ab7cc 108 0f8423000000 jz 149 (0x351d932ab7f5)
0x351d932ab7d2 114 493b45c8 REX.W cmpq rax,[r13-0x38]
0x351d932ab7d6 118 0f8405000000 jz 129 (0x351d932ab7e1)
0x351d932ab7dc 124 e847a8b5ff call 0x351d92e06028 ;; debug: position 28672
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 4
;;; <@40,#34> -------------------- B4 --------------------
;;; <@42,#36> check-maps
;;; <@44,#41> push-argument
0x351d932ab7e1 129 ff7510 push [rbp+0x10] ;; debug: position 4844
;;; <@46,#40> constant-t
0x351d932ab7e4 132 48bf9946cabdff1f0000 REX.W movq rdi,0x1fffbdca4699 ;; object: 0x1fffbdca4699 <JS Function PropertyDescriptor_HasWritable (SharedFunctionInfo 0x1fffbdc3d4c1)>
;;; <@48,#42> call-js-function
0x351d932ab7ee 142 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932ab7f2 146 ff5717 call [rdi+0x17]
;;; <@50,#43> lazy-bailout
;;; <@54,#44> -------------------- B5 (unreachable/replaced) --------------------
;;; <@58,#50> -------------------- B6 --------------------
;;; <@60,#52> return
0x351d932ab7f5 149 488be5 REX.W movq rsp,rbp ;; debug: position 4840
;; debug: position 4821
0x351d932ab7f8 152 5d pop rbp
0x351d932ab7f9 153 c21000 ret 0x10
;;; <@62,#13> -------------------- B7 (unreachable/replaced) --------------------
;;; <@66,#19> -------------------- B8 --------------------
;;; <@68,#20> constant-t
0x351d932ab7fc 156 48b85142c0bdff1f0000 REX.W movq rax,0x1fffbdc04251 ;; debug: position 4814
;; object: 0x1fffbdc04251 <false>
;;; <@70,#22> return
0x351d932ab806 166 488be5 REX.W movq rsp,rbp ;; debug: position 4807
0x351d932ab809 169 5d pop rbp
0x351d932ab80a 170 c21000 ret 0x10
;;; -------------------- Jump table --------------------
0x351d932ab80d 173 e8f8a7b5ff call 0x351d92e0600a ;; debug: position 23552
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932ab812 178 e8fda7b5ff call 0x351d92e06014 ;; debug: position 23552
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x351d932ab817 183 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 6)
index ast id argc pc
0 3 0 35
1 6 0 -1
2 6 0 -1
3 27 0 104
4 27 0 -1
5 41 0 149
Safepoints (size = 41)
0x351d932ab783 35 1 (sp -> fp) 0
0x351d932ab7c8 104 1 (sp -> fp) 3
0x351d932ab7f5 149 1 (sp -> fp) 5
RelocInfo (size = 441)
0x351d932ab76a position (4784)
0x351d932ab76a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932ab76a comment (;;; <@2,#1> context)
0x351d932ab76e comment (;;; <@3,#1> gap)
0x351d932ab772 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932ab772 comment (;;; <@11,#8> gap)
0x351d932ab775 comment (;;; <@12,#10> stack-check)
0x351d932ab77f code target (BUILTIN) (0x351d93134ee0)
0x351d932ab783 comment (;;; <@14,#10> lazy-bailout)
0x351d932ab783 comment (;;; <@16,#12> gap)
0x351d932ab783 position (4794)
0x351d932ab787 comment (;;; <@17,#12> cmp-object-eq-and-branch)
0x351d932ab789 embedded object (0x1fffbdc041b9 <undefined>)
0x351d932ab79a comment (;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------)
0x351d932ab79a position (4830)
0x351d932ab79a comment (;;; <@22,#23> -------------------- B3 --------------------)
0x351d932ab79a comment (;;; <@24,#24> check-non-smi)
0x351d932ab7a2 comment (;;; <@26,#25> check-maps)
0x351d932ab7a4 embedded object (0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932ab7b6 comment (;;; <@28,#27> check-maps)
0x351d932ab7b6 comment (;;; <@30,#30> push-argument)
0x351d932ab7b7 comment (;;; <@32,#29> constant-t)
0x351d932ab7b9 embedded object (0x1fffbdca44e9 <JS Function PropertyDescriptor_HasValue (SharedFunctionInfo 0x1fffbdc3cb51)>)
0x351d932ab7c1 comment (;;; <@34,#31> call-js-function)
0x351d932ab7c8 comment (;;; <@36,#32> lazy-bailout)
0x351d932ab7c8 position (4840)
0x351d932ab7c8 comment (;;; <@39,#33> branch)
0x351d932ab7dc position (28672)
0x351d932ab7dc deopt reason (unexpected object)
0x351d932ab7dd runtime entry (deoptimization bailout 4)
0x351d932ab7e1 position (4844)
0x351d932ab7e1 comment (;;; <@40,#34> -------------------- B4 --------------------)
0x351d932ab7e1 comment (;;; <@42,#36> check-maps)
0x351d932ab7e1 comment (;;; <@44,#41> push-argument)
0x351d932ab7e4 comment (;;; <@46,#40> constant-t)
0x351d932ab7e6 embedded object (0x1fffbdca4699 <JS Function PropertyDescriptor_HasWritable (SharedFunctionInfo 0x1fffbdc3d4c1)>)
0x351d932ab7ee comment (;;; <@48,#42> call-js-function)
0x351d932ab7f5 comment (;;; <@50,#43> lazy-bailout)
0x351d932ab7f5 position (4840)
0x351d932ab7f5 comment (;;; <@54,#44> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932ab7f5 position (4821)
0x351d932ab7f5 comment (;;; <@58,#50> -------------------- B6 --------------------)
0x351d932ab7f5 comment (;;; <@60,#52> return)
0x351d932ab7fc comment (;;; <@62,#13> -------------------- B7 (unreachable/replaced) --------------------)
0x351d932ab7fc position (4814)
0x351d932ab7fc comment (;;; <@66,#19> -------------------- B8 --------------------)
0x351d932ab7fc comment (;;; <@68,#20> constant-t)
0x351d932ab7fe embedded object (0x1fffbdc04251 <false>)
0x351d932ab806 comment (;;; <@70,#22> return)
0x351d932ab806 position (4807)
0x351d932ab80d comment (;;; -------------------- Jump table --------------------)
0x351d932ab80d position (23552)
0x351d932ab80d deopt reason (Smi)
0x351d932ab80e runtime entry (deoptimization bailout 1)
0x351d932ab812 position (23552)
0x351d932ab812 deopt reason (wrong map)
0x351d932ab813 runtime entry (deoptimization bailout 2)
0x351d932ab818 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (PropertyDescriptor_HasWritable) id{9,0} ---
(){
return this.hasWritable_;
}
--- END ---
--- Raw source ---
(){
return this.hasWritable_;
},
--- Optimized code ---
optimization_id = 9
source_position = 8374
kind = OPTIMIZED_FUNCTION
name = PropertyDescriptor_HasWritable
stack_slots = 1
compiler = crankshaft
Instructions (size = 107)
0x351d932ab9e0 0 55 push rbp
0x351d932ab9e1 1 4889e5 REX.W movq rbp,rsp
0x351d932ab9e4 4 56 push rsi
0x351d932ab9e5 5 57 push rdi
0x351d932ab9e6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932ab9ea 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 8374
;;; <@3,#1> gap
0x351d932ab9ee 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@8,#8> -------------------- B1 --------------------
;;; <@9,#8> gap
0x351d932ab9f2 18 488bf0 REX.W movq rsi,rax
;;; <@10,#10> stack-check
0x351d932ab9f5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932ab9fc 28 7305 jnc 35 (0x351d932aba03)
0x351d932ab9fe 30 e8dd94e8ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@12,#10> lazy-bailout
;;; <@13,#10> gap
0x351d932aba03 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@14,#14> check-non-smi
0x351d932aba07 39 a801 test al,0x1 ;; debug: position 8389
0x351d932aba09 41 0f841f000000 jz 78 (0x351d932aba2e)
;;; <@16,#15> check-maps
0x351d932aba0f 47 49bae12ea188a4140000 REX.W movq r10,0x14a488a12ee1 ;; object: 0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932aba19 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932aba1d 61 0f8510000000 jnz 83 (0x351d932aba33)
;;; <@18,#16> load-named-field
0x351d932aba23 67 488b402f REX.W movq rax,[rax+0x2f]
;;; <@20,#18> return
0x351d932aba27 71 488be5 REX.W movq rsp,rbp ;; debug: position 8378
0x351d932aba2a 74 5d pop rbp
0x351d932aba2b 75 c20800 ret 0x8
;;; -------------------- Jump table --------------------
0x351d932aba2e 78 e8d7a5b5ff call 0x351d92e0600a ;; debug: position 7680
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932aba33 83 e8dca5b5ff call 0x351d92e06014 ;; debug: position 7680
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 3)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
Safepoints (size = 19)
0x351d932aba03 35 1 (sp -> fp) 0
RelocInfo (size = 184)
0x351d932ab9ea position (8374)
0x351d932ab9ea comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932ab9ea comment (;;; <@2,#1> context)
0x351d932ab9ee comment (;;; <@3,#1> gap)
0x351d932ab9f2 comment (;;; <@8,#8> -------------------- B1 --------------------)
0x351d932ab9f2 comment (;;; <@9,#8> gap)
0x351d932ab9f5 comment (;;; <@10,#10> stack-check)
0x351d932ab9ff code target (BUILTIN) (0x351d93134ee0)
0x351d932aba03 comment (;;; <@12,#10> lazy-bailout)
0x351d932aba03 comment (;;; <@13,#10> gap)
0x351d932aba07 comment (;;; <@14,#14> check-non-smi)
0x351d932aba07 position (8389)
0x351d932aba0f comment (;;; <@16,#15> check-maps)
0x351d932aba11 embedded object (0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932aba23 comment (;;; <@18,#16> load-named-field)
0x351d932aba27 comment (;;; <@20,#18> return)
0x351d932aba27 position (8378)
0x351d932aba2e comment (;;; -------------------- Jump table --------------------)
0x351d932aba2e position (7680)
0x351d932aba2e deopt reason (Smi)
0x351d932aba2f runtime entry (deoptimization bailout 1)
0x351d932aba33 position (7680)
0x351d932aba33 deopt reason (wrong map)
0x351d932aba34 runtime entry (deoptimization bailout 2)
0x351d932aba38 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (STRICT_EQUALS) id{10,0} ---
(i){
if((typeof(this)==='string')){
if(!(typeof(i)==='string'))return 1;
return %StringEquals(this,i);
}
if((typeof(this)==='number')){
if(!(typeof(i)==='number'))return 1;
return %NumberEquals(this,i);
}
return %_ObjectEquals(this,i)?0:1;
}
--- END ---
--- Raw source ---
(i){
if((typeof(this)==='string')){
if(!(typeof(i)==='string'))return 1;
return %StringEquals(this,i);
}
if((typeof(this)==='number')){
if(!(typeof(i)==='number'))return 1;
return %NumberEquals(this,i);
}
return %_ObjectEquals(this,i)?0:1;
}
--- Optimized code ---
optimization_id = 10
source_position = 2705
kind = OPTIMIZED_FUNCTION
name = STRICT_EQUALS
stack_slots = 2
compiler = crankshaft
Instructions (size = 357)
0x351d932ae4a0 0 55 push rbp
0x351d932ae4a1 1 4889e5 REX.W movq rbp,rsp
0x351d932ae4a4 4 56 push rsi
0x351d932ae4a5 5 57 push rdi
0x351d932ae4a6 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932ae4aa 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 2705
;;; <@3,#1> gap
0x351d932ae4ae 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#9> -------------------- B1 --------------------
;;; <@11,#9> gap
0x351d932ae4b2 18 488bf0 REX.W movq rsi,rax
;;; <@12,#11> stack-check
0x351d932ae4b5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932ae4bc 28 7305 jnc 35 (0x351d932ae4c3)
0x351d932ae4be 30 e81d6ae8ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#11> lazy-bailout
;;; <@16,#13> this-function
0x351d932ae4c3 35 488b45f0 REX.W movq rax,[rbp-0x10]
;;; <@17,#13> gap
0x351d932ae4c7 39 488945e0 REX.W movq [rbp-0x20],rax
;;; <@18,#15> gap
0x351d932ae4cb 43 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 2726
;;; <@19,#15> typeof-is-and-branch
0x351d932ae4cf 47 f6c301 testb rbx,0x1
0x351d932ae4d2 50 7414 jz 72 (0x351d932ae4e8)
0x351d932ae4d4 52 488b5bff REX.W movq rbx,[rbx-0x1]
0x351d932ae4d8 56 807b0b80 cmpb [rbx+0xb],0x80
0x351d932ae4dc 60 730a jnc 72 (0x351d932ae4e8)
0x351d932ae4de 62 f6430c10 testb [rbx+0xc],0x10
0x351d932ae4e2 66 0f849d000000 jz 229 (0x351d932ae585)
;;; <@20,#19> -------------------- B2 (unreachable/replaced) --------------------
;;; <@24,#40> -------------------- B3 --------------------
;;; <@26,#41> gap
0x351d932ae4e8 72 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 2826
;;; <@27,#41> typeof-is-and-branch
0x351d932ae4ec 76 f6c301 testb rbx,0x1
0x351d932ae4ef 79 0f843f000000 jz 148 (0x351d932ae534)
0x351d932ae4f5 85 4d8b5500 REX.W movq r10,[r13+0x0]
0x351d932ae4f9 89 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932ae4fd 93 0f8431000000 jz 148 (0x351d932ae534)
;;; <@28,#45> -------------------- B4 (unreachable/replaced) --------------------
;;; <@32,#66> -------------------- B5 --------------------
;;; <@34,#67> gap
0x351d932ae503 99 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 2917
0x351d932ae507 103 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@35,#67> cmp-object-eq-and-branch
0x351d932ae50b 107 483bda REX.W cmpq rbx,rdx
0x351d932ae50e 110 0f840f000000 jz 131 (0x351d932ae523)
;;; <@36,#71> -------------------- B6 (unreachable/replaced) --------------------
;;; <@40,#76> -------------------- B7 --------------------
;;; <@42,#81> gap
0x351d932ae514 116 48b80000000001000000 REX.W movq rax,0x100000000 ;; debug: position 2942
;; debug: position 2917
;;; <@43,#81> goto
0x351d932ae51e 126 e90a000000 jmp 141 (0x351d932ae52d)
;;; <@44,#68> -------------------- B8 (unreachable/replaced) --------------------
;;; <@48,#74> -------------------- B9 --------------------
;;; <@50,#79> gap
0x351d932ae523 131 48b80000000000000000 REX.W movq rax,(nil) ;; debug: position 2940
;; debug: position 2917
;;; <@52,#83> -------------------- B10 --------------------
;;; <@54,#85> return
0x351d932ae52d 141 488be5 REX.W movq rsp,rbp ;; debug: position 2910
0x351d932ae530 144 5d pop rbp
0x351d932ae531 145 c21000 ret 0x10
;;; <@56,#42> -------------------- B11 --------------------
0x351d932ae534 148 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 2826
0x351d932ae538 152 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@60,#48> -------------------- B12 --------------------
;;; <@62,#49> gap
0x351d932ae53c 156 488bca REX.W movq rcx,rdx ;; debug: position 2855
;;; <@63,#49> typeof-is-and-branch
0x351d932ae53f 159 f6c101 testb rcx,0x1
0x351d932ae542 162 0f841f000000 jz 199 (0x351d932ae567)
0x351d932ae548 168 4d8b5500 REX.W movq r10,[r13+0x0]
0x351d932ae54c 172 4c3951ff REX.W cmpq [rcx-0x1],r10
0x351d932ae550 176 0f8411000000 jz 199 (0x351d932ae567)
;;; <@64,#53> -------------------- B13 (unreachable/replaced) --------------------
;;; <@68,#56> -------------------- B14 --------------------
;;; <@70,#90> constant-t
0x351d932ae556 182 48b80000000001000000 REX.W movq rax,0x100000000 ;; debug: position 2875
;; debug: position 2868
;;; <@72,#59> return
0x351d932ae560 192 488be5 REX.W movq rsp,rbp
0x351d932ae563 195 5d pop rbp
0x351d932ae564 196 c21000 ret 0x10
;;; <@74,#50> -------------------- B15 (unreachable/replaced) --------------------
;;; <@78,#60> -------------------- B16 --------------------
;;; <@80,#61> push-argument
0x351d932ae567 199 53 push rbx ;; debug: position 2885
;;; <@82,#61> push-argument
0x351d932ae568 200 52 push rdx
;;; <@83,#61> gap
0x351d932ae569 201 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@84,#62> call-runtime
0x351d932ae56d 205 b802000000 movl rax,0x2
0x351d932ae572 210 498d9d68a833ff REX.W leaq rbx,[r13-0xcc5798]
0x351d932ae579 217 e862b0e5ff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@86,#63> lazy-bailout
;;; <@88,#65> return
0x351d932ae57e 222 488be5 REX.W movq rsp,rbp ;; debug: position 2878
0x351d932ae581 225 5d pop rbp
0x351d932ae582 226 c21000 ret 0x10
;;; <@90,#16> -------------------- B17 (unreachable/replaced) --------------------
;;; <@94,#22> -------------------- B18 --------------------
;;; <@96,#23> gap
0x351d932ae585 229 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 2755
;;; <@97,#23> typeof-is-and-branch
0x351d932ae589 233 a801 test al,0x1
0x351d932ae58b 235 7414 jz 257 (0x351d932ae5a1)
0x351d932ae58d 237 488b40ff REX.W movq rax,[rax-0x1]
0x351d932ae591 241 80780b80 cmpb [rax+0xb],0x80
0x351d932ae595 245 730a jnc 257 (0x351d932ae5a1)
0x351d932ae597 247 f6400c10 testb [rax+0xc],0x10
0x351d932ae59b 251 0f8411000000 jz 274 (0x351d932ae5b2)
;;; <@98,#27> -------------------- B19 (unreachable/replaced) --------------------
;;; <@102,#30> -------------------- B20 --------------------
;;; <@104,#93> constant-t
0x351d932ae5a1 257 48b80000000001000000 REX.W movq rax,0x100000000 ;; debug: position 2775
;; debug: position 2768
;;; <@106,#33> return
0x351d932ae5ab 267 488be5 REX.W movq rsp,rbp
0x351d932ae5ae 270 5d pop rbp
0x351d932ae5af 271 c21000 ret 0x10
;;; <@108,#24> -------------------- B21 (unreachable/replaced) --------------------
;;; <@112,#34> -------------------- B22 --------------------
;;; <@114,#35> push-argument
0x351d932ae5b2 274 ff7518 push [rbp+0x18] ;; debug: position 2785
;;; <@116,#35> push-argument
0x351d932ae5b5 277 ff7510 push [rbp+0x10]
;;; <@117,#35> gap
0x351d932ae5b8 280 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@118,#36> call-runtime
0x351d932ae5bc 284 b802000000 movl rax,0x2
0x351d932ae5c1 289 498d9d986835ff REX.W leaq rbx,[r13-0xca9768]
0x351d932ae5c8 296 e813b0e5ff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@120,#37> lazy-bailout
;;; <@122,#39> return
0x351d932ae5cd 301 488be5 REX.W movq rsp,rbp ;; debug: position 2778
0x351d932ae5d0 304 5d pop rbp
0x351d932ae5d1 305 c21000 ret 0x10
0x351d932ae5d4 308 660f1f440000 nop
0x351d932ae5da 314 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 3)
index ast id argc pc
0 3 0 35
1 109 0 222
2 58 0 301
Safepoints (size = 41)
0x351d932ae4c3 35 01 (sp -> fp) 0
0x351d932ae57e 222 11 (sp -> fp) 1
0x351d932ae5cd 301 11 (sp -> fp) 2
RelocInfo (size = 739)
0x351d932ae4aa position (2705)
0x351d932ae4aa comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932ae4aa comment (;;; <@2,#1> context)
0x351d932ae4ae comment (;;; <@3,#1> gap)
0x351d932ae4b2 comment (;;; <@10,#9> -------------------- B1 --------------------)
0x351d932ae4b2 comment (;;; <@11,#9> gap)
0x351d932ae4b5 comment (;;; <@12,#11> stack-check)
0x351d932ae4bf code target (BUILTIN) (0x351d93134ee0)
0x351d932ae4c3 comment (;;; <@14,#11> lazy-bailout)
0x351d932ae4c3 comment (;;; <@16,#13> this-function)
0x351d932ae4c7 comment (;;; <@17,#13> gap)
0x351d932ae4cb comment (;;; <@18,#15> gap)
0x351d932ae4cb position (2726)
0x351d932ae4cf comment (;;; <@19,#15> typeof-is-and-branch)
0x351d932ae4e8 comment (;;; <@20,#19> -------------------- B2 (unreachable/replaced) --------------------)
0x351d932ae4e8 position (2826)
0x351d932ae4e8 comment (;;; <@24,#40> -------------------- B3 --------------------)
0x351d932ae4e8 comment (;;; <@26,#41> gap)
0x351d932ae4ec comment (;;; <@27,#41> typeof-is-and-branch)
0x351d932ae503 comment (;;; <@28,#45> -------------------- B4 (unreachable/replaced) --------------------)
0x351d932ae503 position (2917)
0x351d932ae503 comment (;;; <@32,#66> -------------------- B5 --------------------)
0x351d932ae503 comment (;;; <@34,#67> gap)
0x351d932ae50b comment (;;; <@35,#67> cmp-object-eq-and-branch)
0x351d932ae514 comment (;;; <@36,#71> -------------------- B6 (unreachable/replaced) --------------------)
0x351d932ae514 position (2942)
0x351d932ae514 comment (;;; <@40,#76> -------------------- B7 --------------------)
0x351d932ae514 comment (;;; <@42,#81> gap)
0x351d932ae514 position (2917)
0x351d932ae51e comment (;;; <@43,#81> goto)
0x351d932ae523 comment (;;; <@44,#68> -------------------- B8 (unreachable/replaced) --------------------)
0x351d932ae523 position (2940)
0x351d932ae523 comment (;;; <@48,#74> -------------------- B9 --------------------)
0x351d932ae523 comment (;;; <@50,#79> gap)
0x351d932ae523 position (2917)
0x351d932ae52d position (2910)
0x351d932ae52d comment (;;; <@52,#83> -------------------- B10 --------------------)
0x351d932ae52d comment (;;; <@54,#85> return)
0x351d932ae534 position (2826)
0x351d932ae534 comment (;;; <@56,#42> -------------------- B11 --------------------)
0x351d932ae53c position (2855)
0x351d932ae53c comment (;;; <@60,#48> -------------------- B12 --------------------)
0x351d932ae53c comment (;;; <@62,#49> gap)
0x351d932ae53f comment (;;; <@63,#49> typeof-is-and-branch)
0x351d932ae556 comment (;;; <@64,#53> -------------------- B13 (unreachable/replaced) --------------------)
0x351d932ae556 position (2875)
0x351d932ae556 comment (;;; <@68,#56> -------------------- B14 --------------------)
0x351d932ae556 comment (;;; <@70,#90> constant-t)
0x351d932ae556 position (2868)
0x351d932ae560 comment (;;; <@72,#59> return)
0x351d932ae567 comment (;;; <@74,#50> -------------------- B15 (unreachable/replaced) --------------------)
0x351d932ae567 position (2885)
0x351d932ae567 comment (;;; <@78,#60> -------------------- B16 --------------------)
0x351d932ae567 comment (;;; <@80,#61> push-argument)
0x351d932ae568 comment (;;; <@82,#61> push-argument)
0x351d932ae569 comment (;;; <@83,#61> gap)
0x351d932ae56d comment (;;; <@84,#62> call-runtime)
0x351d932ae57a code target (STUB) (0x351d931095e0)
0x351d932ae57e comment (;;; <@86,#63> lazy-bailout)
0x351d932ae57e comment (;;; <@88,#65> return)
0x351d932ae57e position (2878)
0x351d932ae585 comment (;;; <@90,#16> -------------------- B17 (unreachable/replaced) --------------------)
0x351d932ae585 position (2755)
0x351d932ae585 comment (;;; <@94,#22> -------------------- B18 --------------------)
0x351d932ae585 comment (;;; <@96,#23> gap)
0x351d932ae589 comment (;;; <@97,#23> typeof-is-and-branch)
0x351d932ae5a1 comment (;;; <@98,#27> -------------------- B19 (unreachable/replaced) --------------------)
0x351d932ae5a1 position (2775)
0x351d932ae5a1 comment (;;; <@102,#30> -------------------- B20 --------------------)
0x351d932ae5a1 comment (;;; <@104,#93> constant-t)
0x351d932ae5a1 position (2768)
0x351d932ae5ab comment (;;; <@106,#33> return)
0x351d932ae5b2 comment (;;; <@108,#24> -------------------- B21 (unreachable/replaced) --------------------)
0x351d932ae5b2 position (2785)
0x351d932ae5b2 comment (;;; <@112,#34> -------------------- B22 --------------------)
0x351d932ae5b2 comment (;;; <@114,#35> push-argument)
0x351d932ae5b5 comment (;;; <@116,#35> push-argument)
0x351d932ae5b8 comment (;;; <@117,#35> gap)
0x351d932ae5bc comment (;;; <@118,#36> call-runtime)
0x351d932ae5c9 code target (STUB) (0x351d931095e0)
0x351d932ae5cd comment (;;; <@120,#37> lazy-bailout)
0x351d932ae5cd comment (;;; <@122,#39> return)
0x351d932ae5cd position (2778)
0x351d932ae5dc comment (;;; Safepoint table.)
--- End code ---
[deoptimizing (DEOPT eager): begin 0x1fffbdc95a21 <JS Function join (SharedFunctionInfo 0x1fffbdc540d1)> (opt #1) @5, FP to SP delta: 24]
;;; deoptimize at 0_172: wrong map
reading input frame join => node=2, args=62, height=4; inputs:
0: 0x1fffbdc95a21 ; (frame function) 0x1fffbdc95a21 <JS Function join (SharedFunctionInfo 0x1fffbdc540d1)>
1: 0x39605c1225a9 ; [fp + 24] 0x39605c1225a9 <JS Array[11]>
2: 0x1fffbdcbdb01 ; [fp + 16] 0x1fffbdcbdb01 <String[1]\: \n>
3: 0x1fffbdc969d1 ; [fp - 24] 0x1fffbdc969d1 <FixedArray[50]>
4: 0x1fffbdc041b9 ; (literal 1) 0x1fffbdc041b9 <undefined>
5: 0x1fffbdc041b9 ; (literal 1) 0x1fffbdc041b9 <undefined>
6: 0x39605c1225a9 ; rax 0x39605c1225a9 <JS Array[11]>
translating frame join => node=62, height=24
0x7fff0ad95398: [top + 64] <- 0x39605c1225a9 ; 0x39605c1225a9 <JS Array[11]> (input #1)
0x7fff0ad95390: [top + 56] <- 0x1fffbdcbdb01 ; 0x1fffbdcbdb01 <String[1]\: \n> (input #2)
0x7fff0ad95388: [top + 48] <- 0x351d932b3b39 ; caller's pc
0x7fff0ad95380: [top + 40] <- 0x7fff0ad953e8 ; caller's fp
0x7fff0ad95378: [top + 32] <- 0x1fffbdc969d1 ; context 0x1fffbdc969d1 <FixedArray[50]> (input #3)
0x7fff0ad95370: [top + 24] <- 0x1fffbdc95a21 ; function 0x1fffbdc95a21 <JS Function join (SharedFunctionInfo 0x1fffbdc540d1)> (input #0)
0x7fff0ad95368: [top + 16] <- 0x1fffbdc041b9 ; 0x1fffbdc041b9 <undefined> (input #4)
0x7fff0ad95360: [top + 8] <- 0x1fffbdc041b9 ; 0x1fffbdc041b9 <undefined> (input #5)
0x7fff0ad95358: [top + 0] <- 0x39605c1225a9 ; 0x39605c1225a9 <JS Array[11]> (input #6)
[deoptimizing (eager): end 0x1fffbdc95a21 <JS Function join (SharedFunctionInfo 0x1fffbdc540d1)> @5 => node=62, pc=0x351d93215df7, state=TOS_REG, alignment=no padding, took 0.025 ms]
--- FUNCTION SOURCE (posix._makeLong) id{11,0} ---
(path) {
return path;
}
--- END ---
--- Raw source ---
(path) {
return path;
};
--- Optimized code ---
optimization_id = 11
source_position = 13274
kind = OPTIMIZED_FUNCTION
name = posix._makeLong
stack_slots = 1
compiler = crankshaft
Instructions (size = 67)
0x351d932c6dc0 0 55 push rbp
0x351d932c6dc1 1 4889e5 REX.W movq rbp,rsp
0x351d932c6dc4 4 56 push rsi
0x351d932c6dc5 5 57 push rdi
0x351d932c6dc6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932c6dca 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 13274
;;; <@3,#1> gap
0x351d932c6dce 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932c6dd2 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932c6dd5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932c6ddc 28 7305 jnc 35 (0x351d932c6de3)
0x351d932c6dde 30 e8fde0e6ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@15,#10> gap
0x351d932c6de3 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@16,#13> return
0x351d932c6de7 39 488be5 REX.W movq rsp,rbp ;; debug: position 13285
0x351d932c6dea 42 5d pop rbp
0x351d932c6deb 43 c21000 ret 0x10
0x351d932c6dee 46 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 1)
index ast id argc pc
0 3 0 35
Safepoints (size = 19)
0x351d932c6de3 35 1 (sp -> fp) 0
RelocInfo (size = 120)
0x351d932c6dca position (13274)
0x351d932c6dca comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932c6dca comment (;;; <@2,#1> context)
0x351d932c6dce comment (;;; <@3,#1> gap)
0x351d932c6dd2 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932c6dd2 comment (;;; <@11,#8> gap)
0x351d932c6dd5 comment (;;; <@12,#10> stack-check)
0x351d932c6ddf code target (BUILTIN) (0x351d93134ee0)
0x351d932c6de3 comment (;;; <@14,#10> lazy-bailout)
0x351d932c6de3 comment (;;; <@15,#10> gap)
0x351d932c6de7 comment (;;; <@16,#13> return)
0x351d932c6de7 position (13285)
0x351d932c6df0 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (fs.Stats) id{12,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 = 12
source_position = 3068
kind = OPTIMIZED_FUNCTION
name = fs.Stats
stack_slots = 1
compiler = crankshaft
Instructions (size = 1523)
0x351d932c8600 0 55 push rbp
0x351d932c8601 1 4889e5 REX.W movq rbp,rsp
0x351d932c8604 4 56 push rsi
0x351d932c8605 5 57 push rdi
0x351d932c8606 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932c860a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 3068
;;; <@3,#1> gap
0x351d932c860e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@36,#21> -------------------- B1 --------------------
;;; <@37,#21> gap
0x351d932c8612 18 488bf0 REX.W movq rsi,rax
;;; <@38,#23> stack-check
0x351d932c8615 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932c861c 28 7305 jnc 35 (0x351d932c8623)
0x351d932c861e 30 e8bdc8e6ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@40,#23> lazy-bailout
;;; <@41,#23> gap
0x351d932c8623 35 488b8580000000 REX.W movq rax,[rbp+0x80]
;;; <@42,#25> check-non-smi
0x351d932c862a 42 a801 test al,0x1 ;; debug: position 3249
0x351d932c862c 44 0f8409050000 jz 1339 (0x351d932c8b3b)
;;; <@44,#26> check-maps
0x351d932c8632 50 49ba6160a188a4140000 REX.W movq r10,0x14a488a16061 ;; object: 0x14a488a16061 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c863c 60 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932c8640 64 0f85fa040000 jnz 1344 (0x351d932c8b40)
;;; <@46,#28> check-maps
;;; <@48,#30> check-maps
;;; <@49,#30> gap
0x351d932c8646 70 488b5d78 REX.W movq rbx,[rbp+0x78]
;;; <@50,#178> check-smi
0x351d932c864a 74 f6c301 testb rbx,0x1
0x351d932c864d 77 0f85f2040000 jnz 1349 (0x351d932c8b45)
;;; <@52,#32> store-named-field
0x351d932c8653 83 49bab960a188a4140000 REX.W movq r10,0x14a488a160b9 ;; object: 0x14a488a160b9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c865d 93 4c8950ff REX.W movq [rax-0x1],r10
0x351d932c8661 97 488d50ff REX.W leaq rdx,[rax-0x1]
0x351d932c8665 101 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c866c 108 41f6420804 testb [r10+0x8],0x4
0x351d932c8671 113 7405 jz 120 (0x351d932c8678)
0x351d932c8673 115 e848ebffff call 0x351d932c71c0 ;; code: STUB, RecordWriteStub, minor: 12960
0x351d932c8678 120 48895817 REX.W movq [rax+0x17],rbx
;;; <@53,#32> gap
0x351d932c867c 124 488b5d70 REX.W movq rbx,[rbp+0x70]
;;; <@54,#179> check-smi
0x351d932c8680 128 f6c301 testb rbx,0x1 ;; debug: position 3268
0x351d932c8683 131 0f85c1040000 jnz 1354 (0x351d932c8b4a)
;;; <@56,#41> store-named-field
0x351d932c8689 137 49ba1161a188a4140000 REX.W movq r10,0x14a488a16111 ;; object: 0x14a488a16111 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c8693 147 4c8950ff REX.W movq [rax-0x1],r10
0x351d932c8697 151 488d50ff REX.W leaq rdx,[rax-0x1]
0x351d932c869b 155 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c86a2 162 41f6420804 testb [r10+0x8],0x4
0x351d932c86a7 167 7405 jz 174 (0x351d932c86ae)
0x351d932c86a9 169 e812ebffff call 0x351d932c71c0 ;; code: STUB, RecordWriteStub, minor: 12960
0x351d932c86ae 174 4889581f REX.W movq [rax+0x1f],rbx
;;; <@57,#41> gap
0x351d932c86b2 178 488b5d68 REX.W movq rbx,[rbp+0x68]
;;; <@58,#180> check-smi
0x351d932c86b6 182 f6c301 testb rbx,0x1 ;; debug: position 3289
0x351d932c86b9 185 0f8590040000 jnz 1359 (0x351d932c8b4f)
;;; <@60,#50> store-named-field
0x351d932c86bf 191 49ba6961a188a4140000 REX.W movq r10,0x14a488a16169 ;; object: 0x14a488a16169 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c86c9 201 4c8950ff REX.W movq [rax-0x1],r10
0x351d932c86cd 205 488d50ff REX.W leaq rdx,[rax-0x1]
0x351d932c86d1 209 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c86d8 216 41f6420804 testb [r10+0x8],0x4
0x351d932c86dd 221 7405 jz 228 (0x351d932c86e4)
0x351d932c86df 223 e8dceaffff call 0x351d932c71c0 ;; code: STUB, RecordWriteStub, minor: 12960
0x351d932c86e4 228 48895827 REX.W movq [rax+0x27],rbx
;;; <@61,#50> gap
0x351d932c86e8 232 488b5d60 REX.W movq rbx,[rbp+0x60]
;;; <@62,#181> check-smi
0x351d932c86ec 236 f6c301 testb rbx,0x1 ;; debug: position 3309
0x351d932c86ef 239 0f855f040000 jnz 1364 (0x351d932c8b54)
;;; <@64,#59> store-named-field
0x351d932c86f5 245 49bac161a188a4140000 REX.W movq r10,0x14a488a161c1 ;; object: 0x14a488a161c1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c86ff 255 4c8950ff REX.W movq [rax-0x1],r10
0x351d932c8703 259 488d50ff REX.W leaq rdx,[rax-0x1]
0x351d932c8707 263 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c870e 270 41f6420804 testb [r10+0x8],0x4
0x351d932c8713 275 7405 jz 282 (0x351d932c871a)
0x351d932c8715 277 e8a6eaffff call 0x351d932c71c0 ;; code: STUB, RecordWriteStub, minor: 12960
0x351d932c871a 282 4889582f REX.W movq [rax+0x2f],rbx
;;; <@65,#59> gap
0x351d932c871e 286 488b5d58 REX.W movq rbx,[rbp+0x58]
;;; <@66,#182> check-smi
0x351d932c8722 290 f6c301 testb rbx,0x1 ;; debug: position 3327
0x351d932c8725 293 0f852e040000 jnz 1369 (0x351d932c8b59)
;;; <@68,#68> store-named-field
0x351d932c872b 299 49ba1962a188a4140000 REX.W movq r10,0x14a488a16219 ;; object: 0x14a488a16219 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c8735 309 4c8950ff REX.W movq [rax-0x1],r10
0x351d932c8739 313 488d50ff REX.W leaq rdx,[rax-0x1]
0x351d932c873d 317 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c8744 324 41f6420804 testb [r10+0x8],0x4
0x351d932c8749 329 7405 jz 336 (0x351d932c8750)
0x351d932c874b 331 e870eaffff call 0x351d932c71c0 ;; code: STUB, RecordWriteStub, minor: 12960
0x351d932c8750 336 48895837 REX.W movq [rax+0x37],rbx
;;; <@69,#68> gap
0x351d932c8754 340 488b5d50 REX.W movq rbx,[rbp+0x50]
;;; <@70,#183> check-smi
0x351d932c8758 344 f6c301 testb rbx,0x1 ;; debug: position 3346
0x351d932c875b 347 0f85fd030000 jnz 1374 (0x351d932c8b5e)
;;; <@72,#77> store-named-field
0x351d932c8761 353 49ba7162a188a4140000 REX.W movq r10,0x14a488a16271 ;; object: 0x14a488a16271 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c876b 363 4c8950ff REX.W movq [rax-0x1],r10
0x351d932c876f 367 488d50ff REX.W leaq rdx,[rax-0x1]
0x351d932c8773 371 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c877a 378 41f6420804 testb [r10+0x8],0x4
0x351d932c877f 383 7405 jz 390 (0x351d932c8786)
0x351d932c8781 385 e83aeaffff call 0x351d932c71c0 ;; code: STUB, RecordWriteStub, minor: 12960
0x351d932c8786 390 4889583f REX.W movq [rax+0x3f],rbx
;;; <@73,#77> gap
0x351d932c878a 394 488b5d48 REX.W movq rbx,[rbp+0x48]
;;; <@74,#184> check-smi
0x351d932c878e 398 f6c301 testb rbx,0x1 ;; debug: position 3369
0x351d932c8791 401 0f85cc030000 jnz 1379 (0x351d932c8b63)
;;; <@76,#86> store-named-field
0x351d932c8797 407 49bac962a188a4140000 REX.W movq r10,0x14a488a162c9 ;; object: 0x14a488a162c9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c87a1 417 4c8950ff REX.W movq [rax-0x1],r10
0x351d932c87a5 421 488d50ff REX.W leaq rdx,[rax-0x1]
0x351d932c87a9 425 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c87b0 432 41f6420804 testb [r10+0x8],0x4
0x351d932c87b5 437 7405 jz 444 (0x351d932c87bc)
0x351d932c87b7 439 e804eaffff call 0x351d932c71c0 ;; code: STUB, RecordWriteStub, minor: 12960
0x351d932c87bc 444 48895847 REX.W movq [rax+0x47],rbx
;;; <@77,#86> gap
0x351d932c87c0 448 488b5d40 REX.W movq rbx,[rbp+0x40]
;;; <@78,#185> check-smi
0x351d932c87c4 452 f6c301 testb rbx,0x1 ;; debug: position 3391
0x351d932c87c7 455 0f859b030000 jnz 1384 (0x351d932c8b68)
;;; <@80,#95> store-named-field
0x351d932c87cd 461 49ba2163a188a4140000 REX.W movq r10,0x14a488a16321 ;; object: 0x14a488a16321 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c87d7 471 4c8950ff REX.W movq [rax-0x1],r10
0x351d932c87db 475 488d50ff REX.W leaq rdx,[rax-0x1]
0x351d932c87df 479 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c87e6 486 41f6420804 testb [r10+0x8],0x4
0x351d932c87eb 491 7405 jz 498 (0x351d932c87f2)
0x351d932c87ed 493 e8cee9ffff call 0x351d932c71c0 ;; code: STUB, RecordWriteStub, minor: 12960
0x351d932c87f2 498 4889584f REX.W movq [rax+0x4f],rbx
;;; <@81,#95> gap
0x351d932c87f6 502 488b5d38 REX.W movq rbx,[rbp+0x38]
;;; <@82,#186> check-smi
0x351d932c87fa 506 f6c301 testb rbx,0x1 ;; debug: position 3410
0x351d932c87fd 509 0f856a030000 jnz 1389 (0x351d932c8b6d)
;;; <@84,#104> store-named-field
0x351d932c8803 515 49ba7963a188a4140000 REX.W movq r10,0x14a488a16379 ;; object: 0x14a488a16379 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c880d 525 4c8950ff REX.W movq [rax-0x1],r10
0x351d932c8811 529 488d50ff REX.W leaq rdx,[rax-0x1]
0x351d932c8815 533 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c881c 540 41f6420804 testb [r10+0x8],0x4
0x351d932c8821 545 7405 jz 552 (0x351d932c8828)
0x351d932c8823 547 e898e9ffff call 0x351d932c71c0 ;; code: STUB, RecordWriteStub, minor: 12960
0x351d932c8828 552 48895857 REX.W movq [rax+0x57],rbx
;;; <@85,#104> gap
0x351d932c882c 556 488b5d30 REX.W movq rbx,[rbp+0x30]
;;; <@86,#187> check-smi
0x351d932c8830 560 f6c301 testb rbx,0x1 ;; debug: position 3432
0x351d932c8833 563 0f8539030000 jnz 1394 (0x351d932c8b72)
;;; <@88,#113> store-named-field
0x351d932c8839 569 49bad163a188a4140000 REX.W movq r10,0x14a488a163d1 ;; object: 0x14a488a163d1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c8843 579 4c8950ff REX.W movq [rax-0x1],r10
0x351d932c8847 583 488d50ff REX.W leaq rdx,[rax-0x1]
0x351d932c884b 587 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c8852 594 41f6420804 testb [r10+0x8],0x4
0x351d932c8857 599 7405 jz 606 (0x351d932c885e)
0x351d932c8859 601 e862e9ffff call 0x351d932c71c0 ;; code: STUB, RecordWriteStub, minor: 12960
0x351d932c885e 606 4889585f REX.W movq [rax+0x5f],rbx
;;; <@90,#116> push-argument
0x351d932c8862 610 49ba318bc9bdff1f0000 REX.W movq r10,0x1fffbdc98b31 ;; debug: position 3457
;; object: 0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>
0x351d932c886c 620 4152 push r10
;;; <@91,#116> gap
0x351d932c886e 622 488b5d28 REX.W movq rbx,[rbp+0x28]
;;; <@92,#116> push-argument
0x351d932c8872 626 53 push rbx
;;; <@94,#115> constant-t
0x351d932c8873 627 48bf318bc9bdff1f0000 REX.W movq rdi,0x1fffbdc98b31 ;; debug: position 3461
;; object: 0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>
;;; <@95,#115> gap
0x351d932c887d 637 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@96,#117> call-new
0x351d932c8881 641 b801000000 movl rax,0x1 ;; debug: position 3457
0x351d932c8886 646 498b5da8 REX.W movq rbx,[r13-0x58]
0x351d932c888a 650 e8d113e6ff call 0x351d93129c60 ;; code: constructor, STUB, CallConstructStub, minor: 0
;;; <@98,#118> lazy-bailout
;;; <@99,#118> gap
0x351d932c888f 655 488b9d80000000 REX.W movq rbx,[rbp+0x80]
;;; <@100,#120> check-maps
0x351d932c8896 662 49bad163a188a4140000 REX.W movq r10,0x14a488a163d1 ;; debug: position 3455
;; object: 0x14a488a163d1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c88a0 672 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932c88a4 676 0f85cd020000 jnz 1399 (0x351d932c8b77)
;;; <@102,#125> check-non-smi
0x351d932c88aa 682 a801 test al,0x1
0x351d932c88ac 684 0f84ca020000 jz 1404 (0x351d932c8b7c)
;;; <@104,#126> check-maps
0x351d932c88b2 690 49ba3974908290160000 REX.W movq r10,0x169082907439 ;; object: 0x169082907439 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x351d932c88bc 700 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932c88c0 704 0f85bb020000 jnz 1409 (0x351d932c8b81)
;;; <@106,#128> store-named-field
0x351d932c88c6 710 49ba2964a188a4140000 REX.W movq r10,0x14a488a16429 ;; object: 0x14a488a16429 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c88d0 720 4c8953ff REX.W movq [rbx-0x1],r10
0x351d932c88d4 724 488d53ff REX.W leaq rdx,[rbx-0x1]
0x351d932c88d8 728 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c88df 735 41f6420804 testb [r10+0x8],0x4
0x351d932c88e4 740 7405 jz 747 (0x351d932c88eb)
0x351d932c88e6 742 e8b5edffff call 0x351d932c76a0 ;; code: STUB, RecordWriteStub, minor: 12963
0x351d932c88eb 747 48894367 REX.W movq [rbx+0x67],rax
0x351d932c88ef 751 488d5367 REX.W leaq rdx,[rbx+0x67]
0x351d932c88f3 755 48250000f0ff REX.W and rax,0xfffffffffff00000
0x351d932c88f9 761 f6400804 testb [rax+0x8],0x4
0x351d932c88fd 765 7415 jz 788 (0x351d932c8914)
0x351d932c88ff 767 48c7c00000f0ff REX.W movq rax,0xfff00000
0x351d932c8906 774 4823c3 REX.W andq rax,rbx
0x351d932c8909 777 f6400808 testb [rax+0x8],0x8
0x351d932c890d 781 7405 jz 788 (0x351d932c8914)
0x351d932c890f 783 e86cf2ffff call 0x351d932c7b80 ;; code: STUB, RecordWriteStub, minor: 8707
;;; <@108,#131> push-argument
0x351d932c8914 788 49ba318bc9bdff1f0000 REX.W movq r10,0x1fffbdc98b31 ;; debug: position 3493
;; object: 0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>
0x351d932c891e 798 4152 push r10
;;; <@109,#131> gap
0x351d932c8920 800 488b4520 REX.W movq rax,[rbp+0x20]
;;; <@110,#131> push-argument
0x351d932c8924 804 50 push rax
;;; <@112,#115> constant-t
0x351d932c8925 805 48bf318bc9bdff1f0000 REX.W movq rdi,0x1fffbdc98b31 ;; debug: position 3461
;; object: 0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>
;;; <@113,#115> gap
0x351d932c892f 815 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@114,#132> call-new
0x351d932c8933 819 b801000000 movl rax,0x1 ;; debug: position 3493
0x351d932c8938 824 498b5da8 REX.W movq rbx,[r13-0x58]
0x351d932c893c 828 e81f13e6ff call 0x351d93129c60 ;; code: constructor, STUB, CallConstructStub, minor: 0
;;; <@116,#133> lazy-bailout
;;; <@117,#133> gap
0x351d932c8941 833 488b9d80000000 REX.W movq rbx,[rbp+0x80]
;;; <@118,#135> check-maps
0x351d932c8948 840 49ba2964a188a4140000 REX.W movq r10,0x14a488a16429 ;; debug: position 3491
;; object: 0x14a488a16429 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c8952 850 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932c8956 854 0f852a020000 jnz 1414 (0x351d932c8b86)
;;; <@120,#140> check-non-smi
0x351d932c895c 860 a801 test al,0x1
0x351d932c895e 862 0f8427020000 jz 1419 (0x351d932c8b8b)
;;; <@122,#141> check-maps
0x351d932c8964 868 49ba3974908290160000 REX.W movq r10,0x169082907439 ;; object: 0x169082907439 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x351d932c896e 878 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932c8972 882 0f8518020000 jnz 1424 (0x351d932c8b90)
;;; <@124,#143> store-named-field
0x351d932c8978 888 49ba8164a188a4140000 REX.W movq r10,0x14a488a16481 ;; object: 0x14a488a16481 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c8982 898 4c8953ff REX.W movq [rbx-0x1],r10
0x351d932c8986 902 488d53ff REX.W leaq rdx,[rbx-0x1]
0x351d932c898a 906 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c8991 913 41f6420804 testb [r10+0x8],0x4
0x351d932c8996 918 7405 jz 925 (0x351d932c899d)
0x351d932c8998 920 e803edffff call 0x351d932c76a0 ;; code: STUB, RecordWriteStub, minor: 12963
0x351d932c899d 925 4889436f REX.W movq [rbx+0x6f],rax
0x351d932c89a1 929 488d536f REX.W leaq rdx,[rbx+0x6f]
0x351d932c89a5 933 48250000f0ff REX.W and rax,0xfffffffffff00000
0x351d932c89ab 939 f6400804 testb [rax+0x8],0x4
0x351d932c89af 943 7415 jz 966 (0x351d932c89c6)
0x351d932c89b1 945 48c7c00000f0ff REX.W movq rax,0xfff00000
0x351d932c89b8 952 4823c3 REX.W andq rax,rbx
0x351d932c89bb 955 f6400808 testb [rax+0x8],0x8
0x351d932c89bf 959 7405 jz 966 (0x351d932c89c6)
0x351d932c89c1 961 e8baf1ffff call 0x351d932c7b80 ;; code: STUB, RecordWriteStub, minor: 8707
;;; <@126,#146> push-argument
0x351d932c89c6 966 49ba318bc9bdff1f0000 REX.W movq r10,0x1fffbdc98b31 ;; debug: position 3529
;; object: 0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>
0x351d932c89d0 976 4152 push r10
;;; <@127,#146> gap
0x351d932c89d2 978 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@128,#146> push-argument
0x351d932c89d6 982 50 push rax
;;; <@130,#115> constant-t
0x351d932c89d7 983 48bf318bc9bdff1f0000 REX.W movq rdi,0x1fffbdc98b31 ;; debug: position 3461
;; object: 0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>
;;; <@131,#115> gap
0x351d932c89e1 993 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@132,#147> call-new
0x351d932c89e5 997 b801000000 movl rax,0x1 ;; debug: position 3529
0x351d932c89ea 1002 498b5da8 REX.W movq rbx,[r13-0x58]
0x351d932c89ee 1006 e86d12e6ff call 0x351d93129c60 ;; code: constructor, STUB, CallConstructStub, minor: 0
;;; <@134,#148> lazy-bailout
;;; <@135,#148> gap
0x351d932c89f3 1011 488b9d80000000 REX.W movq rbx,[rbp+0x80]
;;; <@136,#150> check-maps
0x351d932c89fa 1018 49ba8164a188a4140000 REX.W movq r10,0x14a488a16481 ;; debug: position 3527
;; object: 0x14a488a16481 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c8a04 1028 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932c8a08 1032 0f8587010000 jnz 1429 (0x351d932c8b95)
;;; <@138,#155> check-non-smi
0x351d932c8a0e 1038 a801 test al,0x1
0x351d932c8a10 1040 0f8484010000 jz 1434 (0x351d932c8b9a)
;;; <@140,#156> check-maps
0x351d932c8a16 1046 49ba3974908290160000 REX.W movq r10,0x169082907439 ;; object: 0x169082907439 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x351d932c8a20 1056 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932c8a24 1060 0f8575010000 jnz 1439 (0x351d932c8b9f)
;;; <@142,#158> store-named-field
0x351d932c8a2a 1066 49bad964a188a4140000 REX.W movq r10,0x14a488a164d9 ;; object: 0x14a488a164d9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c8a34 1076 4c8953ff REX.W movq [rbx-0x1],r10
0x351d932c8a38 1080 488d53ff REX.W leaq rdx,[rbx-0x1]
0x351d932c8a3c 1084 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c8a43 1091 41f6420804 testb [r10+0x8],0x4
0x351d932c8a48 1096 7405 jz 1103 (0x351d932c8a4f)
0x351d932c8a4a 1098 e851ecffff call 0x351d932c76a0 ;; code: STUB, RecordWriteStub, minor: 12963
0x351d932c8a4f 1103 48894377 REX.W movq [rbx+0x77],rax
0x351d932c8a53 1107 488d5377 REX.W leaq rdx,[rbx+0x77]
0x351d932c8a57 1111 48250000f0ff REX.W and rax,0xfffffffffff00000
0x351d932c8a5d 1117 f6400804 testb [rax+0x8],0x4
0x351d932c8a61 1121 7415 jz 1144 (0x351d932c8a78)
0x351d932c8a63 1123 48c7c00000f0ff REX.W movq rax,0xfff00000
0x351d932c8a6a 1130 4823c3 REX.W andq rax,rbx
0x351d932c8a6d 1133 f6400808 testb [rax+0x8],0x8
0x351d932c8a71 1137 7405 jz 1144 (0x351d932c8a78)
0x351d932c8a73 1139 e808f1ffff call 0x351d932c7b80 ;; code: STUB, RecordWriteStub, minor: 8707
;;; <@144,#161> push-argument
0x351d932c8a78 1144 49ba318bc9bdff1f0000 REX.W movq r10,0x1fffbdc98b31 ;; debug: position 3569
;; object: 0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>
0x351d932c8a82 1154 4152 push r10
;;; <@145,#161> gap
0x351d932c8a84 1156 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@146,#161> push-argument
0x351d932c8a88 1160 50 push rax
;;; <@148,#115> constant-t
0x351d932c8a89 1161 48bf318bc9bdff1f0000 REX.W movq rdi,0x1fffbdc98b31 ;; debug: position 3461
;; object: 0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>
;;; <@149,#115> gap
0x351d932c8a93 1171 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@150,#162> call-new
0x351d932c8a97 1175 b801000000 movl rax,0x1 ;; debug: position 3569
0x351d932c8a9c 1180 498b5da8 REX.W movq rbx,[r13-0x58]
0x351d932c8aa0 1184 e8bb11e6ff call 0x351d93129c60 ;; code: constructor, STUB, CallConstructStub, minor: 0
;;; <@152,#163> lazy-bailout
;;; <@153,#163> gap
0x351d932c8aa5 1189 488b9d80000000 REX.W movq rbx,[rbp+0x80]
;;; <@154,#165> check-maps
0x351d932c8aac 1196 49bad964a188a4140000 REX.W movq r10,0x14a488a164d9 ;; debug: position 3567
;; object: 0x14a488a164d9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c8ab6 1206 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932c8aba 1210 0f85e4000000 jnz 1444 (0x351d932c8ba4)
;;; <@156,#170> check-non-smi
0x351d932c8ac0 1216 a801 test al,0x1
0x351d932c8ac2 1218 0f84e1000000 jz 1449 (0x351d932c8ba9)
;;; <@158,#171> check-maps
0x351d932c8ac8 1224 49ba3974908290160000 REX.W movq r10,0x169082907439 ;; object: 0x169082907439 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x351d932c8ad2 1234 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932c8ad6 1238 0f85d2000000 jnz 1454 (0x351d932c8bae)
;;; <@160,#173> store-named-field
0x351d932c8adc 1244 49ba3165a188a4140000 REX.W movq r10,0x14a488a16531 ;; object: 0x14a488a16531 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c8ae6 1254 4c8953ff REX.W movq [rbx-0x1],r10
0x351d932c8aea 1258 488d53ff REX.W leaq rdx,[rbx-0x1]
0x351d932c8aee 1262 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x351d932c8af5 1269 41f6420804 testb [r10+0x8],0x4
0x351d932c8afa 1274 7405 jz 1281 (0x351d932c8b01)
0x351d932c8afc 1276 e89febffff call 0x351d932c76a0 ;; code: STUB, RecordWriteStub, minor: 12963
0x351d932c8b01 1281 4889437f REX.W movq [rbx+0x7f],rax
0x351d932c8b05 1285 488d537f REX.W leaq rdx,[rbx+0x7f]
0x351d932c8b09 1289 48250000f0ff REX.W and rax,0xfffffffffff00000
0x351d932c8b0f 1295 f6400804 testb [rax+0x8],0x4
0x351d932c8b13 1299 7415 jz 1322 (0x351d932c8b2a)
0x351d932c8b15 1301 48c7c00000f0ff REX.W movq rax,0xfff00000
0x351d932c8b1c 1308 4823c3 REX.W andq rax,rbx
0x351d932c8b1f 1311 f6400808 testb [rax+0x8],0x8
0x351d932c8b23 1315 7405 jz 1322 (0x351d932c8b2a)
0x351d932c8b25 1317 e856f0ffff call 0x351d932c7b80 ;; code: STUB, RecordWriteStub, minor: 8707
;;; <@162,#18> constant-t
0x351d932c8b2a 1322 48b8b941c0bdff1f0000 REX.W movq rax,0x1fffbdc041b9 ;; debug: position 3068
;; object: 0x1fffbdc041b9 <undefined>
;;; <@164,#176> return
0x351d932c8b34 1332 488be5 REX.W movq rsp,rbp
0x351d932c8b37 1335 5d pop rbp
0x351d932c8b38 1336 c27800 ret 0x78
;;; -------------------- Jump table --------------------
0x351d932c8b3b 1339 e8cad4b3ff call 0x351d92e0600a ;; debug: position 92672
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932c8b40 1344 e8cfd4b3ff call 0x351d92e06014 ;; debug: position 92672
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x351d932c8b45 1349 e8d4d4b3ff call 0x351d92e0601e ;; debug: position 92672
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 3
0x351d932c8b4a 1354 e8d9d4b3ff call 0x351d92e06028 ;; debug: position 102400
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 4
0x351d932c8b4f 1359 e8ded4b3ff call 0x351d92e06032 ;; debug: position 113152
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 5
0x351d932c8b54 1364 e8e3d4b3ff call 0x351d92e0603c ;; debug: position 123392
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 6
0x351d932c8b59 1369 e8e8d4b3ff call 0x351d92e06046 ;; debug: position 132608
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 7
0x351d932c8b5e 1374 e8edd4b3ff call 0x351d92e06050 ;; debug: position 142336
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 8
0x351d932c8b63 1379 e8f2d4b3ff call 0x351d92e0605a ;; debug: position 154112
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 9
0x351d932c8b68 1384 e8f7d4b3ff call 0x351d92e06064 ;; debug: position 165376
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 10
0x351d932c8b6d 1389 e8fcd4b3ff call 0x351d92e0606e ;; debug: position 175104
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 11
0x351d932c8b72 1394 e801d5b3ff call 0x351d92e06078 ;; debug: position 186368
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 12
0x351d932c8b77 1399 e810d5b3ff call 0x351d92e0608c ;; debug: position 198144
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 14
0x351d932c8b7c 1404 e815d5b3ff call 0x351d92e06096 ;; debug: position 198144
;; debug: deopt reason 'Smi'
;; deoptimization bailout 15
0x351d932c8b81 1409 e81ad5b3ff call 0x351d92e060a0 ;; debug: position 198144
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 16
0x351d932c8b86 1414 e829d5b3ff call 0x351d92e060b4 ;; debug: position 216576
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 18
0x351d932c8b8b 1419 e82ed5b3ff call 0x351d92e060be ;; debug: position 216576
;; debug: deopt reason 'Smi'
;; deoptimization bailout 19
0x351d932c8b90 1424 e833d5b3ff call 0x351d92e060c8 ;; debug: position 216576
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 20
0x351d932c8b95 1429 e842d5b3ff call 0x351d92e060dc ;; debug: position 235008
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 22
0x351d932c8b9a 1434 e847d5b3ff call 0x351d92e060e6 ;; debug: position 235008
;; debug: deopt reason 'Smi'
;; deoptimization bailout 23
0x351d932c8b9f 1439 e84cd5b3ff call 0x351d92e060f0 ;; debug: position 235008
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 24
0x351d932c8ba4 1444 e85bd5b3ff call 0x351d92e06104 ;; debug: position 255488
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 26
0x351d932c8ba9 1449 e860d5b3ff call 0x351d92e0610e ;; debug: position 255488
;; debug: deopt reason 'Smi'
;; deoptimization bailout 27
0x351d932c8bae 1454 e865d5b3ff call 0x351d92e06118 ;; debug: position 255488
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 28
0x351d932c8bb3 1459 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 29)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 3 0 -1
4 4 0 -1
5 20 0 -1
6 36 0 -1
7 52 0 -1
8 68 0 -1
9 84 0 -1
10 100 0 -1
11 116 0 -1
12 132 0 -1
13 177 0 655
14 177 0 -1
15 177 0 -1
16 177 0 -1
17 199 0 833
18 199 0 -1
19 199 0 -1
20 199 0 -1
21 221 0 1011
22 221 0 -1
23 221 0 -1
24 221 0 -1
25 243 0 1189
26 243 0 -1
27 243 0 -1
28 243 0 -1
Safepoints (size = 63)
0x351d932c8623 35 1 (sp -> fp) 0
0x351d932c888f 655 1 (sp -> fp) 13
0x351d932c8941 833 1 (sp -> fp) 17
0x351d932c89f3 1011 1 (sp -> fp) 21
0x351d932c8aa5 1189 1 (sp -> fp) 25
RelocInfo (size = 1418)
0x351d932c860a position (3068)
0x351d932c860a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932c860a comment (;;; <@2,#1> context)
0x351d932c860e comment (;;; <@3,#1> gap)
0x351d932c8612 comment (;;; <@36,#21> -------------------- B1 --------------------)
0x351d932c8612 comment (;;; <@37,#21> gap)
0x351d932c8615 comment (;;; <@38,#23> stack-check)
0x351d932c861f code target (BUILTIN) (0x351d93134ee0)
0x351d932c8623 comment (;;; <@40,#23> lazy-bailout)
0x351d932c8623 comment (;;; <@41,#23> gap)
0x351d932c862a comment (;;; <@42,#25> check-non-smi)
0x351d932c862a position (3249)
0x351d932c8632 comment (;;; <@44,#26> check-maps)
0x351d932c8634 embedded object (0x14a488a16061 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c8646 comment (;;; <@46,#28> check-maps)
0x351d932c8646 comment (;;; <@48,#30> check-maps)
0x351d932c8646 comment (;;; <@49,#30> gap)
0x351d932c864a comment (;;; <@50,#178> check-smi)
0x351d932c8653 comment (;;; <@52,#32> store-named-field)
0x351d932c8655 embedded object (0x14a488a160b9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c8674 code target (STUB) (0x351d932c71c0)
0x351d932c867c comment (;;; <@53,#32> gap)
0x351d932c8680 comment (;;; <@54,#179> check-smi)
0x351d932c8680 position (3268)
0x351d932c8689 comment (;;; <@56,#41> store-named-field)
0x351d932c868b embedded object (0x14a488a16111 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c86aa code target (STUB) (0x351d932c71c0)
0x351d932c86b2 comment (;;; <@57,#41> gap)
0x351d932c86b6 comment (;;; <@58,#180> check-smi)
0x351d932c86b6 position (3289)
0x351d932c86bf comment (;;; <@60,#50> store-named-field)
0x351d932c86c1 embedded object (0x14a488a16169 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c86e0 code target (STUB) (0x351d932c71c0)
0x351d932c86e8 comment (;;; <@61,#50> gap)
0x351d932c86ec comment (;;; <@62,#181> check-smi)
0x351d932c86ec position (3309)
0x351d932c86f5 comment (;;; <@64,#59> store-named-field)
0x351d932c86f7 embedded object (0x14a488a161c1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c8716 code target (STUB) (0x351d932c71c0)
0x351d932c871e comment (;;; <@65,#59> gap)
0x351d932c8722 comment (;;; <@66,#182> check-smi)
0x351d932c8722 position (3327)
0x351d932c872b comment (;;; <@68,#68> store-named-field)
0x351d932c872d embedded object (0x14a488a16219 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c874c code target (STUB) (0x351d932c71c0)
0x351d932c8754 comment (;;; <@69,#68> gap)
0x351d932c8758 comment (;;; <@70,#183> check-smi)
0x351d932c8758 position (3346)
0x351d932c8761 comment (;;; <@72,#77> store-named-field)
0x351d932c8763 embedded object (0x14a488a16271 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c8782 code target (STUB) (0x351d932c71c0)
0x351d932c878a comment (;;; <@73,#77> gap)
0x351d932c878e comment (;;; <@74,#184> check-smi)
0x351d932c878e position (3369)
0x351d932c8797 comment (;;; <@76,#86> store-named-field)
0x351d932c8799 embedded object (0x14a488a162c9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c87b8 code target (STUB) (0x351d932c71c0)
0x351d932c87c0 comment (;;; <@77,#86> gap)
0x351d932c87c4 comment (;;; <@78,#185> check-smi)
0x351d932c87c4 position (3391)
0x351d932c87cd comment (;;; <@80,#95> store-named-field)
0x351d932c87cf embedded object (0x14a488a16321 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c87ee code target (STUB) (0x351d932c71c0)
0x351d932c87f6 comment (;;; <@81,#95> gap)
0x351d932c87fa comment (;;; <@82,#186> check-smi)
0x351d932c87fa position (3410)
0x351d932c8803 comment (;;; <@84,#104> store-named-field)
0x351d932c8805 embedded object (0x14a488a16379 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c8824 code target (STUB) (0x351d932c71c0)
0x351d932c882c comment (;;; <@85,#104> gap)
0x351d932c8830 comment (;;; <@86,#187> check-smi)
0x351d932c8830 position (3432)
0x351d932c8839 comment (;;; <@88,#113> store-named-field)
0x351d932c883b embedded object (0x14a488a163d1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c885a code target (STUB) (0x351d932c71c0)
0x351d932c8862 comment (;;; <@90,#116> push-argument)
0x351d932c8862 position (3457)
0x351d932c8864 embedded object (0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>)
0x351d932c886e comment (;;; <@91,#116> gap)
0x351d932c8872 comment (;;; <@92,#116> push-argument)
0x351d932c8873 comment (;;; <@94,#115> constant-t)
0x351d932c8873 position (3461)
0x351d932c8875 embedded object (0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>)
0x351d932c887d comment (;;; <@95,#115> gap)
0x351d932c8881 comment (;;; <@96,#117> call-new)
0x351d932c8881 position (3457)
0x351d932c888b code target (js construct call) (STUB) (0x351d93129c60)
0x351d932c888f comment (;;; <@98,#118> lazy-bailout)
0x351d932c888f comment (;;; <@99,#118> gap)
0x351d932c8896 comment (;;; <@100,#120> check-maps)
0x351d932c8896 position (3455)
0x351d932c8898 embedded object (0x14a488a163d1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c88aa comment (;;; <@102,#125> check-non-smi)
0x351d932c88b2 comment (;;; <@104,#126> check-maps)
0x351d932c88b4 embedded object (0x169082907439 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x351d932c88c6 comment (;;; <@106,#128> store-named-field)
0x351d932c88c8 embedded object (0x14a488a16429 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c88e7 code target (STUB) (0x351d932c76a0)
0x351d932c8910 code target (STUB) (0x351d932c7b80)
0x351d932c8914 comment (;;; <@108,#131> push-argument)
0x351d932c8914 position (3493)
0x351d932c8916 embedded object (0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>)
0x351d932c8920 comment (;;; <@109,#131> gap)
0x351d932c8924 comment (;;; <@110,#131> push-argument)
0x351d932c8925 comment (;;; <@112,#115> constant-t)
0x351d932c8925 position (3461)
0x351d932c8927 embedded object (0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>)
0x351d932c892f comment (;;; <@113,#115> gap)
0x351d932c8933 comment (;;; <@114,#132> call-new)
0x351d932c8933 position (3493)
0x351d932c893d code target (js construct call) (STUB) (0x351d93129c60)
0x351d932c8941 comment (;;; <@116,#133> lazy-bailout)
0x351d932c8941 comment (;;; <@117,#133> gap)
0x351d932c8948 comment (;;; <@118,#135> check-maps)
0x351d932c8948 position (3491)
0x351d932c894a embedded object (0x14a488a16429 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c895c comment (;;; <@120,#140> check-non-smi)
0x351d932c8964 comment (;;; <@122,#141> check-maps)
0x351d932c8966 embedded object (0x169082907439 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x351d932c8978 comment (;;; <@124,#143> store-named-field)
0x351d932c897a embedded object (0x14a488a16481 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c8999 code target (STUB) (0x351d932c76a0)
0x351d932c89c2 code target (STUB) (0x351d932c7b80)
0x351d932c89c6 comment (;;; <@126,#146> push-argument)
0x351d932c89c6 position (3529)
0x351d932c89c8 embedded object (0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>)
0x351d932c89d2 comment (;;; <@127,#146> gap)
0x351d932c89d6 comment (;;; <@128,#146> push-argument)
0x351d932c89d7 comment (;;; <@130,#115> constant-t)
0x351d932c89d7 position (3461)
0x351d932c89d9 embedded object (0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>)
0x351d932c89e1 comment (;;; <@131,#115> gap)
0x351d932c89e5 comment (;;; <@132,#147> call-new)
0x351d932c89e5 position (3529)
0x351d932c89ef code target (js construct call) (STUB) (0x351d93129c60)
0x351d932c89f3 comment (;;; <@134,#148> lazy-bailout)
0x351d932c89f3 comment (;;; <@135,#148> gap)
0x351d932c89fa comment (;;; <@136,#150> check-maps)
0x351d932c89fa position (3527)
0x351d932c89fc embedded object (0x14a488a16481 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c8a0e comment (;;; <@138,#155> check-non-smi)
0x351d932c8a16 comment (;;; <@140,#156> check-maps)
0x351d932c8a18 embedded object (0x169082907439 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x351d932c8a2a comment (;;; <@142,#158> store-named-field)
0x351d932c8a2c embedded object (0x14a488a164d9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c8a4b code target (STUB) (0x351d932c76a0)
0x351d932c8a74 code target (STUB) (0x351d932c7b80)
0x351d932c8a78 comment (;;; <@144,#161> push-argument)
0x351d932c8a78 position (3569)
0x351d932c8a7a embedded object (0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>)
0x351d932c8a84 comment (;;; <@145,#161> gap)
0x351d932c8a88 comment (;;; <@146,#161> push-argument)
0x351d932c8a89 comment (;;; <@148,#115> constant-t)
0x351d932c8a89 position (3461)
0x351d932c8a8b embedded object (0x1fffbdc98b31 <JS Function Date (SharedFunctionInfo 0x1fffbdc5dda1)>)
0x351d932c8a93 comment (;;; <@149,#115> gap)
0x351d932c8a97 comment (;;; <@150,#162> call-new)
0x351d932c8a97 position (3569)
0x351d932c8aa1 code target (js construct call) (STUB) (0x351d93129c60)
0x351d932c8aa5 comment (;;; <@152,#163> lazy-bailout)
0x351d932c8aa5 comment (;;; <@153,#163> gap)
0x351d932c8aac comment (;;; <@154,#165> check-maps)
0x351d932c8aac position (3567)
0x351d932c8aae embedded object (0x14a488a164d9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c8ac0 comment (;;; <@156,#170> check-non-smi)
0x351d932c8ac8 comment (;;; <@158,#171> check-maps)
0x351d932c8aca embedded object (0x169082907439 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x351d932c8adc comment (;;; <@160,#173> store-named-field)
0x351d932c8ade embedded object (0x14a488a16531 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c8afd code target (STUB) (0x351d932c76a0)
0x351d932c8b26 code target (STUB) (0x351d932c7b80)
0x351d932c8b2a comment (;;; <@162,#18> constant-t)
0x351d932c8b2a position (3068)
0x351d932c8b2c embedded object (0x1fffbdc041b9 <undefined>)
0x351d932c8b34 comment (;;; <@164,#176> return)
0x351d932c8b3b comment (;;; -------------------- Jump table --------------------)
0x351d932c8b3b position (92672)
0x351d932c8b3b deopt reason (Smi)
0x351d932c8b3c runtime entry (deoptimization bailout 1)
0x351d932c8b40 position (92672)
0x351d932c8b40 deopt reason (wrong map)
0x351d932c8b41 runtime entry (deoptimization bailout 2)
0x351d932c8b45 position (92672)
0x351d932c8b45 deopt reason (not a Smi)
0x351d932c8b46 runtime entry (deoptimization bailout 3)
0x351d932c8b4a position (102400)
0x351d932c8b4a deopt reason (not a Smi)
0x351d932c8b4b runtime entry (deoptimization bailout 4)
0x351d932c8b4f position (113152)
0x351d932c8b4f deopt reason (not a Smi)
0x351d932c8b50 runtime entry (deoptimization bailout 5)
0x351d932c8b54 position (123392)
0x351d932c8b54 deopt reason (not a Smi)
0x351d932c8b55 runtime entry (deoptimization bailout 6)
0x351d932c8b59 position (132608)
0x351d932c8b59 deopt reason (not a Smi)
0x351d932c8b5a runtime entry (deoptimization bailout 7)
0x351d932c8b5e position (142336)
0x351d932c8b5e deopt reason (not a Smi)
0x351d932c8b5f runtime entry (deoptimization bailout 8)
0x351d932c8b63 position (154112)
0x351d932c8b63 deopt reason (not a Smi)
0x351d932c8b64 runtime entry (deoptimization bailout 9)
0x351d932c8b68 position (165376)
0x351d932c8b68 deopt reason (not a Smi)
0x351d932c8b69 runtime entry (deoptimization bailout 10)
0x351d932c8b6d position (175104)
0x351d932c8b6d deopt reason (not a Smi)
0x351d932c8b6e runtime entry (deoptimization bailout 11)
0x351d932c8b72 position (186368)
0x351d932c8b72 deopt reason (not a Smi)
0x351d932c8b73 runtime entry (deoptimization bailout 12)
0x351d932c8b77 position (198144)
0x351d932c8b77 deopt reason (wrong map)
0x351d932c8b78 runtime entry (deoptimization bailout 14)
0x351d932c8b7c position (198144)
0x351d932c8b7c deopt reason (Smi)
0x351d932c8b7d runtime entry (deoptimization bailout 15)
0x351d932c8b81 position (198144)
0x351d932c8b81 deopt reason (wrong map)
0x351d932c8b82 runtime entry (deoptimization bailout 16)
0x351d932c8b86 position (216576)
0x351d932c8b86 deopt reason (wrong map)
0x351d932c8b87 runtime entry (deoptimization bailout 18)
0x351d932c8b8b position (216576)
0x351d932c8b8b deopt reason (Smi)
0x351d932c8b8c runtime entry (deoptimization bailout 19)
0x351d932c8b90 position (216576)
0x351d932c8b90 deopt reason (wrong map)
0x351d932c8b91 runtime entry (deoptimization bailout 20)
0x351d932c8b95 position (235008)
0x351d932c8b95 deopt reason (wrong map)
0x351d932c8b96 runtime entry (deoptimization bailout 22)
0x351d932c8b9a position (235008)
0x351d932c8b9a deopt reason (Smi)
0x351d932c8b9b runtime entry (deoptimization bailout 23)
0x351d932c8b9f position (235008)
0x351d932c8b9f deopt reason (wrong map)
0x351d932c8ba0 runtime entry (deoptimization bailout 24)
0x351d932c8ba4 position (255488)
0x351d932c8ba4 deopt reason (wrong map)
0x351d932c8ba5 runtime entry (deoptimization bailout 26)
0x351d932c8ba9 position (255488)
0x351d932c8ba9 deopt reason (Smi)
0x351d932c8baa runtime entry (deoptimization bailout 27)
0x351d932c8bae position (255488)
0x351d932c8bae deopt reason (wrong map)
0x351d932c8baf runtime entry (deoptimization bailout 28)
0x351d932c8bb4 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (fs.Stats._checkModeProperty) id{13,0} ---
(property) {
return ((this.mode & constants.S_IFMT) === property);
}
--- END ---
--- Raw source ---
(property) {
return ((this.mode & constants.S_IFMT) === property);
};
--- Optimized code ---
optimization_id = 13
source_position = 3749
kind = OPTIMIZED_FUNCTION
name = fs.Stats._checkModeProperty
stack_slots = 2
compiler = crankshaft
Instructions (size = 414)
0x351d932c8e80 0 55 push rbp
0x351d932c8e81 1 4889e5 REX.W movq rbp,rsp
0x351d932c8e84 4 56 push rsi
0x351d932c8e85 5 57 push rdi
0x351d932c8e86 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932c8e8a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 3749
;;; <@3,#1> gap
0x351d932c8e8e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932c8e92 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932c8e95 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932c8e9c 28 7305 jnc 35 (0x351d932c8ea3)
0x351d932c8e9e 30 e83dc0e6ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@15,#10> gap
0x351d932c8ea3 35 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@16,#12> check-non-smi
0x351d932c8ea7 39 a801 test al,0x1 ;; debug: position 3777
0x351d932c8ea9 41 0f842c010000 jz 347 (0x351d932c8fdb)
;;; <@18,#13> check-maps
0x351d932c8eaf 47 49ba3165a188a4140000 REX.W movq r10,0x14a488a16531 ;; object: 0x14a488a16531 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932c8eb9 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932c8ebd 61 0f851d010000 jnz 352 (0x351d932c8fe0)
;;; <@20,#14> load-named-field
0x351d932c8ec3 67 8b5823 movl rbx,[rax+0x23]
;;; <@21,#14> gap
0x351d932c8ec6 70 48895de0 REX.W movq [rbp-0x20],rbx
0x351d932c8eca 74 488b4de8 REX.W movq rcx,[rbp-0x18]
;;; <@22,#15> load-context-slot
0x351d932c8ece 78 488b514f REX.W movq rdx,[rcx+0x4f] ;; debug: position 3785
0x351d932c8ed2 82 493b55b0 REX.W cmpq rdx,[r13-0x50]
0x351d932c8ed6 86 0f8409010000 jz 357 (0x351d932c8fe5)
;;; <@23,#15> gap
0x351d932c8edc 92 488bf1 REX.W movq rsi,rcx
;;; <@24,#16> load-named-generic
0x351d932c8edf 95 48b97986911214170000 REX.W movq rcx,0x171412918679 ;; debug: position 3794
;; object: 0x171412918679 <String[6]: S_IFMT>
0x351d932c8ee9 105 48bb19b0931214170000 REX.W movq rbx,0x17141293b019 ;; object: 0x17141293b019 <FixedArray[8]>
0x351d932c8ef3 115 48b80000000006000000 REX.W movq rax,0x600000000
0x351d932c8efd 125 e89ef3fdff call 0x351d932a82a0 ;; code: LOAD_IC, DEFAULT
;;; <@26,#17> lazy-bailout
;;; <@27,#17> gap
0x351d932c8f02 130 488bd8 REX.W movq rbx,rax
;;; <@28,#35> tagged-to-i
0x351d932c8f05 133 f6c301 testb rbx,0x1
0x351d932c8f08 136 0f853f000000 jnz 205 (0x351d932c8f4d)
0x351d932c8f0e 142 48c1eb20 REX.W shrq rbx, 32
;;; <@30,#18> bit-i
0x351d932c8f12 146 235de0 andl rbx,[rbp-0x20] ;; debug: position 3783
;;; <@31,#18> gap
0x351d932c8f15 149 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@32,#34> tagged-to-i
0x351d932c8f19 153 a801 test al,0x1 ;; debug: position 3807
0x351d932c8f1b 155 0f8587000000 jnz 296 (0x351d932c8fa8)
0x351d932c8f21 161 48c1e820 REX.W shrq rax, 32
;;; <@35,#20> compare-numeric-and-branch
0x351d932c8f25 165 3bd8 cmpl rbx,rax ;; debug: position 3803
0x351d932c8f27 167 0f840f000000 jz 188 (0x351d932c8f3c)
;;; <@36,#26> -------------------- B2 --------------------
;;; <@38,#28> gap
0x351d932c8f2d 173 48b85142c0bdff1f0000 REX.W movq rax,0x1fffbdc04251 ;; object: 0x1fffbdc04251 <false>
;;; <@39,#28> goto
0x351d932c8f37 183 e90a000000 jmp 198 (0x351d932c8f46)
;;; <@40,#23> -------------------- B3 --------------------
;;; <@42,#25> gap
0x351d932c8f3c 188 48b81142c0bdff1f0000 REX.W movq rax,0x1fffbdc04211 ;; object: 0x1fffbdc04211 <true>
;;; <@44,#30> -------------------- B4 --------------------
;;; <@46,#32> return
0x351d932c8f46 198 488be5 REX.W movq rsp,rbp ;; debug: position 3764
0x351d932c8f49 201 5d pop rbp
0x351d932c8f4a 202 c21000 ret 0x10
;;; <@28,#35> -------------------- Deferred tagged-to-i --------------------
0x351d932c8f4d 205 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 3794
0x351d932c8f51 209 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932c8f55 213 7526 jnz 253 (0x351d932c8f7d)
0x351d932c8f57 215 f20f104307 movsd xmm0,[rbx+0x7]
0x351d932c8f5c 220 f2480f2cd8 REX.W cvttsd2siq rbx,xmm0
0x351d932c8f61 225 4883fb01 REX.W cmpq rbx,0x1
0x351d932c8f65 229 7112 jno 249 (0x351d932c8f79)
0x351d932c8f67 231 4883ec08 REX.W subq rsp,0x8
0x351d932c8f6b 235 f20f110424 movsd [rsp],xmm0
0x351d932c8f70 240 e84bfeffff call 0x351d932c8dc0 ;; code: STUB, DoubleToIStub, minor: 135364
0x351d932c8f75 245 4883c408 REX.W addq rsp,0x8
0x351d932c8f79 249 8bdb movl rbx,rbx
0x351d932c8f7b 251 eb95 jmp 146 (0x351d932c8f12)
0x351d932c8f7d 253 493b5da8 REX.W cmpq rbx,[r13-0x58]
0x351d932c8f81 257 7504 jnz 263 (0x351d932c8f87)
0x351d932c8f83 259 33db xorl rbx,rbx
0x351d932c8f85 261 eb8b jmp 146 (0x351d932c8f12)
0x351d932c8f87 263 493b5dc0 REX.W cmpq rbx,[r13-0x40]
0x351d932c8f8b 267 750a jnz 279 (0x351d932c8f97)
0x351d932c8f8d 269 bb01000000 movl rbx,0x1
0x351d932c8f92 274 e97bffffff jmp 146 (0x351d932c8f12)
0x351d932c8f97 279 493b5dc8 REX.W cmpq rbx,[r13-0x38]
0x351d932c8f9b 283 0f8549000000 jnz 362 (0x351d932c8fea)
0x351d932c8fa1 289 33db xorl rbx,rbx
0x351d932c8fa3 291 e96affffff jmp 146 (0x351d932c8f12)
;;; <@32,#34> -------------------- Deferred tagged-to-i --------------------
0x351d932c8fa8 296 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 3807
0x351d932c8fac 300 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932c8fb0 304 0f8539000000 jnz 367 (0x351d932c8fef)
0x351d932c8fb6 310 f20f104007 movsd xmm0,[rax+0x7]
0x351d932c8fbb 315 f20f2cc0 cvttsd2sil rax,xmm0
0x351d932c8fbf 319 0f57c9 xorps xmm1,xmm1
0x351d932c8fc2 322 f20f2ac8 cvtsi2sd xmm1,rax
0x351d932c8fc6 326 660f2ec1 ucomisd xmm0,xmm1
0x351d932c8fca 330 0f8524000000 jnz 372 (0x351d932c8ff4)
0x351d932c8fd0 336 0f8a23000000 jpe 377 (0x351d932c8ff9)
0x351d932c8fd6 342 e94affffff jmp 165 (0x351d932c8f25)
;;; -------------------- Jump table --------------------
0x351d932c8fdb 347 e82ad0b3ff call 0x351d92e0600a ;; debug: position 14336
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932c8fe0 352 e82fd0b3ff call 0x351d92e06014 ;; debug: position 14336
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x351d932c8fe5 357 e834d0b3ff call 0x351d92e0601e ;; debug: position 18432
;; debug: deopt reason 'hole'
;; deoptimization bailout 3
0x351d932c8fea 362 e843d0b3ff call 0x351d92e06032 ;; debug: position 23040
;; debug: deopt reason 'not a heap number/undefined/true/false'
;; deoptimization bailout 5
0x351d932c8fef 367 e848d0b3ff call 0x351d92e0603c ;; debug: position 29696
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 6
0x351d932c8ff4 372 e843d0b3ff call 0x351d92e0603c ;; debug: position 29696
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 6
0x351d932c8ff9 377 e83ed0b3ff call 0x351d92e0603c ;; debug: position 29696
;; debug: deopt reason 'NaN'
;; deoptimization bailout 6
0x351d932c8ffe 382 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 7)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 3 0 -1
4 20 0 130
5 20 0 -1
6 7 0 -1
Safepoints (size = 30)
0x351d932c8ea3 35 01 (sp -> fp) 0
0x351d932c8f02 130 01 (sp -> fp) 4
RelocInfo (size = 463)
0x351d932c8e8a position (3749)
0x351d932c8e8a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932c8e8a comment (;;; <@2,#1> context)
0x351d932c8e8e comment (;;; <@3,#1> gap)
0x351d932c8e92 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932c8e92 comment (;;; <@11,#8> gap)
0x351d932c8e95 comment (;;; <@12,#10> stack-check)
0x351d932c8e9f code target (BUILTIN) (0x351d93134ee0)
0x351d932c8ea3 comment (;;; <@14,#10> lazy-bailout)
0x351d932c8ea3 comment (;;; <@15,#10> gap)
0x351d932c8ea7 comment (;;; <@16,#12> check-non-smi)
0x351d932c8ea7 position (3777)
0x351d932c8eaf comment (;;; <@18,#13> check-maps)
0x351d932c8eb1 embedded object (0x14a488a16531 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932c8ec3 comment (;;; <@20,#14> load-named-field)
0x351d932c8ec6 comment (;;; <@21,#14> gap)
0x351d932c8ece comment (;;; <@22,#15> load-context-slot)
0x351d932c8ece position (3785)
0x351d932c8edc comment (;;; <@23,#15> gap)
0x351d932c8edf comment (;;; <@24,#16> load-named-generic)
0x351d932c8edf position (3794)
0x351d932c8ee1 embedded object (0x171412918679 <String[6]: S_IFMT>)
0x351d932c8eeb embedded object (0x17141293b019 <FixedArray[8]>)
0x351d932c8efe code target (LOAD_IC) (0x351d932a82a0)
0x351d932c8f02 comment (;;; <@26,#17> lazy-bailout)
0x351d932c8f02 comment (;;; <@27,#17> gap)
0x351d932c8f05 comment (;;; <@28,#35> tagged-to-i)
0x351d932c8f12 comment (;;; <@30,#18> bit-i)
0x351d932c8f12 position (3783)
0x351d932c8f15 comment (;;; <@31,#18> gap)
0x351d932c8f19 comment (;;; <@32,#34> tagged-to-i)
0x351d932c8f19 position (3807)
0x351d932c8f25 position (3803)
0x351d932c8f25 comment (;;; <@35,#20> compare-numeric-and-branch)
0x351d932c8f2d comment (;;; <@36,#26> -------------------- B2 --------------------)
0x351d932c8f2d comment (;;; <@38,#28> gap)
0x351d932c8f2f embedded object (0x1fffbdc04251 <false>)
0x351d932c8f37 comment (;;; <@39,#28> goto)
0x351d932c8f3c comment (;;; <@40,#23> -------------------- B3 --------------------)
0x351d932c8f3c comment (;;; <@42,#25> gap)
0x351d932c8f3e embedded object (0x1fffbdc04211 <true>)
0x351d932c8f46 position (3764)
0x351d932c8f46 comment (;;; <@44,#30> -------------------- B4 --------------------)
0x351d932c8f46 comment (;;; <@46,#32> return)
0x351d932c8f4d position (3794)
0x351d932c8f4d comment (;;; <@28,#35> -------------------- Deferred tagged-to-i --------------------)
0x351d932c8f71 code target (STUB) (0x351d932c8dc0)
0x351d932c8fa8 position (3807)
0x351d932c8fa8 comment (;;; <@32,#34> -------------------- Deferred tagged-to-i --------------------)
0x351d932c8fdb comment (;;; -------------------- Jump table --------------------)
0x351d932c8fdb position (14336)
0x351d932c8fdb deopt reason (Smi)
0x351d932c8fdc runtime entry (deoptimization bailout 1)
0x351d932c8fe0 position (14336)
0x351d932c8fe0 deopt reason (wrong map)
0x351d932c8fe1 runtime entry (deoptimization bailout 2)
0x351d932c8fe5 position (18432)
0x351d932c8fe5 deopt reason (hole)
0x351d932c8fe6 runtime entry (deoptimization bailout 3)
0x351d932c8fea position (23040)
0x351d932c8fea deopt reason (not a heap number/undefined/true/false)
0x351d932c8feb runtime entry (deoptimization bailout 5)
0x351d932c8fef position (29696)
0x351d932c8fef deopt reason (not a heap number)
0x351d932c8ff0 runtime entry (deoptimization bailout 6)
0x351d932c8ff4 position (29696)
0x351d932c8ff4 deopt reason (lost precision)
0x351d932c8ff5 runtime entry (deoptimization bailout 6)
0x351d932c8ff9 position (29696)
0x351d932c8ff9 deopt reason (NaN)
0x351d932c8ffa runtime entry (deoptimization bailout 6)
0x351d932c9000 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (join) id{14,0} ---
(C){
if((this==null)&&!(%_IsUndetectableObject(this)))throw MakeTypeError(14,"Array.prototype.join");
var o=((%_IsSpecObject(%IS_VAR(this)))?this:$toObject(this));
var v=(o.length>>>0);
return InnerArrayJoin(C,o,v);
}
--- END ---
--- Raw source ---
(C){
if((this==null)&&!(%_IsUndetectableObject(this)))throw MakeTypeError(14,"Array.prototype.join");
var o=((%_IsSpecObject(%IS_VAR(this)))?this:$toObject(this));
var v=(o.length>>>0);
return InnerArrayJoin(C,o,v);
}
--- Optimized code ---
optimization_id = 14
source_position = 5465
kind = OPTIMIZED_FUNCTION
name = join
stack_slots = 1
compiler = crankshaft
Instructions (size = 682)
0x351d932cab40 0 55 push rbp
0x351d932cab41 1 4889e5 REX.W movq rbp,rsp
0x351d932cab44 4 56 push rsi
0x351d932cab45 5 57 push rdi
0x351d932cab46 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932cab4a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 5465
;;; <@3,#1> gap
0x351d932cab4e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932cab52 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932cab55 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932cab5c 28 7305 jnc 35 (0x351d932cab63)
0x351d932cab5e 30 e87da3e6ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@16,#13> gap
0x351d932cab63 35 488b5518 REX.W movq rdx,[rbp+0x18] ;; debug: position 5478
;;; <@17,#13> cmp-object-eq-and-branch
0x351d932cab67 39 49ba0141c0bdff1f0000 REX.W movq r10,0x1fffbdc04101 ;; object: 0x1fffbdc04101 <null>
0x351d932cab71 49 493bd2 REX.W cmpq rdx,r10
0x351d932cab74 52 0f842a000000 jz 100 (0x351d932caba4)
;;; <@18,#18> -------------------- B2 --------------------
;;; <@21,#19> cmp-object-eq-and-branch
0x351d932cab7a 58 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d932cab84 68 493bd2 REX.W cmpq rdx,r10
0x351d932cab87 71 0f8417000000 jz 100 (0x351d932caba4)
;;; <@22,#22> -------------------- B3 --------------------
;;; <@25,#23> is-undetectable-and-branch
0x351d932cab8d 77 f6c201 testb rdx,0x1
0x351d932cab90 80 0f848e000000 jz 228 (0x351d932cac24)
0x351d932cab96 86 488b42ff REX.W movq rax,[rdx-0x1]
0x351d932cab9a 90 f6400c10 testb [rax+0xc],0x10
0x351d932cab9e 94 0f8480000000 jz 228 (0x351d932cac24)
;;; <@26,#27> -------------------- B4 (unreachable/replaced) --------------------
;;; <@30,#20> -------------------- B5 (unreachable/replaced) --------------------
;;; <@34,#16> -------------------- B6 (unreachable/replaced) --------------------
;;; <@38,#14> -------------------- B7 (unreachable/replaced) --------------------
;;; <@42,#24> -------------------- B8 (unreachable/replaced) --------------------
;;; <@46,#30> -------------------- B9 --------------------
;;; <@49,#31> is-undetectable-and-branch
0x351d932caba4 100 f6c201 testb rdx,0x1 ;; debug: position 5489
0x351d932caba7 103 0f840e000000 jz 123 (0x351d932cabbb)
0x351d932cabad 109 488b42ff REX.W movq rax,[rdx-0x1]
0x351d932cabb1 113 f6400c10 testb [rax+0xc],0x10
0x351d932cabb5 117 0f8569000000 jnz 228 (0x351d932cac24)
;;; <@50,#35> -------------------- B10 (unreachable/replaced) --------------------
;;; <@54,#38> -------------------- B11 --------------------
;;; <@56,#44> push-argument
0x351d932cabbb 123 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 5525
;; object: 0x21ab18105f49 <JS Global Object>
0x351d932cabc5 133 4152 push r10
;;; <@58,#44> push-argument
0x351d932cabc7 135 49ba000000000e000000 REX.W movq r10,0xe00000000
0x351d932cabd1 145 4152 push r10
;;; <@60,#44> push-argument
0x351d932cabd3 147 49ba8174901214170000 REX.W movq r10,0x171412907481 ;; object: 0x171412907481 <String[20]: Array.prototype.join>
0x351d932cabdd 157 4152 push r10
;;; <@62,#39> constant-t
0x351d932cabdf 159 48bff9fec9bdff1f0000 REX.W movq rdi,0x1fffbdc9fef9 ;; object: 0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>
;;; <@64,#47> load-named-field
0x351d932cabe9 169 488b772f REX.W movq rsi,[rdi+0x2f]
;;; <@66,#39> constant-t
0x351d932cabed 173 48bff9fec9bdff1f0000 REX.W movq rdi,0x1fffbdc9fef9 ;; object: 0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>
;;; <@68,#48> constant-i
0x351d932cabf7 183 b802000000 movl rax,0x2
;;; <@70,#46> constant-i
0x351d932cabfc 188 bb04000000 movl rbx,0x4
;;; <@72,#50> call-with-descriptor
0x351d932cac01 193 e8faf2e3ff call ArgumentsAdaptorTrampoline (0x351d93109f00) ;; code: BUILTIN
;;; <@74,#51> lazy-bailout
;;; <@76,#52> push-argument
0x351d932cac06 198 50 push rax ;; debug: position 5519
;;; <@77,#52> gap
0x351d932cac07 199 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@78,#53> call-runtime
0x351d932cac0b 203 0f1f840000000000 nop
0x351d932cac13 211 b801000000 movl rax,0x1
0x351d932cac18 216 498d9dd89b32ff REX.W leaq rbx,[r13-0xcd6428]
0x351d932cac1f 223 e8bce9e3ff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@80,#54> lazy-bailout
;;; <@82,#32> -------------------- B12 (unreachable/replaced) --------------------
;;; <@86,#56> -------------------- B13 --------------------
;;; <@88,#57> gap
0x351d932cac24 228 488b4518 REX.W movq rax,[rbp+0x18] ;; debug: position 5575
;;; <@89,#57> has-instance-type-and-branch
0x351d932cac28 232 a801 test al,0x1
0x351d932cac2a 234 0f840f000000 jz 255 (0x351d932cac3f)
0x351d932cac30 240 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d932cac34 244 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d932cac39 249 0f8323000000 jnc 290 (0x351d932cac62)
;;; <@90,#61> -------------------- B14 (unreachable/replaced) --------------------
;;; <@94,#64> -------------------- B15 --------------------
;;; <@96,#68> push-argument
0x351d932cac3f 255 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 5611
;; object: 0x21ab18105f49 <JS Global Object>
0x351d932cac49 265 4152 push r10
;;; <@98,#68> push-argument
0x351d932cac4b 267 50 push rax
;;; <@100,#65> constant-t
0x351d932cac4c 268 48bf31c5c9bdff1f0000 REX.W movq rdi,0x1fffbdc9c531 ;; object: 0x1fffbdc9c531 <JS Function ToObject (SharedFunctionInfo 0x1fffbdc476a9)>
;;; <@102,#70> call-js-function
0x351d932cac56 278 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932cac5a 282 ff5717 call [rdi+0x17]
;;; <@104,#71> lazy-bailout
;;; <@107,#76> goto
0x351d932cac5d 285 e904000000 jmp 294 (0x351d932cac66) ;; debug: position 5574
;;; <@108,#58> -------------------- B16 (unreachable/replaced) --------------------
;;; <@112,#72> -------------------- B17 --------------------
;;; <@114,#74> gap
0x351d932cac62 290 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@116,#78> -------------------- B18 --------------------
;;; <@118,#81> check-non-smi
0x351d932cac66 294 a801 test al,0x1 ;; debug: position 5567
;; debug: position 5637
0x351d932cac68 296 0f8421010000 jz 591 (0x351d932cad8f)
;;; <@120,#82> check-maps
0x351d932cac6e 302 49ba616e908290160000 REX.W movq r10,0x169082906e61 ;; object: 0x169082906e61 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932cac78 312 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932cac7c 316 7424 jz 354 (0x351d932caca2)
0x351d932cac7e 318 49bac16f908290160000 REX.W movq r10,0x169082906fc1 ;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d932cac88 328 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932cac8c 332 7414 jz 354 (0x351d932caca2)
0x351d932cac8e 334 49ba8172908290160000 REX.W movq r10,0x169082907281 ;; object: 0x169082907281 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932cac98 344 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932cac9c 348 0f85f2000000 jnz 596 (0x351d932cad94)
;;; <@122,#83> load-named-field
0x351d932caca2 354 8b581b movl rbx,[rax+0x1b]
;;; <@124,#85> shift-i
;;; <@125,#85> gap
0x351d932caca5 357 488b55e8 REX.W movq rdx,[rbp-0x18] ;; debug: position 5644
;;; <@126,#88> load-context-slot
0x351d932caca9 361 488b8adf000000 REX.W movq rcx,[rdx+0xdf] ;; debug: position 5658
;;; <@128,#91> check-value
0x351d932cacb0 368 49ba996bcabdff1f0000 REX.W movq r10,0x1fffbdca6b99 ;; object: 0x1fffbdca6b99 <JS Function InnerArrayJoin (SharedFunctionInfo 0x1fffbdc54001)>
0x351d932cacba 378 493bca REX.W cmpq rcx,r10
0x351d932cacbd 381 0f85d6000000 jnz 601 (0x351d932cad99)
;;; <@130,#100> number-tag-u
0x351d932cacc3 387 81fbffffff7f cmpl rbx,0x7fffffff
0x351d932cacc9 393 0f8735000000 ja 452 (0x351d932cad04)
0x351d932caccf 399 48c1e320 REX.W shlq rbx, 32
;;; <@132,#92> push-argument
0x351d932cacd3 403 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d932cacdd 413 4152 push r10
;;; <@133,#92> gap
0x351d932cacdf 415 488b4d10 REX.W movq rcx,[rbp+0x10]
;;; <@134,#92> push-argument
0x351d932cace3 419 51 push rcx
;;; <@136,#92> push-argument
0x351d932cace4 420 50 push rax
;;; <@138,#92> push-argument
0x351d932cace5 421 53 push rbx
;;; <@140,#93> constant-t
0x351d932cace6 422 48bf996bcabdff1f0000 REX.W movq rdi,0x1fffbdca6b99 ;; object: 0x1fffbdca6b99 <JS Function InnerArrayJoin (SharedFunctionInfo 0x1fffbdc54001)>
;;; <@142,#94> call-js-function
0x351d932cacf0 432 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932cacf4 436 ff5717 call [rdi+0x17]
;;; <@144,#95> lazy-bailout
;;; <@146,#97> return
0x351d932cacf7 439 488be5 REX.W movq rsp,rbp ;; debug: position 5651
0x351d932cacfa 442 5d pop rbp
0x351d932cacfb 443 c21000 ret 0x10
0x351d932cacfe 446 660f1f440000 nop
;;; <@130,#100> -------------------- Deferred number-tag-u --------------------
0x351d932cad04 452 f2480f2acb REX.W cvtsi2sd xmm1,rbx ;; debug: position 5658
0x351d932cad09 457 498b9d400b0000 REX.W movq rbx,[r13+0xb40]
0x351d932cad10 464 488bcb REX.W movq rcx,rbx
0x351d932cad13 467 4883c110 REX.W addq rcx,0x10
0x351d932cad17 471 0f8221000000 jc 510 (0x351d932cad3e)
0x351d932cad1d 477 493b8d480b0000 REX.W cmpq rcx,[r13+0xb48]
0x351d932cad24 484 0f8714000000 ja 510 (0x351d932cad3e)
0x351d932cad2a 490 49898d400b0000 REX.W movq [r13+0xb40],rcx
0x351d932cad31 497 48ffc3 REX.W incq rbx
0x351d932cad34 500 4d8b5500 REX.W movq r10,[r13+0x0]
0x351d932cad38 504 4c8953ff REX.W movq [rbx-0x1],r10
0x351d932cad3c 508 eb47 jmp 581 (0x351d932cad85)
0x351d932cad3e 510 33db xorl rbx,rbx
0x351d932cad40 512 50 push rax
0x351d932cad41 513 51 push rcx
0x351d932cad42 514 52 push rdx
0x351d932cad43 515 53 push rbx
0x351d932cad44 516 56 push rsi
0x351d932cad45 517 57 push rdi
0x351d932cad46 518 4150 push r8
0x351d932cad48 520 4151 push r9
0x351d932cad4a 522 4153 push r11
0x351d932cad4c 524 4154 push r12
0x351d932cad4e 526 4156 push r14
0x351d932cad50 528 4157 push r15
0x351d932cad52 530 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d932cad57 535 488b75f8 REX.W movq rsi,[rbp-0x8]
0x351d932cad5b 539 33c0 xorl rax,rax
0x351d932cad5d 541 498d9dd82034ff REX.W leaq rbx,[r13-0xcbdf28]
0x351d932cad64 548 e837b5e3ff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d932cad69 553 4889442460 REX.W movq [rsp+0x60],rax
0x351d932cad6e 558 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d932cad73 563 415f pop r15
0x351d932cad75 565 415e pop r14
0x351d932cad77 567 415c pop r12
0x351d932cad79 569 415b pop r11
0x351d932cad7b 571 4159 pop r9
0x351d932cad7d 573 4158 pop r8
0x351d932cad7f 575 5f pop rdi
0x351d932cad80 576 5e pop rsi
0x351d932cad81 577 5b pop rbx
0x351d932cad82 578 5a pop rdx
0x351d932cad83 579 59 pop rcx
0x351d932cad84 580 58 pop rax
0x351d932cad85 581 f20f114b07 movsd [rbx+0x7],xmm1
0x351d932cad8a 586 e944ffffff jmp 403 (0x351d932cacd3)
;;; -------------------- Jump table --------------------
0x351d932cad8f 591 e894b2b3ff call 0x351d92e06028 ;; debug: position 88064
;; debug: deopt reason 'Smi'
;; deoptimization bailout 4
0x351d932cad94 596 e899b2b3ff call 0x351d92e06032 ;; debug: position 88064
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 5
0x351d932cad99 601 e89eb2b3ff call 0x351d92e0603c ;; debug: position 98816
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 6
0x351d932cad9e 606 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 8)
index ast id argc pc
0 3 0 35
1 38 0 198
2 36 0 228
3 75 0 285
4 62 0 -1
5 62 0 -1
6 96 0 -1
7 112 0 439
Safepoints (size = 74)
0x351d932cab63 35 1 (sp -> fp) 0
0x351d932cac06 198 1 (sp -> fp) 1
0x351d932cac24 228 1 (sp -> fp) 2
0x351d932cac5d 285 1 (sp -> fp) 3
0x351d932cacf7 439 1 (sp -> fp) 7
0x351d932cad69 553 1 | rax | rdx | rbx (sp -> fp) <none>
RelocInfo (size = 898)
0x351d932cab4a position (5465)
0x351d932cab4a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932cab4a comment (;;; <@2,#1> context)
0x351d932cab4e comment (;;; <@3,#1> gap)
0x351d932cab52 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932cab52 comment (;;; <@11,#8> gap)
0x351d932cab55 comment (;;; <@12,#10> stack-check)
0x351d932cab5f code target (BUILTIN) (0x351d93134ee0)
0x351d932cab63 comment (;;; <@14,#10> lazy-bailout)
0x351d932cab63 comment (;;; <@16,#13> gap)
0x351d932cab63 position (5478)
0x351d932cab67 comment (;;; <@17,#13> cmp-object-eq-and-branch)
0x351d932cab69 embedded object (0x1fffbdc04101 <null>)
0x351d932cab7a comment (;;; <@18,#18> -------------------- B2 --------------------)
0x351d932cab7a comment (;;; <@21,#19> cmp-object-eq-and-branch)
0x351d932cab7c embedded object (0x1fffbdc041b9 <undefined>)
0x351d932cab8d comment (;;; <@22,#22> -------------------- B3 --------------------)
0x351d932cab8d comment (;;; <@25,#23> is-undetectable-and-branch)
0x351d932caba4 comment (;;; <@26,#27> -------------------- B4 (unreachable/replaced) --------------------)
0x351d932caba4 comment (;;; <@30,#20> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932caba4 comment (;;; <@34,#16> -------------------- B6 (unreachable/replaced) --------------------)
0x351d932caba4 comment (;;; <@38,#14> -------------------- B7 (unreachable/replaced) --------------------)
0x351d932caba4 comment (;;; <@42,#24> -------------------- B8 (unreachable/replaced) --------------------)
0x351d932caba4 position (5489)
0x351d932caba4 comment (;;; <@46,#30> -------------------- B9 --------------------)
0x351d932caba4 comment (;;; <@49,#31> is-undetectable-and-branch)
0x351d932cabbb comment (;;; <@50,#35> -------------------- B10 (unreachable/replaced) --------------------)
0x351d932cabbb position (5525)
0x351d932cabbb comment (;;; <@54,#38> -------------------- B11 --------------------)
0x351d932cabbb comment (;;; <@56,#44> push-argument)
0x351d932cabbd embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932cabc7 comment (;;; <@58,#44> push-argument)
0x351d932cabd3 comment (;;; <@60,#44> push-argument)
0x351d932cabd5 embedded object (0x171412907481 <String[20]: Array.prototype.join>)
0x351d932cabdf comment (;;; <@62,#39> constant-t)
0x351d932cabe1 embedded object (0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>)
0x351d932cabe9 comment (;;; <@64,#47> load-named-field)
0x351d932cabed comment (;;; <@66,#39> constant-t)
0x351d932cabef embedded object (0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>)
0x351d932cabf7 comment (;;; <@68,#48> constant-i)
0x351d932cabfc comment (;;; <@70,#46> constant-i)
0x351d932cac01 comment (;;; <@72,#50> call-with-descriptor)
0x351d932cac02 code target (BUILTIN) (0x351d93109f00)
0x351d932cac06 comment (;;; <@74,#51> lazy-bailout)
0x351d932cac06 comment (;;; <@76,#52> push-argument)
0x351d932cac06 position (5519)
0x351d932cac07 comment (;;; <@77,#52> gap)
0x351d932cac0b comment (;;; <@78,#53> call-runtime)
0x351d932cac20 code target (STUB) (0x351d931095e0)
0x351d932cac24 comment (;;; <@80,#54> lazy-bailout)
0x351d932cac24 comment (;;; <@82,#32> -------------------- B12 (unreachable/replaced) --------------------)
0x351d932cac24 position (5575)
0x351d932cac24 comment (;;; <@86,#56> -------------------- B13 --------------------)
0x351d932cac24 comment (;;; <@88,#57> gap)
0x351d932cac28 comment (;;; <@89,#57> has-instance-type-and-branch)
0x351d932cac3f comment (;;; <@90,#61> -------------------- B14 (unreachable/replaced) --------------------)
0x351d932cac3f position (5611)
0x351d932cac3f comment (;;; <@94,#64> -------------------- B15 --------------------)
0x351d932cac3f comment (;;; <@96,#68> push-argument)
0x351d932cac41 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932cac4b comment (;;; <@98,#68> push-argument)
0x351d932cac4c comment (;;; <@100,#65> constant-t)
0x351d932cac4e embedded object (0x1fffbdc9c531 <JS Function ToObject (SharedFunctionInfo 0x1fffbdc476a9)>)
0x351d932cac56 comment (;;; <@102,#70> call-js-function)
0x351d932cac5d comment (;;; <@104,#71> lazy-bailout)
0x351d932cac5d position (5574)
0x351d932cac5d comment (;;; <@107,#76> goto)
0x351d932cac62 comment (;;; <@108,#58> -------------------- B16 (unreachable/replaced) --------------------)
0x351d932cac62 comment (;;; <@112,#72> -------------------- B17 --------------------)
0x351d932cac62 comment (;;; <@114,#74> gap)
0x351d932cac66 position (5567)
0x351d932cac66 comment (;;; <@116,#78> -------------------- B18 --------------------)
0x351d932cac66 comment (;;; <@118,#81> check-non-smi)
0x351d932cac66 position (5637)
0x351d932cac6e comment (;;; <@120,#82> check-maps)
0x351d932cac70 embedded object (0x169082906e61 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932cac80 embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d932cac90 embedded object (0x169082907281 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932caca2 comment (;;; <@122,#83> load-named-field)
0x351d932caca5 comment (;;; <@124,#85> shift-i)
0x351d932caca5 position (5644)
0x351d932caca5 comment (;;; <@125,#85> gap)
0x351d932caca9 comment (;;; <@126,#88> load-context-slot)
0x351d932caca9 position (5658)
0x351d932cacb0 comment (;;; <@128,#91> check-value)
0x351d932cacb2 embedded object (0x1fffbdca6b99 <JS Function InnerArrayJoin (SharedFunctionInfo 0x1fffbdc54001)>)
0x351d932cacc3 comment (;;; <@130,#100> number-tag-u)
0x351d932cacd3 comment (;;; <@132,#92> push-argument)
0x351d932cacd5 embedded object (0x1fffbdc041b9 <undefined>)
0x351d932cacdf comment (;;; <@133,#92> gap)
0x351d932cace3 comment (;;; <@134,#92> push-argument)
0x351d932cace4 comment (;;; <@136,#92> push-argument)
0x351d932cace5 comment (;;; <@138,#92> push-argument)
0x351d932cace6 comment (;;; <@140,#93> constant-t)
0x351d932cace8 embedded object (0x1fffbdca6b99 <JS Function InnerArrayJoin (SharedFunctionInfo 0x1fffbdc54001)>)
0x351d932cacf0 comment (;;; <@142,#94> call-js-function)
0x351d932cacf7 comment (;;; <@144,#95> lazy-bailout)
0x351d932cacf7 comment (;;; <@146,#97> return)
0x351d932cacf7 position (5651)
0x351d932cad04 position (5658)
0x351d932cad04 comment (;;; <@130,#100> -------------------- Deferred number-tag-u --------------------)
0x351d932cad65 code target (STUB) (0x351d931062a0)
0x351d932cad8f comment (;;; -------------------- Jump table --------------------)
0x351d932cad8f position (88064)
0x351d932cad8f deopt reason (Smi)
0x351d932cad90 runtime entry (deoptimization bailout 4)
0x351d932cad94 position (88064)
0x351d932cad94 deopt reason (wrong map)
0x351d932cad95 runtime entry (deoptimization bailout 5)
0x351d932cad99 position (98816)
0x351d932cad99 deopt reason (value mismatch)
0x351d932cad9a runtime entry (deoptimization bailout 6)
0x351d932cada0 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (InnerArraySort.aC) id{15,0} ---
(O,aD){
if(O===aD)return 0;
if(%_IsSmi(O)&&%_IsSmi(aD)){
return %SmiLexicographicCompare(O,aD);
}
O=$toString(O);
aD=$toString(aD);
if(O==aD)return 0;
else return O<aD?-1:1;
}
--- END ---
--- Raw source ---
(O,aD){
if(O===aD)return 0;
if(%_IsSmi(O)&&%_IsSmi(aD)){
return %SmiLexicographicCompare(O,aD);
}
O=$toString(O);
aD=$toString(aD);
if(O==aD)return 0;
else return O<aD?-1:1;
};
--- Optimized code ---
optimization_id = 15
source_position = 12490
kind = OPTIMIZED_FUNCTION
name = InnerArraySort.aC
stack_slots = 3
compiler = crankshaft
Instructions (size = 541)
0x351d932d44c0 0 55 push rbp
0x351d932d44c1 1 4889e5 REX.W movq rbp,rsp
0x351d932d44c4 4 56 push rsi
0x351d932d44c5 5 57 push rdi
0x351d932d44c6 6 4883ec18 REX.W subq rsp,0x18
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932d44ca 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 12490
;;; <@3,#1> gap
0x351d932d44ce 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@12,#9> -------------------- B1 --------------------
;;; <@13,#9> gap
0x351d932d44d2 18 488bf0 REX.W movq rsi,rax
;;; <@14,#11> stack-check
0x351d932d44d5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932d44dc 28 7305 jnc 35 (0x351d932d44e3)
0x351d932d44de 30 e8fd09e6ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@16,#11> lazy-bailout
;;; <@17,#11> gap
0x351d932d44e3 35 488b5d18 REX.W movq rbx,[rbp+0x18]
;;; <@18,#13> check-non-smi
0x351d932d44e7 39 f6c301 testb rbx,0x1 ;; debug: position 12502
0x351d932d44ea 42 0f8470010000 jz 416 (0x351d932d4660)
;;; <@20,#14> check-instance-type
0x351d932d44f0 48 4c8b53ff REX.W movq r10,[rbx-0x1]
0x351d932d44f4 52 41f6420b80 testb [r10+0xb],0x80
0x351d932d44f9 57 0f8566010000 jnz 421 (0x351d932d4665)
;;; <@21,#14> gap
0x351d932d44ff 63 488b4d10 REX.W movq rcx,[rbp+0x10]
;;; <@22,#15> check-non-smi
0x351d932d4503 67 f6c101 testb rcx,0x1
0x351d932d4506 70 0f845e010000 jz 426 (0x351d932d466a)
;;; <@24,#16> check-instance-type
0x351d932d450c 76 4c8b51ff REX.W movq r10,[rcx-0x1]
0x351d932d4510 80 41f6420b80 testb [r10+0xb],0x80
0x351d932d4515 85 0f8554010000 jnz 431 (0x351d932d466f)
;;; <@26,#17> gap
0x351d932d451b 91 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d932d451f 95 488bd3 REX.W movq rdx,rbx
0x351d932d4522 98 488bc1 REX.W movq rax,rcx
;;; <@27,#17> string-compare-and-branch
0x351d932d4525 101 e8d6ace4ff call 0x351d9311f200 ;; code: COMPARE_IC, UNINITIALIZED
0x351d932d452a 106 90 nop
0x351d932d452b 107 4885c0 REX.W testq rax,rax
0x351d932d452e 110 0f841b010000 jz 399 (0x351d932d464f)
;;; <@28,#17> lazy-bailout
;;; <@30,#21> -------------------- B2 (unreachable/replaced) --------------------
;;; <@34,#28> -------------------- B3 --------------------
;;; <@37,#29> is-smi-and-branch
0x351d932d4534 116 f6451801 testb [rbp+0x18],0x1 ;; debug: position 12521
0x351d932d4538 120 0f850a000000 jnz 136 (0x351d932d4548)
;;; <@38,#33> -------------------- B4 (unreachable/replaced) --------------------
;;; <@42,#30> -------------------- B5 (unreachable/replaced) --------------------
;;; <@46,#36> -------------------- B6 --------------------
;;; <@49,#37> is-smi-and-branch
0x351d932d453e 126 f6451001 testb [rbp+0x10],0x1 ;; debug: position 12533
0x351d932d4542 130 0f84e5000000 jz 365 (0x351d932d462d)
;;; <@50,#41> -------------------- B7 (unreachable/replaced) --------------------
;;; <@54,#50> -------------------- B8 --------------------
;;; <@56,#54> push-argument
0x351d932d4548 136 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 12590
;; object: 0x21ab18105f49 <JS Global Object>
0x351d932d4552 146 4152 push r10
;;; <@58,#54> push-argument
0x351d932d4554 148 ff7518 push [rbp+0x18]
;;; <@60,#51> constant-t
0x351d932d4557 151 48bfb1b4c9bdff1f0000 REX.W movq rdi,0x1fffbdc9b4b1 ;; object: 0x1fffbdc9b4b1 <JS Function ToString (SharedFunctionInfo 0x1fffbdc472f1)>
;;; <@62,#56> call-js-function
0x351d932d4561 161 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932d4565 165 ff5717 call [rdi+0x17]
;;; <@63,#56> gap
0x351d932d4568 168 488945e0 REX.W movq [rbp-0x20],rax
;;; <@64,#57> lazy-bailout
;;; <@66,#61> push-argument
0x351d932d456c 172 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 12607
;; object: 0x21ab18105f49 <JS Global Object>
0x351d932d4576 182 4152 push r10
;;; <@68,#61> push-argument
0x351d932d4578 184 ff7510 push [rbp+0x10]
;;; <@70,#51> constant-t
0x351d932d457b 187 48bfb1b4c9bdff1f0000 REX.W movq rdi,0x1fffbdc9b4b1 ;; debug: position 12590
;; object: 0x1fffbdc9b4b1 <JS Function ToString (SharedFunctionInfo 0x1fffbdc472f1)>
;;; <@72,#63> call-js-function
0x351d932d4585 197 488b772f REX.W movq rsi,[rdi+0x2f] ;; debug: position 12607
0x351d932d4589 201 ff5717 call [rdi+0x17]
;;; <@73,#63> gap
0x351d932d458c 204 488945d8 REX.W movq [rbp-0x28],rax
0x351d932d4590 208 488bd8 REX.W movq rbx,rax
;;; <@74,#64> lazy-bailout
;;; <@75,#64> gap
0x351d932d4593 211 488b4de0 REX.W movq rcx,[rbp-0x20]
;;; <@76,#65> check-non-smi
0x351d932d4597 215 f6c101 testb rcx,0x1 ;; debug: position 12626
0x351d932d459a 218 0f84d4000000 jz 436 (0x351d932d4674)
;;; <@78,#66> check-instance-type
0x351d932d45a0 224 4c8b51ff REX.W movq r10,[rcx-0x1]
0x351d932d45a4 228 41f6420b80 testb [r10+0xb],0x80
0x351d932d45a9 233 0f85ca000000 jnz 441 (0x351d932d4679)
;;; <@80,#67> check-non-smi
0x351d932d45af 239 f6c301 testb rbx,0x1
0x351d932d45b2 242 0f84c6000000 jz 446 (0x351d932d467e)
;;; <@82,#68> check-instance-type
0x351d932d45b8 248 4c8b53ff REX.W movq r10,[rbx-0x1]
0x351d932d45bc 252 41f6420b80 testb [r10+0xb],0x80
0x351d932d45c1 257 0f85bc000000 jnz 451 (0x351d932d4683)
;;; <@84,#69> gap
0x351d932d45c7 263 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d932d45cb 267 488bd1 REX.W movq rdx,rcx
0x351d932d45ce 270 488bc3 REX.W movq rax,rbx
;;; <@85,#69> string-compare-and-branch
0x351d932d45d1 273 e8ca70e4ff call 0x351d9311b6a0 ;; code: COMPARE_IC, UNINITIALIZED
0x351d932d45d6 278 90 nop
0x351d932d45d7 279 4885c0 REX.W testq rax,rax
0x351d932d45da 282 0f843c000000 jz 348 (0x351d932d461c)
;;; <@86,#69> lazy-bailout
;;; <@88,#73> -------------------- B9 (unreachable/replaced) --------------------
;;; <@92,#80> -------------------- B10 --------------------
;;; <@94,#85> gap
0x351d932d45e0 288 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 12654
0x351d932d45e4 292 488b55e0 REX.W movq rdx,[rbp-0x20]
0x351d932d45e8 296 488b45d8 REX.W movq rax,[rbp-0x28]
;;; <@95,#85> string-compare-and-branch
0x351d932d45ec 300 90 nop
0x351d932d45ed 301 e8ce47e4ff call 0x351d93118dc0 ;; code: COMPARE_IC, UNINITIALIZED
0x351d932d45f2 306 90 nop
0x351d932d45f3 307 4885c0 REX.W testq rax,rax
0x351d932d45f6 310 0f8c0f000000 jl 331 (0x351d932d460b)
;;; <@96,#85> lazy-bailout
;;; <@98,#89> -------------------- B11 (unreachable/replaced) --------------------
;;; <@102,#94> -------------------- B12 --------------------
;;; <@104,#99> gap
0x351d932d45fc 316 48b80000000001000000 REX.W movq rax,0x100000000 ;; debug: position 12661
;; debug: position 12653
;;; <@105,#99> goto
0x351d932d4606 326 e90a000000 jmp 341 (0x351d932d4615)
;;; <@106,#86> -------------------- B13 (unreachable/replaced) --------------------
;;; <@110,#92> -------------------- B14 --------------------
;;; <@112,#97> gap
0x351d932d460b 331 48b800000000ffffffff REX.W movq rax,0xffffffff00000000 ;; debug: position 12658
;; debug: position 12653
;;; <@114,#101> -------------------- B15 --------------------
;;; <@116,#103> return
0x351d932d4615 341 488be5 REX.W movq rsp,rbp ;; debug: position 12646
0x351d932d4618 344 5d pop rbp
0x351d932d4619 345 c21800 ret 0x18
;;; <@118,#70> -------------------- B16 (unreachable/replaced) --------------------
;;; <@122,#76> -------------------- B17 --------------------
;;; <@124,#108> constant-t
0x351d932d461c 348 48b80000000000000000 REX.W movq rax,(nil) ;; debug: position 12638
;; debug: position 12631
;;; <@126,#79> return
0x351d932d4626 358 488be5 REX.W movq rsp,rbp
0x351d932d4629 361 5d pop rbp
0x351d932d462a 362 c21800 ret 0x18
;;; <@128,#38> -------------------- B18 (unreachable/replaced) --------------------
;;; <@132,#44> -------------------- B19 --------------------
;;; <@134,#45> push-argument
0x351d932d462d 365 ff7518 push [rbp+0x18] ;; debug: position 12554
;;; <@136,#45> push-argument
0x351d932d4630 368 ff7510 push [rbp+0x10]
;;; <@137,#45> gap
0x351d932d4633 371 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@138,#46> call-runtime
0x351d932d4637 375 b802000000 movl rax,0x2
0x351d932d463c 380 498d9d78aa33ff REX.W leaq rbx,[r13-0xcc5588]
0x351d932d4643 387 e8984fe3ff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@140,#47> lazy-bailout
;;; <@142,#49> return
0x351d932d4648 392 488be5 REX.W movq rsp,rbp ;; debug: position 12547
0x351d932d464b 395 5d pop rbp
0x351d932d464c 396 c21800 ret 0x18
;;; <@144,#18> -------------------- B20 (unreachable/replaced) --------------------
;;; <@148,#24> -------------------- B21 --------------------
;;; <@150,#111> constant-t
0x351d932d464f 399 48b80000000000000000 REX.W movq rax,(nil) ;; debug: position 12515
;; debug: position 12508
;;; <@152,#27> return
0x351d932d4659 409 488be5 REX.W movq rsp,rbp
0x351d932d465c 412 5d pop rbp
0x351d932d465d 413 c21800 ret 0x18
;;; -------------------- Jump table --------------------
0x351d932d4660 416 e8a519b3ff call 0x351d92e0600a ;; debug: position 6144
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932d4665 421 e8aa19b3ff call 0x351d92e06014 ;; debug: position 6144
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 2
0x351d932d466a 426 e8af19b3ff call 0x351d92e0601e ;; debug: position 6144
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x351d932d466f 431 e8b419b3ff call 0x351d92e06028 ;; debug: position 6144
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 4
0x351d932d4674 436 e8d719b3ff call 0x351d92e06050 ;; debug: position 69632
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x351d932d4679 441 e8dc19b3ff call 0x351d92e0605a ;; debug: position 69632
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 9
0x351d932d467e 446 e8e119b3ff call 0x351d92e06064 ;; debug: position 69632
;; debug: deopt reason 'Smi'
;; deoptimization bailout 10
0x351d932d4683 451 e8e619b3ff call 0x351d92e0606e ;; debug: position 69632
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 11
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 15)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 3 0 -1
4 3 0 -1
5 3 0 116
6 57 0 172
7 75 0 211
8 75 0 -1
9 75 0 -1
10 75 0 -1
11 75 0 -1
12 75 0 288
13 88 0 316
14 41 0 392
Safepoints (size = 85)
0x351d932d44e3 35 001 (sp -> fp) 0
0x351d932d452a 106 001 (sp -> fp) 5
0x351d932d4568 168 001 (sp -> fp) 6
0x351d932d458c 204 011 (sp -> fp) 7
0x351d932d45d6 278 111 (sp -> fp) 12
0x351d932d45f2 306 111 (sp -> fp) 13
0x351d932d4648 392 001 (sp -> fp) 14
RelocInfo (size = 971)
0x351d932d44ca position (12490)
0x351d932d44ca comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932d44ca comment (;;; <@2,#1> context)
0x351d932d44ce comment (;;; <@3,#1> gap)
0x351d932d44d2 comment (;;; <@12,#9> -------------------- B1 --------------------)
0x351d932d44d2 comment (;;; <@13,#9> gap)
0x351d932d44d5 comment (;;; <@14,#11> stack-check)
0x351d932d44df code target (BUILTIN) (0x351d93134ee0)
0x351d932d44e3 comment (;;; <@16,#11> lazy-bailout)
0x351d932d44e3 comment (;;; <@17,#11> gap)
0x351d932d44e7 comment (;;; <@18,#13> check-non-smi)
0x351d932d44e7 position (12502)
0x351d932d44f0 comment (;;; <@20,#14> check-instance-type)
0x351d932d44ff comment (;;; <@21,#14> gap)
0x351d932d4503 comment (;;; <@22,#15> check-non-smi)
0x351d932d450c comment (;;; <@24,#16> check-instance-type)
0x351d932d451b comment (;;; <@26,#17> gap)
0x351d932d4525 comment (;;; <@27,#17> string-compare-and-branch)
0x351d932d4526 code target (COMPARE_IC) (0x351d9311f200)
0x351d932d4534 comment (;;; <@28,#17> lazy-bailout)
0x351d932d4534 comment (;;; <@30,#21> -------------------- B2 (unreachable/replaced) --------------------)
0x351d932d4534 position (12521)
0x351d932d4534 comment (;;; <@34,#28> -------------------- B3 --------------------)
0x351d932d4534 comment (;;; <@37,#29> is-smi-and-branch)
0x351d932d453e comment (;;; <@38,#33> -------------------- B4 (unreachable/replaced) --------------------)
0x351d932d453e comment (;;; <@42,#30> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932d453e position (12533)
0x351d932d453e comment (;;; <@46,#36> -------------------- B6 --------------------)
0x351d932d453e comment (;;; <@49,#37> is-smi-and-branch)
0x351d932d4548 comment (;;; <@50,#41> -------------------- B7 (unreachable/replaced) --------------------)
0x351d932d4548 position (12590)
0x351d932d4548 comment (;;; <@54,#50> -------------------- B8 --------------------)
0x351d932d4548 comment (;;; <@56,#54> push-argument)
0x351d932d454a embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932d4554 comment (;;; <@58,#54> push-argument)
0x351d932d4557 comment (;;; <@60,#51> constant-t)
0x351d932d4559 embedded object (0x1fffbdc9b4b1 <JS Function ToString (SharedFunctionInfo 0x1fffbdc472f1)>)
0x351d932d4561 comment (;;; <@62,#56> call-js-function)
0x351d932d4568 comment (;;; <@63,#56> gap)
0x351d932d456c comment (;;; <@64,#57> lazy-bailout)
0x351d932d456c comment (;;; <@66,#61> push-argument)
0x351d932d456c position (12607)
0x351d932d456e embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932d4578 comment (;;; <@68,#61> push-argument)
0x351d932d457b comment (;;; <@70,#51> constant-t)
0x351d932d457b position (12590)
0x351d932d457d embedded object (0x1fffbdc9b4b1 <JS Function ToString (SharedFunctionInfo 0x1fffbdc472f1)>)
0x351d932d4585 comment (;;; <@72,#63> call-js-function)
0x351d932d4585 position (12607)
0x351d932d458c comment (;;; <@73,#63> gap)
0x351d932d4593 comment (;;; <@74,#64> lazy-bailout)
0x351d932d4593 comment (;;; <@75,#64> gap)
0x351d932d4597 comment (;;; <@76,#65> check-non-smi)
0x351d932d4597 position (12626)
0x351d932d45a0 comment (;;; <@78,#66> check-instance-type)
0x351d932d45af comment (;;; <@80,#67> check-non-smi)
0x351d932d45b8 comment (;;; <@82,#68> check-instance-type)
0x351d932d45c7 comment (;;; <@84,#69> gap)
0x351d932d45d1 comment (;;; <@85,#69> string-compare-and-branch)
0x351d932d45d2 code target (COMPARE_IC) (0x351d9311b6a0)
0x351d932d45e0 comment (;;; <@86,#69> lazy-bailout)
0x351d932d45e0 comment (;;; <@88,#73> -------------------- B9 (unreachable/replaced) --------------------)
0x351d932d45e0 position (12654)
0x351d932d45e0 comment (;;; <@92,#80> -------------------- B10 --------------------)
0x351d932d45e0 comment (;;; <@94,#85> gap)
0x351d932d45ec comment (;;; <@95,#85> string-compare-and-branch)
0x351d932d45ee code target (COMPARE_IC) (0x351d93118dc0)
0x351d932d45fc comment (;;; <@96,#85> lazy-bailout)
0x351d932d45fc comment (;;; <@98,#89> -------------------- B11 (unreachable/replaced) --------------------)
0x351d932d45fc position (12661)
0x351d932d45fc comment (;;; <@102,#94> -------------------- B12 --------------------)
0x351d932d45fc comment (;;; <@104,#99> gap)
0x351d932d45fc position (12653)
0x351d932d4606 comment (;;; <@105,#99> goto)
0x351d932d460b comment (;;; <@106,#86> -------------------- B13 (unreachable/replaced) --------------------)
0x351d932d460b position (12658)
0x351d932d460b comment (;;; <@110,#92> -------------------- B14 --------------------)
0x351d932d460b comment (;;; <@112,#97> gap)
0x351d932d460b position (12653)
0x351d932d4615 position (12646)
0x351d932d4615 comment (;;; <@114,#101> -------------------- B15 --------------------)
0x351d932d4615 comment (;;; <@116,#103> return)
0x351d932d461c comment (;;; <@118,#70> -------------------- B16 (unreachable/replaced) --------------------)
0x351d932d461c position (12638)
0x351d932d461c comment (;;; <@122,#76> -------------------- B17 --------------------)
0x351d932d461c comment (;;; <@124,#108> constant-t)
0x351d932d461c position (12631)
0x351d932d4626 comment (;;; <@126,#79> return)
0x351d932d462d comment (;;; <@128,#38> -------------------- B18 (unreachable/replaced) --------------------)
0x351d932d462d position (12554)
0x351d932d462d comment (;;; <@132,#44> -------------------- B19 --------------------)
0x351d932d462d comment (;;; <@134,#45> push-argument)
0x351d932d4630 comment (;;; <@136,#45> push-argument)
0x351d932d4633 comment (;;; <@137,#45> gap)
0x351d932d4637 comment (;;; <@138,#46> call-runtime)
0x351d932d4644 code target (STUB) (0x351d931095e0)
0x351d932d4648 comment (;;; <@140,#47> lazy-bailout)
0x351d932d4648 comment (;;; <@142,#49> return)
0x351d932d4648 position (12547)
0x351d932d464f comment (;;; <@144,#18> -------------------- B20 (unreachable/replaced) --------------------)
0x351d932d464f position (12515)
0x351d932d464f comment (;;; <@148,#24> -------------------- B21 --------------------)
0x351d932d464f comment (;;; <@150,#111> constant-t)
0x351d932d464f position (12508)
0x351d932d4659 comment (;;; <@152,#27> return)
0x351d932d4660 comment (;;; -------------------- Jump table --------------------)
0x351d932d4660 position (6144)
0x351d932d4660 deopt reason (Smi)
0x351d932d4661 runtime entry (deoptimization bailout 1)
0x351d932d4665 position (6144)
0x351d932d4665 deopt reason (wrong instance type)
0x351d932d4666 runtime entry (deoptimization bailout 2)
0x351d932d466a position (6144)
0x351d932d466a deopt reason (Smi)
0x351d932d466b runtime entry (deoptimization bailout 3)
0x351d932d466f position (6144)
0x351d932d466f deopt reason (wrong instance type)
0x351d932d4670 runtime entry (deoptimization bailout 4)
0x351d932d4674 position (69632)
0x351d932d4674 deopt reason (Smi)
0x351d932d4675 runtime entry (deoptimization bailout 8)
0x351d932d4679 position (69632)
0x351d932d4679 deopt reason (wrong instance type)
0x351d932d467a runtime entry (deoptimization bailout 9)
0x351d932d467e position (69632)
0x351d932d467e deopt reason (Smi)
0x351d932d467f runtime entry (deoptimization bailout 10)
0x351d932d4683 position (69632)
0x351d932d4683 deopt reason (wrong instance type)
0x351d932d4684 runtime entry (deoptimization bailout 11)
0x351d932d4688 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (DefineOwnProperty) id{16,0} ---
(J,V,G,Y){
if(%_IsJSProxy(J)){
if((typeof(V)==='symbol'))return false;
var w=FromGenericPropertyDescriptor(G);
return DefineProxyProperty(J,V,w,Y);
}else if((%_IsArray(J))){
return DefineArrayProperty(J,V,G,Y);
}else{
return DefineObjectProperty(J,V,G,Y);
}
}
--- END ---
--- Raw source ---
(J,V,G,Y){
if(%_IsJSProxy(J)){
if((typeof(V)==='symbol'))return false;
var w=FromGenericPropertyDescriptor(G);
return DefineProxyProperty(J,V,w,Y);
}else if((%_IsArray(J))){
return DefineArrayProperty(J,V,G,Y);
}else{
return DefineObjectProperty(J,V,G,Y);
}
}
--- Optimized code ---
optimization_id = 16
source_position = 14200
kind = OPTIMIZED_FUNCTION
name = DefineOwnProperty
stack_slots = 1
compiler = crankshaft
Instructions (size = 495)
0x351d932e7780 0 55 push rbp
0x351d932e7781 1 4889e5 REX.W movq rbp,rsp
0x351d932e7784 4 56 push rsi
0x351d932e7785 5 57 push rdi
0x351d932e7786 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932e778a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 14200
;;; <@3,#1> gap
0x351d932e778e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B1 --------------------
;;; <@17,#11> gap
0x351d932e7792 18 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x351d932e7795 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932e779c 28 7305 jnc 35 (0x351d932e77a3)
0x351d932e779e 30 e83dd7e4ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@22,#15> gap
0x351d932e77a3 35 488b4528 REX.W movq rax,[rbp+0x28] ;; debug: position 14214
;;; <@23,#15> is-smi-and-branch
0x351d932e77a7 39 a801 test al,0x1
0x351d932e77a9 41 0f84c8000000 jz 247 (0x351d932e7877)
;;; <@24,#18> -------------------- B2 --------------------
;;; <@26,#19> load-named-field
0x351d932e77af 47 488b58ff REX.W movq rbx,[rax-0x1]
;;; <@28,#20> load-named-field
0x351d932e77b3 51 0fb65b0b movzxbl rbx,[rbx+0xb]
;;; <@31,#24> compare-numeric-and-branch
0x351d932e77b7 55 81fbb9000000 cmpl rbx,0xb9
0x351d932e77bd 61 0f8cb4000000 jl 247 (0x351d932e7877)
;;; <@32,#22> -------------------- B3 (unreachable/replaced) --------------------
;;; <@36,#25> -------------------- B4 --------------------
;;; <@39,#29> compare-numeric-and-branch
0x351d932e77c3 67 81fbba000000 cmpl rbx,0xba
0x351d932e77c9 73 0f8fa8000000 jg 247 (0x351d932e7877)
;;; <@40,#27> -------------------- B5 (unreachable/replaced) --------------------
;;; <@44,#30> -------------------- B6 (unreachable/replaced) --------------------
;;; <@48,#36> -------------------- B7 --------------------
;;; <@50,#37> gap
0x351d932e77cf 79 488b5d20 REX.W movq rbx,[rbp+0x20] ;; debug: position 14244
;;; <@51,#37> typeof-is-and-branch
0x351d932e77d3 83 f6c301 testb rbx,0x1
0x351d932e77d6 86 740e jz 102 (0x351d932e77e6)
0x351d932e77d8 88 488b5bff REX.W movq rbx,[rbx-0x1]
0x351d932e77dc 92 807b0b80 cmpb [rbx+0xb],0x80
0x351d932e77e0 96 0f8480000000 jz 230 (0x351d932e7866)
;;; <@52,#41> -------------------- B8 (unreachable/replaced) --------------------
;;; <@56,#48> -------------------- B9 --------------------
;;; <@57,#48> gap
0x351d932e77e6 102 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 14277
;;; <@58,#49> load-context-slot
0x351d932e77ea 106 488bbbe7000000 REX.W movq rdi,[rbx+0xe7]
;;; <@60,#50> push-argument
0x351d932e77f1 113 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d932e77fb 123 4152 push r10
;;; <@61,#50> gap
0x351d932e77fd 125 488b5518 REX.W movq rdx,[rbp+0x18]
;;; <@62,#50> push-argument
0x351d932e7801 129 52 push rdx
;;; <@63,#50> gap
0x351d932e7802 130 488bf3 REX.W movq rsi,rbx
;;; <@64,#51> call-function
0x351d932e7805 133 48bba1baccbdff1f0000 REX.W movq rbx,0x1fffbdccbaa1 ;; object: 0x1fffbdccbaa1 <FixedArray[12]>
0x351d932e780f 143 48ba0000000004000000 REX.W movq rdx,0x400000000
0x351d932e7819 153 e8a2bbe2ff call 0x351d931133c0 ;; code: CALL_IC, DEFAULT
;;; <@66,#52> lazy-bailout
;;; <@67,#52> gap
0x351d932e781e 158 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@68,#54> load-context-slot
0x351d932e7822 162 488bbb47010000 REX.W movq rdi,[rbx+0x147] ;; debug: position 14318
;;; <@70,#56> push-argument
0x351d932e7829 169 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d932e7833 179 4152 push r10
;;; <@72,#56> push-argument
0x351d932e7835 181 ff7528 push [rbp+0x28]
;;; <@73,#56> gap
0x351d932e7838 184 488b5520 REX.W movq rdx,[rbp+0x20]
;;; <@74,#56> push-argument
0x351d932e783c 188 52 push rdx
;;; <@76,#56> push-argument
0x351d932e783d 189 50 push rax
;;; <@77,#56> gap
0x351d932e783e 190 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@78,#56> push-argument
0x351d932e7842 194 50 push rax
;;; <@79,#56> gap
0x351d932e7843 195 488bf3 REX.W movq rsi,rbx
;;; <@80,#57> call-function
0x351d932e7846 198 48bba1baccbdff1f0000 REX.W movq rbx,0x1fffbdccbaa1 ;; object: 0x1fffbdccbaa1 <FixedArray[12]>
0x351d932e7850 208 48ba0000000006000000 REX.W movq rdx,0x600000000
0x351d932e785a 218 e8a116e3ff call 0x351d93118f00 ;; code: CALL_IC, DEFAULT
;;; <@82,#58> lazy-bailout
;;; <@84,#60> return
0x351d932e785f 223 488be5 REX.W movq rsp,rbp ;; debug: position 14311
0x351d932e7862 226 5d pop rbp
0x351d932e7863 227 c22800 ret 0x28
;;; <@86,#38> -------------------- B10 (unreachable/replaced) --------------------
;;; <@90,#44> -------------------- B11 --------------------
;;; <@92,#45> constant-t
0x351d932e7866 230 48b85142c0bdff1f0000 REX.W movq rax,0x1fffbdc04251 ;; debug: position 14264
;; object: 0x1fffbdc04251 <false>
;;; <@94,#47> return
0x351d932e7870 240 488be5 REX.W movq rsp,rbp ;; debug: position 14257
0x351d932e7873 243 5d pop rbp
0x351d932e7874 244 c22800 ret 0x28
;;; <@96,#16> -------------------- B12 (unreachable/replaced) --------------------
;;; <@100,#33> -------------------- B13 (unreachable/replaced) --------------------
;;; <@104,#61> -------------------- B14 --------------------
;;; <@106,#62> gap
0x351d932e7877 247 488b4528 REX.W movq rax,[rbp+0x28] ;; debug: position 14358
;;; <@107,#62> has-instance-type-and-branch
0x351d932e787b 251 a801 test al,0x1
0x351d932e787d 253 0f840f000000 jz 274 (0x351d932e7892)
0x351d932e7883 259 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d932e7887 263 41807a0bc5 cmpb [r10+0xb],0xc5
0x351d932e788c 268 0f844c000000 jz 350 (0x351d932e78de)
;;; <@108,#66> -------------------- B15 (unreachable/replaced) --------------------
;;; <@112,#76> -------------------- B16 --------------------
;;; <@113,#76> gap
0x351d932e7892 274 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 14425
;;; <@114,#77> load-context-slot
0x351d932e7896 278 488b934f010000 REX.W movq rdx,[rbx+0x14f]
;;; <@116,#78> check-value
0x351d932e789d 285 49ba594ccabdff1f0000 REX.W movq r10,0x1fffbdca4c59 ;; object: 0x1fffbdca4c59 <JS Function DefineObjectProperty (SharedFunctionInfo 0x1fffbdc38d91)>
0x351d932e78a7 295 493bd2 REX.W cmpq rdx,r10
0x351d932e78aa 298 0f857a000000 jnz 426 (0x351d932e792a)
;;; <@118,#80> push-argument
0x351d932e78b0 304 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; object: 0x21ab18105f49 <JS Global Object>
0x351d932e78ba 314 4152 push r10
;;; <@120,#80> push-argument
0x351d932e78bc 316 50 push rax
;;; <@122,#80> push-argument
0x351d932e78bd 317 ff7520 push [rbp+0x20]
;;; <@124,#80> push-argument
0x351d932e78c0 320 ff7518 push [rbp+0x18]
;;; <@126,#80> push-argument
0x351d932e78c3 323 ff7510 push [rbp+0x10]
;;; <@128,#81> constant-t
0x351d932e78c6 326 48bf594ccabdff1f0000 REX.W movq rdi,0x1fffbdca4c59 ;; object: 0x1fffbdca4c59 <JS Function DefineObjectProperty (SharedFunctionInfo 0x1fffbdc38d91)>
;;; <@130,#82> call-js-function
0x351d932e78d0 336 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932e78d4 340 ff5717 call [rdi+0x17]
;;; <@132,#83> lazy-bailout
;;; <@134,#85> return
0x351d932e78d7 343 488be5 REX.W movq rsp,rbp ;; debug: position 14418
0x351d932e78da 346 5d pop rbp
0x351d932e78db 347 c22800 ret 0x28
;;; <@136,#63> -------------------- B17 (unreachable/replaced) --------------------
;;; <@140,#69> -------------------- B18 --------------------
;;; <@141,#69> gap
0x351d932e78de 350 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 14381
;;; <@142,#70> load-context-slot
0x351d932e78e2 354 488bb857010000 REX.W movq rdi,[rax+0x157]
;;; <@144,#71> push-argument
0x351d932e78e9 361 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d932e78f3 371 4152 push r10
;;; <@146,#71> push-argument
0x351d932e78f5 373 ff7528 push [rbp+0x28]
;;; <@148,#71> push-argument
0x351d932e78f8 376 ff7520 push [rbp+0x20]
;;; <@150,#71> push-argument
0x351d932e78fb 379 ff7518 push [rbp+0x18]
;;; <@152,#71> push-argument
0x351d932e78fe 382 ff7510 push [rbp+0x10]
;;; <@153,#71> gap
0x351d932e7901 385 488bf0 REX.W movq rsi,rax
;;; <@154,#72> call-function
0x351d932e7904 388 48bba1baccbdff1f0000 REX.W movq rbx,0x1fffbdccbaa1 ;; object: 0x1fffbdccbaa1 <FixedArray[12]>
0x351d932e790e 398 48ba0000000008000000 REX.W movq rdx,0x800000000
0x351d932e7918 408 e8e315e3ff call 0x351d93118f00 ;; code: CALL_IC, DEFAULT
;;; <@156,#73> lazy-bailout
;;; <@158,#75> return
0x351d932e791d 413 488be5 REX.W movq rsp,rbp ;; debug: position 14374
0x351d932e7920 416 5d pop rbp
0x351d932e7921 417 c22800 ret 0x28
0x351d932e7924 420 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x351d932e792a 426 e8efe6b1ff call 0x351d92e0601e ;; debug: position 115200
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 3
0x351d932e792f 431 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 6)
index ast id argc pc
0 3 0 35
1 48 0 158
2 59 0 223
3 81 0 -1
4 114 0 343
5 91 0 413
Safepoints (size = 63)
0x351d932e77a3 35 1 (sp -> fp) 0
0x351d932e781e 158 1 (sp -> fp) 1
0x351d932e785f 223 1 (sp -> fp) 2
0x351d932e78d7 343 1 (sp -> fp) 4
0x351d932e791d 413 1 (sp -> fp) 5
RelocInfo (size = 988)
0x351d932e778a position (14200)
0x351d932e778a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932e778a comment (;;; <@2,#1> context)
0x351d932e778e comment (;;; <@3,#1> gap)
0x351d932e7792 comment (;;; <@16,#11> -------------------- B1 --------------------)
0x351d932e7792 comment (;;; <@17,#11> gap)
0x351d932e7795 comment (;;; <@18,#13> stack-check)
0x351d932e779f code target (BUILTIN) (0x351d93134ee0)
0x351d932e77a3 comment (;;; <@20,#13> lazy-bailout)
0x351d932e77a3 comment (;;; <@22,#15> gap)
0x351d932e77a3 position (14214)
0x351d932e77a7 comment (;;; <@23,#15> is-smi-and-branch)
0x351d932e77af comment (;;; <@24,#18> -------------------- B2 --------------------)
0x351d932e77af comment (;;; <@26,#19> load-named-field)
0x351d932e77b3 comment (;;; <@28,#20> load-named-field)
0x351d932e77b7 comment (;;; <@31,#24> compare-numeric-and-branch)
0x351d932e77c3 comment (;;; <@32,#22> -------------------- B3 (unreachable/replaced) --------------------)
0x351d932e77c3 comment (;;; <@36,#25> -------------------- B4 --------------------)
0x351d932e77c3 comment (;;; <@39,#29> compare-numeric-and-branch)
0x351d932e77cf comment (;;; <@40,#27> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932e77cf comment (;;; <@44,#30> -------------------- B6 (unreachable/replaced) --------------------)
0x351d932e77cf position (14244)
0x351d932e77cf comment (;;; <@48,#36> -------------------- B7 --------------------)
0x351d932e77cf comment (;;; <@50,#37> gap)
0x351d932e77d3 comment (;;; <@51,#37> typeof-is-and-branch)
0x351d932e77e6 comment (;;; <@52,#41> -------------------- B8 (unreachable/replaced) --------------------)
0x351d932e77e6 position (14277)
0x351d932e77e6 comment (;;; <@56,#48> -------------------- B9 --------------------)
0x351d932e77e6 comment (;;; <@57,#48> gap)
0x351d932e77ea comment (;;; <@58,#49> load-context-slot)
0x351d932e77f1 comment (;;; <@60,#50> push-argument)
0x351d932e77f3 embedded object (0x1fffbdc041b9 <undefined>)
0x351d932e77fd comment (;;; <@61,#50> gap)
0x351d932e7801 comment (;;; <@62,#50> push-argument)
0x351d932e7802 comment (;;; <@63,#50> gap)
0x351d932e7805 comment (;;; <@64,#51> call-function)
0x351d932e7807 embedded object (0x1fffbdccbaa1 <FixedArray[12]>)
0x351d932e781a code target (CALL_IC) (0x351d931133c0)
0x351d932e781e comment (;;; <@66,#52> lazy-bailout)
0x351d932e781e comment (;;; <@67,#52> gap)
0x351d932e7822 comment (;;; <@68,#54> load-context-slot)
0x351d932e7822 position (14318)
0x351d932e7829 comment (;;; <@70,#56> push-argument)
0x351d932e782b embedded object (0x1fffbdc041b9 <undefined>)
0x351d932e7835 comment (;;; <@72,#56> push-argument)
0x351d932e7838 comment (;;; <@73,#56> gap)
0x351d932e783c comment (;;; <@74,#56> push-argument)
0x351d932e783d comment (;;; <@76,#56> push-argument)
0x351d932e783e comment (;;; <@77,#56> gap)
0x351d932e7842 comment (;;; <@78,#56> push-argument)
0x351d932e7843 comment (;;; <@79,#56> gap)
0x351d932e7846 comment (;;; <@80,#57> call-function)
0x351d932e7848 embedded object (0x1fffbdccbaa1 <FixedArray[12]>)
0x351d932e785b code target (CALL_IC) (0x351d93118f00)
0x351d932e785f comment (;;; <@82,#58> lazy-bailout)
0x351d932e785f comment (;;; <@84,#60> return)
0x351d932e785f position (14311)
0x351d932e7866 comment (;;; <@86,#38> -------------------- B10 (unreachable/replaced) --------------------)
0x351d932e7866 position (14264)
0x351d932e7866 comment (;;; <@90,#44> -------------------- B11 --------------------)
0x351d932e7866 comment (;;; <@92,#45> constant-t)
0x351d932e7868 embedded object (0x1fffbdc04251 <false>)
0x351d932e7870 comment (;;; <@94,#47> return)
0x351d932e7870 position (14257)
0x351d932e7877 comment (;;; <@96,#16> -------------------- B12 (unreachable/replaced) --------------------)
0x351d932e7877 comment (;;; <@100,#33> -------------------- B13 (unreachable/replaced) --------------------)
0x351d932e7877 position (14358)
0x351d932e7877 comment (;;; <@104,#61> -------------------- B14 --------------------)
0x351d932e7877 comment (;;; <@106,#62> gap)
0x351d932e787b comment (;;; <@107,#62> has-instance-type-and-branch)
0x351d932e7892 comment (;;; <@108,#66> -------------------- B15 (unreachable/replaced) --------------------)
0x351d932e7892 position (14425)
0x351d932e7892 comment (;;; <@112,#76> -------------------- B16 --------------------)
0x351d932e7892 comment (;;; <@113,#76> gap)
0x351d932e7896 comment (;;; <@114,#77> load-context-slot)
0x351d932e789d comment (;;; <@116,#78> check-value)
0x351d932e789f embedded object (0x1fffbdca4c59 <JS Function DefineObjectProperty (SharedFunctionInfo 0x1fffbdc38d91)>)
0x351d932e78b0 comment (;;; <@118,#80> push-argument)
0x351d932e78b2 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932e78bc comment (;;; <@120,#80> push-argument)
0x351d932e78bd comment (;;; <@122,#80> push-argument)
0x351d932e78c0 comment (;;; <@124,#80> push-argument)
0x351d932e78c3 comment (;;; <@126,#80> push-argument)
0x351d932e78c6 comment (;;; <@128,#81> constant-t)
0x351d932e78c8 embedded object (0x1fffbdca4c59 <JS Function DefineObjectProperty (SharedFunctionInfo 0x1fffbdc38d91)>)
0x351d932e78d0 comment (;;; <@130,#82> call-js-function)
0x351d932e78d7 comment (;;; <@132,#83> lazy-bailout)
0x351d932e78d7 comment (;;; <@134,#85> return)
0x351d932e78d7 position (14418)
0x351d932e78de comment (;;; <@136,#63> -------------------- B17 (unreachable/replaced) --------------------)
0x351d932e78de position (14381)
0x351d932e78de comment (;;; <@140,#69> -------------------- B18 --------------------)
0x351d932e78de comment (;;; <@141,#69> gap)
0x351d932e78e2 comment (;;; <@142,#70> load-context-slot)
0x351d932e78e9 comment (;;; <@144,#71> push-argument)
0x351d932e78eb embedded object (0x1fffbdc041b9 <undefined>)
0x351d932e78f5 comment (;;; <@146,#71> push-argument)
0x351d932e78f8 comment (;;; <@148,#71> push-argument)
0x351d932e78fb comment (;;; <@150,#71> push-argument)
0x351d932e78fe comment (;;; <@152,#71> push-argument)
0x351d932e7901 comment (;;; <@153,#71> gap)
0x351d932e7904 comment (;;; <@154,#72> call-function)
0x351d932e7906 embedded object (0x1fffbdccbaa1 <FixedArray[12]>)
0x351d932e7919 code target (CALL_IC) (0x351d93118f00)
0x351d932e791d comment (;;; <@156,#73> lazy-bailout)
0x351d932e791d comment (;;; <@158,#75> return)
0x351d932e791d position (14374)
0x351d932e792a comment (;;; -------------------- Jump table --------------------)
0x351d932e792a position (115200)
0x351d932e792a deopt reason (value mismatch)
0x351d932e792b runtime entry (deoptimization bailout 3)
0x351d932e7930 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (PropertyDescriptor_HasEnumerable) id{17,0} ---
(){
return this.hasEnumerable_;
}
--- END ---
--- Raw source ---
(){
return this.hasEnumerable_;
},
--- Optimized code ---
optimization_id = 17
source_position = 8102
kind = OPTIMIZED_FUNCTION
name = PropertyDescriptor_HasEnumerable
stack_slots = 1
compiler = crankshaft
Instructions (size = 107)
0x351d932e7b00 0 55 push rbp
0x351d932e7b01 1 4889e5 REX.W movq rbp,rsp
0x351d932e7b04 4 56 push rsi
0x351d932e7b05 5 57 push rdi
0x351d932e7b06 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932e7b0a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 8102
;;; <@3,#1> gap
0x351d932e7b0e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@8,#8> -------------------- B1 --------------------
;;; <@9,#8> gap
0x351d932e7b12 18 488bf0 REX.W movq rsi,rax
;;; <@10,#10> stack-check
0x351d932e7b15 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932e7b1c 28 7305 jnc 35 (0x351d932e7b23)
0x351d932e7b1e 30 e8bdd3e4ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@12,#10> lazy-bailout
;;; <@13,#10> gap
0x351d932e7b23 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@14,#14> check-non-smi
0x351d932e7b27 39 a801 test al,0x1 ;; debug: position 8117
0x351d932e7b29 41 0f841f000000 jz 78 (0x351d932e7b4e)
;;; <@16,#15> check-maps
0x351d932e7b2f 47 49bae12ea188a4140000 REX.W movq r10,0x14a488a12ee1 ;; object: 0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932e7b39 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932e7b3d 61 0f8510000000 jnz 83 (0x351d932e7b53)
;;; <@18,#16> load-named-field
0x351d932e7b43 67 488b403f REX.W movq rax,[rax+0x3f]
;;; <@20,#18> return
0x351d932e7b47 71 488be5 REX.W movq rsp,rbp ;; debug: position 8106
0x351d932e7b4a 74 5d pop rbp
0x351d932e7b4b 75 c20800 ret 0x8
;;; -------------------- Jump table --------------------
0x351d932e7b4e 78 e8b7e4b1ff call 0x351d92e0600a ;; debug: position 7680
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932e7b53 83 e8bce4b1ff call 0x351d92e06014 ;; debug: position 7680
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 3)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
Safepoints (size = 19)
0x351d932e7b23 35 1 (sp -> fp) 0
RelocInfo (size = 184)
0x351d932e7b0a position (8102)
0x351d932e7b0a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932e7b0a comment (;;; <@2,#1> context)
0x351d932e7b0e comment (;;; <@3,#1> gap)
0x351d932e7b12 comment (;;; <@8,#8> -------------------- B1 --------------------)
0x351d932e7b12 comment (;;; <@9,#8> gap)
0x351d932e7b15 comment (;;; <@10,#10> stack-check)
0x351d932e7b1f code target (BUILTIN) (0x351d93134ee0)
0x351d932e7b23 comment (;;; <@12,#10> lazy-bailout)
0x351d932e7b23 comment (;;; <@13,#10> gap)
0x351d932e7b27 comment (;;; <@14,#14> check-non-smi)
0x351d932e7b27 position (8117)
0x351d932e7b2f comment (;;; <@16,#15> check-maps)
0x351d932e7b31 embedded object (0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932e7b43 comment (;;; <@18,#16> load-named-field)
0x351d932e7b47 comment (;;; <@20,#18> return)
0x351d932e7b47 position (8106)
0x351d932e7b4e comment (;;; -------------------- Jump table --------------------)
0x351d932e7b4e position (7680)
0x351d932e7b4e deopt reason (Smi)
0x351d932e7b4f runtime entry (deoptimization bailout 1)
0x351d932e7b53 position (7680)
0x351d932e7b53 deopt reason (wrong map)
0x351d932e7b54 runtime entry (deoptimization bailout 2)
0x351d932e7b58 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (PropertyDescriptor_HasConfigurable) id{18,0} ---
(){
return this.hasConfigurable_;
}
--- END ---
--- Raw source ---
(){
return this.hasConfigurable_;
},
--- Optimized code ---
optimization_id = 18
source_position = 8588
kind = OPTIMIZED_FUNCTION
name = PropertyDescriptor_HasConfigurable
stack_slots = 1
compiler = crankshaft
Instructions (size = 107)
0x351d932e7d00 0 55 push rbp
0x351d932e7d01 1 4889e5 REX.W movq rbp,rsp
0x351d932e7d04 4 56 push rsi
0x351d932e7d05 5 57 push rdi
0x351d932e7d06 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932e7d0a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 8588
;;; <@3,#1> gap
0x351d932e7d0e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@8,#8> -------------------- B1 --------------------
;;; <@9,#8> gap
0x351d932e7d12 18 488bf0 REX.W movq rsi,rax
;;; <@10,#10> stack-check
0x351d932e7d15 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932e7d1c 28 7305 jnc 35 (0x351d932e7d23)
0x351d932e7d1e 30 e8bdd1e4ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@12,#10> lazy-bailout
;;; <@13,#10> gap
0x351d932e7d23 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@14,#14> check-non-smi
0x351d932e7d27 39 a801 test al,0x1 ;; debug: position 8603
0x351d932e7d29 41 0f841f000000 jz 78 (0x351d932e7d4e)
;;; <@16,#15> check-maps
0x351d932e7d2f 47 49bae12ea188a4140000 REX.W movq r10,0x14a488a12ee1 ;; object: 0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932e7d39 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932e7d3d 61 0f8510000000 jnz 83 (0x351d932e7d53)
;;; <@18,#16> load-named-field
0x351d932e7d43 67 488b404f REX.W movq rax,[rax+0x4f]
;;; <@20,#18> return
0x351d932e7d47 71 488be5 REX.W movq rsp,rbp ;; debug: position 8592
0x351d932e7d4a 74 5d pop rbp
0x351d932e7d4b 75 c20800 ret 0x8
;;; -------------------- Jump table --------------------
0x351d932e7d4e 78 e8b7e2b1ff call 0x351d92e0600a ;; debug: position 7680
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932e7d53 83 e8bce2b1ff call 0x351d92e06014 ;; debug: position 7680
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 3)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
Safepoints (size = 19)
0x351d932e7d23 35 1 (sp -> fp) 0
RelocInfo (size = 184)
0x351d932e7d0a position (8588)
0x351d932e7d0a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932e7d0a comment (;;; <@2,#1> context)
0x351d932e7d0e comment (;;; <@3,#1> gap)
0x351d932e7d12 comment (;;; <@8,#8> -------------------- B1 --------------------)
0x351d932e7d12 comment (;;; <@9,#8> gap)
0x351d932e7d15 comment (;;; <@10,#10> stack-check)
0x351d932e7d1f code target (BUILTIN) (0x351d93134ee0)
0x351d932e7d23 comment (;;; <@12,#10> lazy-bailout)
0x351d932e7d23 comment (;;; <@13,#10> gap)
0x351d932e7d27 comment (;;; <@14,#14> check-non-smi)
0x351d932e7d27 position (8603)
0x351d932e7d2f comment (;;; <@16,#15> check-maps)
0x351d932e7d31 embedded object (0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932e7d43 comment (;;; <@18,#16> load-named-field)
0x351d932e7d47 comment (;;; <@20,#18> return)
0x351d932e7d47 position (8592)
0x351d932e7d4e comment (;;; -------------------- Jump table --------------------)
0x351d932e7d4e position (7680)
0x351d932e7d4e deopt reason (Smi)
0x351d932e7d4f runtime entry (deoptimization bailout 1)
0x351d932e7d53 position (7680)
0x351d932e7d53 deopt reason (wrong map)
0x351d932e7d54 runtime entry (deoptimization bailout 2)
0x351d932e7d58 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (PropertyDescriptor_HasSetter) id{19,0} ---
(){
return this.hasSetter_;
}
--- END ---
--- Raw source ---
(){
return this.hasSetter_;
}
--- Optimized code ---
optimization_id = 19
source_position = 9167
kind = OPTIMIZED_FUNCTION
name = PropertyDescriptor_HasSetter
stack_slots = 1
compiler = crankshaft
Instructions (size = 107)
0x351d932e7f00 0 55 push rbp
0x351d932e7f01 1 4889e5 REX.W movq rbp,rsp
0x351d932e7f04 4 56 push rsi
0x351d932e7f05 5 57 push rdi
0x351d932e7f06 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932e7f0a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 9167
;;; <@3,#1> gap
0x351d932e7f0e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@8,#8> -------------------- B1 --------------------
;;; <@9,#8> gap
0x351d932e7f12 18 488bf0 REX.W movq rsi,rax
;;; <@10,#10> stack-check
0x351d932e7f15 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932e7f1c 28 7305 jnc 35 (0x351d932e7f23)
0x351d932e7f1e 30 e8bdcfe4ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@12,#10> lazy-bailout
;;; <@13,#10> gap
0x351d932e7f23 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@14,#14> check-non-smi
0x351d932e7f27 39 a801 test al,0x1 ;; debug: position 9182
0x351d932e7f29 41 0f841f000000 jz 78 (0x351d932e7f4e)
;;; <@16,#15> check-maps
0x351d932e7f2f 47 49bae12ea188a4140000 REX.W movq r10,0x14a488a12ee1 ;; object: 0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932e7f39 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932e7f3d 61 0f8510000000 jnz 83 (0x351d932e7f53)
;;; <@18,#16> load-named-field
0x351d932e7f43 67 488b406f REX.W movq rax,[rax+0x6f]
;;; <@20,#18> return
0x351d932e7f47 71 488be5 REX.W movq rsp,rbp ;; debug: position 9171
0x351d932e7f4a 74 5d pop rbp
0x351d932e7f4b 75 c20800 ret 0x8
;;; -------------------- Jump table --------------------
0x351d932e7f4e 78 e8b7e0b1ff call 0x351d92e0600a ;; debug: position 7680
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932e7f53 83 e8bce0b1ff call 0x351d92e06014 ;; debug: position 7680
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 3)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
Safepoints (size = 19)
0x351d932e7f23 35 1 (sp -> fp) 0
RelocInfo (size = 184)
0x351d932e7f0a position (9167)
0x351d932e7f0a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932e7f0a comment (;;; <@2,#1> context)
0x351d932e7f0e comment (;;; <@3,#1> gap)
0x351d932e7f12 comment (;;; <@8,#8> -------------------- B1 --------------------)
0x351d932e7f12 comment (;;; <@9,#8> gap)
0x351d932e7f15 comment (;;; <@10,#10> stack-check)
0x351d932e7f1f code target (BUILTIN) (0x351d93134ee0)
0x351d932e7f23 comment (;;; <@12,#10> lazy-bailout)
0x351d932e7f23 comment (;;; <@13,#10> gap)
0x351d932e7f27 comment (;;; <@14,#14> check-non-smi)
0x351d932e7f27 position (9182)
0x351d932e7f2f comment (;;; <@16,#15> check-maps)
0x351d932e7f31 embedded object (0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932e7f43 comment (;;; <@18,#16> load-named-field)
0x351d932e7f47 comment (;;; <@20,#18> return)
0x351d932e7f47 position (9171)
0x351d932e7f4e comment (;;; -------------------- Jump table --------------------)
0x351d932e7f4e position (7680)
0x351d932e7f4e deopt reason (Smi)
0x351d932e7f4f runtime entry (deoptimization bailout 1)
0x351d932e7f53 position (7680)
0x351d932e7f53 deopt reason (wrong map)
0x351d932e7f54 runtime entry (deoptimization bailout 2)
0x351d932e7f58 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (posixSplitPath) id{20,0} ---
(filename) {
const out = splitPathRe.exec(filename);
out.shift();
return out;
}
--- END ---
--- Raw source ---
(filename) {
const out = splitPathRe.exec(filename);
out.shift();
return out;
}
--- Optimized code ---
optimization_id = 20
source_position = 10726
kind = OPTIMIZED_FUNCTION
name = posixSplitPath
stack_slots = 2
compiler = crankshaft
Instructions (size = 393)
0x351d932eb3c0 0 55 push rbp
0x351d932eb3c1 1 4889e5 REX.W movq rbp,rsp
0x351d932eb3c4 4 56 push rsi
0x351d932eb3c5 5 57 push rdi
0x351d932eb3c6 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932eb3ca 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 10726
;;; <@3,#1> gap
0x351d932eb3ce 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#9> -------------------- B1 --------------------
;;; <@11,#9> gap
0x351d932eb3d2 18 488bf0 REX.W movq rsi,rax
;;; <@12,#11> stack-check
0x351d932eb3d5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932eb3dc 28 7305 jnc 35 (0x351d932eb3e3)
0x351d932eb3de 30 e8fd9ae4ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#11> lazy-bailout
;;; <@15,#11> gap
0x351d932eb3e3 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@16,#12> load-context-slot
0x351d932eb3e7 39 488b587f REX.W movq rbx,[rax+0x7f] ;; debug: position 10753
0x351d932eb3eb 43 493b5db0 REX.W cmpq rbx,[r13-0x50]
0x351d932eb3ef 47 0f8411010000 jz 326 (0x351d932eb506)
;;; <@18,#13> check-non-smi
0x351d932eb3f5 53 f6c301 testb rbx,0x1 ;; debug: position 10765
0x351d932eb3f8 56 0f840d010000 jz 331 (0x351d932eb50b)
;;; <@20,#14> check-maps
0x351d932eb3fe 62 49bab16d908290160000 REX.W movq r10,0x169082906db1 ;; object: 0x169082906db1 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x351d932eb408 72 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932eb40c 76 0f85fe000000 jnz 336 (0x351d932eb510)
;;; <@22,#16> check-maps
;;; <@24,#19> push-argument
0x351d932eb412 82 53 push rbx
;;; <@25,#19> gap
0x351d932eb413 83 488b5d10 REX.W movq rbx,[rbp+0x10]
;;; <@26,#19> push-argument
0x351d932eb417 87 53 push rbx
;;; <@28,#18> constant-t
0x351d932eb418 88 48bf1156c9bdff1f0000 REX.W movq rdi,0x1fffbdc95611 ;; object: 0x1fffbdc95611 <JS Function exec (SharedFunctionInfo 0x1fffbdc4f909)>
;;; <@30,#20> call-js-function
0x351d932eb422 98 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932eb426 102 ff5717 call [rdi+0x17]
;;; <@31,#20> gap
0x351d932eb429 105 488945e0 REX.W movq [rbp-0x20],rax
;;; <@32,#21> lazy-bailout
;;; <@34,#24> check-non-smi
0x351d932eb42d 109 a801 test al,0x1 ;; debug: position 10787
0x351d932eb42f 111 0f84e0000000 jz 341 (0x351d932eb515)
;;; <@36,#25> check-maps
0x351d932eb435 117 49bad99e908290160000 REX.W movq r10,0x169082909ed9 ;; object: 0x169082909ed9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932eb43f 127 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932eb443 131 0f85d1000000 jnz 346 (0x351d932eb51a)
;;; <@38,#27> check-maps
;;; <@40,#32> check-maps
;;; <@42,#34> load-named-field
0x351d932eb449 137 8b581b movl rbx,[rax+0x1b]
;;; <@45,#36> compare-numeric-and-branch
0x351d932eb44c 140 83fb00 cmpl rbx,0x0
0x351d932eb44f 143 0f84aa000000 jz 319 (0x351d932eb4ff)
;;; <@46,#37> -------------------- B2 --------------------
;;; <@48,#38> load-named-field
0x351d932eb455 149 488b500f REX.W movq rdx,[rax+0xf]
;;; <@51,#39> compare-numeric-and-branch
0x351d932eb459 153 83fb10 cmpl rbx,0x10
0x351d932eb45c 156 0f8f14000000 jg 182 (0x351d932eb476)
;;; <@52,#40> -------------------- B3 (unreachable/replaced) --------------------
;;; <@56,#44> -------------------- B4 --------------------
;;; <@59,#45> cmp-map-and-branch
0x351d932eb462 162 49ba0942908290160000 REX.W movq r10,0x169082904209 ;; object: 0x169082904209 <Map(FAST_SMI_ELEMENTS)>
0x351d932eb46c 172 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d932eb470 176 0f841d000000 jz 211 (0x351d932eb493)
;;; <@60,#42> -------------------- B5 (unreachable/replaced) --------------------
;;; <@64,#66> -------------------- B6 --------------------
;;; <@66,#67> push-argument
0x351d932eb476 182 50 push rax
;;; <@68,#28> constant-t
0x351d932eb477 183 48bff95ac9bdff1f0000 REX.W movq rdi,0x1fffbdc95af9 ;; object: 0x1fffbdc95af9 <JS Function shift (SharedFunctionInfo 0x1fffbdc80489)>
;;; <@70,#68> call-js-function
0x351d932eb481 193 33c0 xorl rax,rax
0x351d932eb483 195 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932eb487 199 ff5717 call [rdi+0x17]
;;; <@72,#68> lazy-bailout
;;; <@74,#69> gap
0x351d932eb48a 202 488b45e0 REX.W movq rax,[rbp-0x20]
;;; <@75,#69> goto
0x351d932eb48e 206 e96c000000 jmp 319 (0x351d932eb4ff)
;;; <@76,#47> -------------------- B7 --------------------
;;; <@78,#48> sub-i
0x351d932eb493 211 83eb01 subl rbx,0x1
;;; <@80,#54> gap
0x351d932eb496 214 33c0 xorl rax,rax
;;; <@82,#55> -------------------- B8 (loop header) --------------------
;;; <@85,#56> compare-numeric-and-branch
0x351d932eb498 216 3bc3 cmpl rax,rbx
0x351d932eb49a 218 0f8d49000000 jge 297 (0x351d932eb4e9)
;;; <@86,#57> -------------------- B9 --------------------
;;; <@88,#58> add-i
0x351d932eb4a0 224 8d4801 leal rcx,[rax+0x1]
0x351d932eb4a3 227 4863c9 REX.W movsxlq rcx,rcx
;;; <@90,#59> load-keyed
0x351d932eb4a6 230 488b74c217 REX.W movq rsi,[rdx+rax*8+0x17]
;;; <@91,#59> gap
0x351d932eb4ab 235 488bfa REX.W movq rdi,rdx
;;; <@92,#60> store-keyed
0x351d932eb4ae 238 488974c70f REX.W movq [rdi+rax*8+0xf],rsi
0x351d932eb4b3 243 488d44c70f REX.W leaq rax,[rdi+rax*8+0xf]
0x351d932eb4b8 248 40f6c601 testb rsi,0x1
0x351d932eb4bc 252 0f8422000000 jz 292 (0x351d932eb4e4)
0x351d932eb4c2 258 4881e60000f0ff REX.W andq rsi,0xfffffffffff00000
0x351d932eb4c9 265 f6460804 testb [rsi+0x8],0x4
0x351d932eb4cd 269 7415 jz 292 (0x351d932eb4e4)
0x351d932eb4cf 271 48c7c60000f0ff REX.W movq rsi,0xfff00000
0x351d932eb4d6 278 4823f7 REX.W andq rsi,rdi
0x351d932eb4d9 281 f6460808 testb [rsi+0x8],0x8
0x351d932eb4dd 285 7405 jz 292 (0x351d932eb4e4)
0x351d932eb4df 287 e8dca5fbff call 0x351d932a5ac0 ;; code: STUB, RecordWriteStub, minor: 8295
;;; <@94,#62> gap
0x351d932eb4e4 292 488bc1 REX.W movq rax,rcx
;;; <@95,#62> goto
0x351d932eb4e7 295 ebaf jmp 216 (0x351d932eb498)
;;; <@96,#63> -------------------- B10 --------------------
;;; <@98,#64> store-keyed
0x351d932eb4e9 297 49ba7941c0bdff1f0000 REX.W movq r10,0x1fffbdc04179 ;; object: 0x1fffbdc04179 <the hole>
0x351d932eb4f3 307 4c8954da0f REX.W movq [rdx+rbx*8+0xf],r10
;;; <@99,#64> gap
0x351d932eb4f8 312 488b45e0 REX.W movq rax,[rbp-0x20]
;;; <@100,#65> store-named-field
0x351d932eb4fc 316 89581b movl [rax+0x1b],rbx
;;; <@104,#71> -------------------- B11 (unreachable/replaced) --------------------
;;; <@108,#73> -------------------- B12 (unreachable/replaced) --------------------
;;; <@112,#75> -------------------- B13 --------------------
;;; <@114,#79> return
0x351d932eb4ff 319 488be5 REX.W movq rsp,rbp ;; debug: position 10798
0x351d932eb502 322 5d pop rbp
0x351d932eb503 323 c21000 ret 0x10
;;; -------------------- Jump table --------------------
0x351d932eb506 326 e8ffaab1ff call 0x351d92e0600a ;; debug: position 13824
;; debug: deopt reason 'hole'
;; deoptimization bailout 1
0x351d932eb50b 331 e804abb1ff call 0x351d92e06014 ;; debug: position 19968
;; debug: deopt reason 'Smi'
;; deoptimization bailout 2
0x351d932eb510 336 e809abb1ff call 0x351d92e0601e ;; debug: position 19968
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 3
0x351d932eb515 341 e818abb1ff call 0x351d92e06032 ;; debug: position 31232
;; debug: deopt reason 'Smi'
;; deoptimization bailout 5
0x351d932eb51a 346 e81dabb1ff call 0x351d92e0603c ;; debug: position 31232
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 6
0x351d932eb51f 351 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 8)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 3 0 -1
4 17 0 109
5 17 0 -1
6 17 0 -1
7 17 0 202
Safepoints (size = 41)
0x351d932eb3e3 35 01 (sp -> fp) 0
0x351d932eb429 105 01 (sp -> fp) 4
0x351d932eb48a 202 11 (sp -> fp) 7
RelocInfo (size = 739)
0x351d932eb3ca position (10726)
0x351d932eb3ca comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932eb3ca comment (;;; <@2,#1> context)
0x351d932eb3ce comment (;;; <@3,#1> gap)
0x351d932eb3d2 comment (;;; <@10,#9> -------------------- B1 --------------------)
0x351d932eb3d2 comment (;;; <@11,#9> gap)
0x351d932eb3d5 comment (;;; <@12,#11> stack-check)
0x351d932eb3df code target (BUILTIN) (0x351d93134ee0)
0x351d932eb3e3 comment (;;; <@14,#11> lazy-bailout)
0x351d932eb3e3 comment (;;; <@15,#11> gap)
0x351d932eb3e7 comment (;;; <@16,#12> load-context-slot)
0x351d932eb3e7 position (10753)
0x351d932eb3f5 comment (;;; <@18,#13> check-non-smi)
0x351d932eb3f5 position (10765)
0x351d932eb3fe comment (;;; <@20,#14> check-maps)
0x351d932eb400 embedded object (0x169082906db1 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x351d932eb412 comment (;;; <@22,#16> check-maps)
0x351d932eb412 comment (;;; <@24,#19> push-argument)
0x351d932eb413 comment (;;; <@25,#19> gap)
0x351d932eb417 comment (;;; <@26,#19> push-argument)
0x351d932eb418 comment (;;; <@28,#18> constant-t)
0x351d932eb41a embedded object (0x1fffbdc95611 <JS Function exec (SharedFunctionInfo 0x1fffbdc4f909)>)
0x351d932eb422 comment (;;; <@30,#20> call-js-function)
0x351d932eb429 comment (;;; <@31,#20> gap)
0x351d932eb42d comment (;;; <@32,#21> lazy-bailout)
0x351d932eb42d comment (;;; <@34,#24> check-non-smi)
0x351d932eb42d position (10787)
0x351d932eb435 comment (;;; <@36,#25> check-maps)
0x351d932eb437 embedded object (0x169082909ed9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932eb449 comment (;;; <@38,#27> check-maps)
0x351d932eb449 comment (;;; <@40,#32> check-maps)
0x351d932eb449 comment (;;; <@42,#34> load-named-field)
0x351d932eb44c comment (;;; <@45,#36> compare-numeric-and-branch)
0x351d932eb455 comment (;;; <@46,#37> -------------------- B2 --------------------)
0x351d932eb455 comment (;;; <@48,#38> load-named-field)
0x351d932eb459 comment (;;; <@51,#39> compare-numeric-and-branch)
0x351d932eb462 comment (;;; <@52,#40> -------------------- B3 (unreachable/replaced) --------------------)
0x351d932eb462 comment (;;; <@56,#44> -------------------- B4 --------------------)
0x351d932eb462 comment (;;; <@59,#45> cmp-map-and-branch)
0x351d932eb464 embedded object (0x169082904209 <Map(FAST_SMI_ELEMENTS)>)
0x351d932eb476 comment (;;; <@60,#42> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932eb476 comment (;;; <@64,#66> -------------------- B6 --------------------)
0x351d932eb476 comment (;;; <@66,#67> push-argument)
0x351d932eb477 comment (;;; <@68,#28> constant-t)
0x351d932eb479 embedded object (0x1fffbdc95af9 <JS Function shift (SharedFunctionInfo 0x1fffbdc80489)>)
0x351d932eb481 comment (;;; <@70,#68> call-js-function)
0x351d932eb48a comment (;;; <@72,#68> lazy-bailout)
0x351d932eb48a comment (;;; <@74,#69> gap)
0x351d932eb48e comment (;;; <@75,#69> goto)
0x351d932eb493 comment (;;; <@76,#47> -------------------- B7 --------------------)
0x351d932eb493 comment (;;; <@78,#48> sub-i)
0x351d932eb496 comment (;;; <@80,#54> gap)
0x351d932eb498 comment (;;; <@82,#55> -------------------- B8 (loop header) --------------------)
0x351d932eb498 comment (;;; <@85,#56> compare-numeric-and-branch)
0x351d932eb4a0 comment (;;; <@86,#57> -------------------- B9 --------------------)
0x351d932eb4a0 comment (;;; <@88,#58> add-i)
0x351d932eb4a6 comment (;;; <@90,#59> load-keyed)
0x351d932eb4ab comment (;;; <@91,#59> gap)
0x351d932eb4ae comment (;;; <@92,#60> store-keyed)
0x351d932eb4e0 code target (STUB) (0x351d932a5ac0)
0x351d932eb4e4 comment (;;; <@94,#62> gap)
0x351d932eb4e7 comment (;;; <@95,#62> goto)
0x351d932eb4e9 comment (;;; <@96,#63> -------------------- B10 --------------------)
0x351d932eb4e9 comment (;;; <@98,#64> store-keyed)
0x351d932eb4eb embedded object (0x1fffbdc04179 <the hole>)
0x351d932eb4f8 comment (;;; <@99,#64> gap)
0x351d932eb4fc comment (;;; <@100,#65> store-named-field)
0x351d932eb4ff comment (;;; <@104,#71> -------------------- B11 (unreachable/replaced) --------------------)
0x351d932eb4ff comment (;;; <@108,#73> -------------------- B12 (unreachable/replaced) --------------------)
0x351d932eb4ff comment (;;; <@112,#75> -------------------- B13 --------------------)
0x351d932eb4ff comment (;;; <@114,#79> return)
0x351d932eb4ff position (10798)
0x351d932eb506 comment (;;; -------------------- Jump table --------------------)
0x351d932eb506 position (13824)
0x351d932eb506 deopt reason (hole)
0x351d932eb507 runtime entry (deoptimization bailout 1)
0x351d932eb50b position (19968)
0x351d932eb50b deopt reason (Smi)
0x351d932eb50c runtime entry (deoptimization bailout 2)
0x351d932eb510 position (19968)
0x351d932eb510 deopt reason (wrong map)
0x351d932eb511 runtime entry (deoptimization bailout 3)
0x351d932eb515 position (31232)
0x351d932eb515 deopt reason (Smi)
0x351d932eb516 runtime entry (deoptimization bailout 5)
0x351d932eb51a position (31232)
0x351d932eb51a deopt reason (wrong map)
0x351d932eb51b runtime entry (deoptimization bailout 6)
0x351d932eb520 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (IsInconsistentDescriptor) id{21,0} ---
(G){
return IsAccessorDescriptor(G)&&IsDataDescriptor(G);
}
--- END ---
--- Raw source ---
(G){
return IsAccessorDescriptor(G)&&IsDataDescriptor(G);
}
--- Optimized code ---
optimization_id = 21
source_position = 5016
kind = OPTIMIZED_FUNCTION
name = IsInconsistentDescriptor
stack_slots = 1
compiler = crankshaft
Instructions (size = 253)
0x351d932ec600 0 55 push rbp
0x351d932ec601 1 4889e5 REX.W movq rbp,rsp
0x351d932ec604 4 56 push rsi
0x351d932ec605 5 57 push rdi
0x351d932ec606 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932ec60a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 5016
;;; <@3,#1> gap
0x351d932ec60e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932ec612 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932ec615 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932ec61c 28 7305 jnc 35 (0x351d932ec623)
0x351d932ec61e 30 e8bd88e4ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@15,#10> gap
0x351d932ec623 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@16,#11> load-context-slot
0x351d932ec627 39 488b98bf000000 REX.W movq rbx,[rax+0xbf] ;; debug: position 5028
;;; <@18,#13> check-value
0x351d932ec62e 46 49ba213ecabdff1f0000 REX.W movq r10,0x1fffbdca3e21 ;; object: 0x1fffbdca3e21 <JS Function IsAccessorDescriptor (SharedFunctionInfo 0x1fffbdc375b1)>
0x351d932ec638 56 493bda REX.W cmpq rbx,r10
0x351d932ec63b 59 0f8586000000 jnz 199 (0x351d932ec6c7)
;;; <@20,#15> push-argument
0x351d932ec641 65 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; object: 0x21ab18105f49 <JS Global Object>
0x351d932ec64b 75 4152 push r10
;;; <@21,#15> gap
0x351d932ec64d 77 488b5d10 REX.W movq rbx,[rbp+0x10]
;;; <@22,#15> push-argument
0x351d932ec651 81 53 push rbx
;;; <@24,#16> constant-t
0x351d932ec652 82 48bf213ecabdff1f0000 REX.W movq rdi,0x1fffbdca3e21 ;; object: 0x1fffbdca3e21 <JS Function IsAccessorDescriptor (SharedFunctionInfo 0x1fffbdc375b1)>
;;; <@26,#17> call-js-function
0x351d932ec65c 92 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932ec660 96 ff5717 call [rdi+0x17]
;;; <@28,#18> lazy-bailout
;;; <@31,#19> branch
0x351d932ec663 99 493b45c0 REX.W cmpq rax,[r13-0x40] ;; debug: position 5051
0x351d932ec667 103 0f840f000000 jz 124 (0x351d932ec67c)
0x351d932ec66d 109 493b45c8 REX.W cmpq rax,[r13-0x38]
0x351d932ec671 113 0f8443000000 jz 186 (0x351d932ec6ba)
0x351d932ec677 119 e8a299b1ff call 0x351d92e0601e ;; debug: position 17920
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 3
;;; <@32,#28> -------------------- B2 (unreachable/replaced) --------------------
;;; <@36,#20> -------------------- B3 --------------------
;;; <@37,#20> gap
0x351d932ec67c 124 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 5053
;;; <@38,#21> load-context-slot
0x351d932ec680 128 488b93c7000000 REX.W movq rdx,[rbx+0xc7]
;;; <@40,#22> check-value
0x351d932ec687 135 49ba693ecabdff1f0000 REX.W movq r10,0x1fffbdca3e69 ;; object: 0x1fffbdca3e69 <JS Function IsDataDescriptor (SharedFunctionInfo 0x1fffbdc37769)>
0x351d932ec691 145 493bd2 REX.W cmpq rdx,r10
0x351d932ec694 148 0f8532000000 jnz 204 (0x351d932ec6cc)
;;; <@42,#24> push-argument
0x351d932ec69a 154 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; object: 0x21ab18105f49 <JS Global Object>
0x351d932ec6a4 164 4152 push r10
;;; <@44,#24> push-argument
0x351d932ec6a6 166 ff7510 push [rbp+0x10]
;;; <@46,#25> constant-t
0x351d932ec6a9 169 48bf693ecabdff1f0000 REX.W movq rdi,0x1fffbdca3e69 ;; object: 0x1fffbdca3e69 <JS Function IsDataDescriptor (SharedFunctionInfo 0x1fffbdc37769)>
;;; <@48,#26> call-js-function
0x351d932ec6b3 179 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932ec6b7 183 ff5717 call [rdi+0x17]
;;; <@50,#27> lazy-bailout
;;; <@54,#34> -------------------- B4 --------------------
;;; <@56,#36> return
0x351d932ec6ba 186 488be5 REX.W movq rsp,rbp ;; debug: position 5021
0x351d932ec6bd 189 5d pop rbp
0x351d932ec6be 190 c21000 ret 0x10
0x351d932ec6c1 193 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x351d932ec6c7 199 e83e99b1ff call 0x351d92e0600a ;; debug: position 6144
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 1
0x351d932ec6cc 204 e85799b1ff call 0x351d92e06028 ;; debug: position 18944
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 4
0x351d932ec6d1 209 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 6)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 8 0 99
3 8 0 -1
4 8 0 -1
5 19 0 186
Safepoints (size = 41)
0x351d932ec623 35 1 (sp -> fp) 0
0x351d932ec663 99 1 (sp -> fp) 2
0x351d932ec6ba 186 1 (sp -> fp) 5
RelocInfo (size = 401)
0x351d932ec60a position (5016)
0x351d932ec60a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932ec60a comment (;;; <@2,#1> context)
0x351d932ec60e comment (;;; <@3,#1> gap)
0x351d932ec612 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932ec612 comment (;;; <@11,#8> gap)
0x351d932ec615 comment (;;; <@12,#10> stack-check)
0x351d932ec61f code target (BUILTIN) (0x351d93134ee0)
0x351d932ec623 comment (;;; <@14,#10> lazy-bailout)
0x351d932ec623 comment (;;; <@15,#10> gap)
0x351d932ec627 comment (;;; <@16,#11> load-context-slot)
0x351d932ec627 position (5028)
0x351d932ec62e comment (;;; <@18,#13> check-value)
0x351d932ec630 embedded object (0x1fffbdca3e21 <JS Function IsAccessorDescriptor (SharedFunctionInfo 0x1fffbdc375b1)>)
0x351d932ec641 comment (;;; <@20,#15> push-argument)
0x351d932ec643 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932ec64d comment (;;; <@21,#15> gap)
0x351d932ec651 comment (;;; <@22,#15> push-argument)
0x351d932ec652 comment (;;; <@24,#16> constant-t)
0x351d932ec654 embedded object (0x1fffbdca3e21 <JS Function IsAccessorDescriptor (SharedFunctionInfo 0x1fffbdc375b1)>)
0x351d932ec65c comment (;;; <@26,#17> call-js-function)
0x351d932ec663 comment (;;; <@28,#18> lazy-bailout)
0x351d932ec663 position (5051)
0x351d932ec663 comment (;;; <@31,#19> branch)
0x351d932ec677 position (17920)
0x351d932ec677 deopt reason (unexpected object)
0x351d932ec678 runtime entry (deoptimization bailout 3)
0x351d932ec67c comment (;;; <@32,#28> -------------------- B2 (unreachable/replaced) --------------------)
0x351d932ec67c position (5053)
0x351d932ec67c comment (;;; <@36,#20> -------------------- B3 --------------------)
0x351d932ec67c comment (;;; <@37,#20> gap)
0x351d932ec680 comment (;;; <@38,#21> load-context-slot)
0x351d932ec687 comment (;;; <@40,#22> check-value)
0x351d932ec689 embedded object (0x1fffbdca3e69 <JS Function IsDataDescriptor (SharedFunctionInfo 0x1fffbdc37769)>)
0x351d932ec69a comment (;;; <@42,#24> push-argument)
0x351d932ec69c embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932ec6a6 comment (;;; <@44,#24> push-argument)
0x351d932ec6a9 comment (;;; <@46,#25> constant-t)
0x351d932ec6ab embedded object (0x1fffbdca3e69 <JS Function IsDataDescriptor (SharedFunctionInfo 0x1fffbdc37769)>)
0x351d932ec6b3 comment (;;; <@48,#26> call-js-function)
0x351d932ec6ba comment (;;; <@50,#27> lazy-bailout)
0x351d932ec6ba position (5021)
0x351d932ec6ba comment (;;; <@54,#34> -------------------- B4 --------------------)
0x351d932ec6ba comment (;;; <@56,#36> return)
0x351d932ec6c7 comment (;;; -------------------- Jump table --------------------)
0x351d932ec6c7 position (6144)
0x351d932ec6c7 deopt reason (value mismatch)
0x351d932ec6c8 runtime entry (deoptimization bailout 1)
0x351d932ec6cc position (18944)
0x351d932ec6cc deopt reason (value mismatch)
0x351d932ec6cd runtime entry (deoptimization bailout 4)
0x351d932ec6d4 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (split) id{22,0} ---
(ay,az){
if((this==null)&&!(%_IsUndetectableObject(this)))throw MakeTypeError(14,"String.prototype.split");
var A=((typeof(%IS_VAR(this))==='string')?this:$nonStringToString(this));
az=((az===(void 0)))?0xffffffff:(az>>>0);
var X=A.length;
if(!(%_IsRegExp(ay))){
var aA=((typeof(%IS_VAR(ay))==='string')?ay:$nonStringToString(ay));
if(az===0)return[];
if((ay===(void 0)))return[A];
var aB=aA.length;
if(aB===0)return %StringToArray(A,az);
var r=%StringSplit(A,aA,az);
return r;
}
if(az===0)return[];
return StringSplitOnRegExp(A,ay,az,X);
}
--- END ---
--- Raw source ---
(ay,az){
if((this==null)&&!(%_IsUndetectableObject(this)))throw MakeTypeError(14,"String.prototype.split");
var A=((typeof(%IS_VAR(this))==='string')?this:$nonStringToString(this));
az=((az===(void 0)))?0xffffffff:(az>>>0);
var X=A.length;
if(!(%_IsRegExp(ay))){
var aA=((typeof(%IS_VAR(ay))==='string')?ay:$nonStringToString(ay));
if(az===0)return[];
if((ay===(void 0)))return[A];
var aB=aA.length;
if(aB===0)return %StringToArray(A,az);
var r=%StringSplit(A,aA,az);
return r;
}
if(az===0)return[];
return StringSplitOnRegExp(A,ay,az,X);
}
--- Optimized code ---
optimization_id = 22
source_position = 9095
kind = OPTIMIZED_FUNCTION
name = split
stack_slots = 4
compiler = crankshaft
Instructions (size = 2165)
0x351d932f0360 0 55 push rbp
0x351d932f0361 1 4889e5 REX.W movq rbp,rsp
0x351d932f0364 4 56 push rsi
0x351d932f0365 5 57 push rdi
0x351d932f0366 6 4883ec20 REX.W subq rsp,0x20
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932f036a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 9095
;;; <@3,#1> gap
0x351d932f036e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@12,#9> -------------------- B1 --------------------
;;; <@13,#9> gap
0x351d932f0372 18 488bf0 REX.W movq rsi,rax
;;; <@14,#11> stack-check
0x351d932f0375 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932f037c 28 7305 jnc 35 (0x351d932f0383)
0x351d932f037e 30 e85d4be4ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@16,#11> lazy-bailout
;;; <@18,#14> gap
0x351d932f0383 35 488b5520 REX.W movq rdx,[rbp+0x20] ;; debug: position 9112
;;; <@19,#14> cmp-object-eq-and-branch
0x351d932f0387 39 49ba0141c0bdff1f0000 REX.W movq r10,0x1fffbdc04101 ;; object: 0x1fffbdc04101 <null>
0x351d932f0391 49 493bd2 REX.W cmpq rdx,r10
0x351d932f0394 52 0f842a000000 jz 100 (0x351d932f03c4)
;;; <@20,#19> -------------------- B2 --------------------
;;; <@23,#20> cmp-object-eq-and-branch
0x351d932f039a 58 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d932f03a4 68 493bd2 REX.W cmpq rdx,r10
0x351d932f03a7 71 0f8417000000 jz 100 (0x351d932f03c4)
;;; <@24,#23> -------------------- B3 --------------------
;;; <@27,#24> is-undetectable-and-branch
0x351d932f03ad 77 f6c201 testb rdx,0x1
0x351d932f03b0 80 0f848e000000 jz 228 (0x351d932f0444)
0x351d932f03b6 86 488b42ff REX.W movq rax,[rdx-0x1]
0x351d932f03ba 90 f6400c10 testb [rax+0xc],0x10
0x351d932f03be 94 0f8480000000 jz 228 (0x351d932f0444)
;;; <@28,#28> -------------------- B4 (unreachable/replaced) --------------------
;;; <@32,#21> -------------------- B5 (unreachable/replaced) --------------------
;;; <@36,#17> -------------------- B6 (unreachable/replaced) --------------------
;;; <@40,#15> -------------------- B7 (unreachable/replaced) --------------------
;;; <@44,#25> -------------------- B8 (unreachable/replaced) --------------------
;;; <@48,#31> -------------------- B9 --------------------
;;; <@51,#32> is-undetectable-and-branch
0x351d932f03c4 100 f6c201 testb rdx,0x1 ;; debug: position 9123
0x351d932f03c7 103 0f840e000000 jz 123 (0x351d932f03db)
0x351d932f03cd 109 488b42ff REX.W movq rax,[rdx-0x1]
0x351d932f03d1 113 f6400c10 testb [rax+0xc],0x10
0x351d932f03d5 117 0f8569000000 jnz 228 (0x351d932f0444)
;;; <@52,#36> -------------------- B10 (unreachable/replaced) --------------------
;;; <@56,#39> -------------------- B11 --------------------
;;; <@58,#45> push-argument
0x351d932f03db 123 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 9159
;; object: 0x21ab18105f49 <JS Global Object>
0x351d932f03e5 133 4152 push r10
;;; <@60,#45> push-argument
0x351d932f03e7 135 49ba000000000e000000 REX.W movq r10,0xe00000000
0x351d932f03f1 145 4152 push r10
;;; <@62,#45> push-argument
0x351d932f03f3 147 49bac970901214170000 REX.W movq r10,0x1714129070c9 ;; object: 0x1714129070c9 <String[22]: String.prototype.split>
0x351d932f03fd 157 4152 push r10
;;; <@64,#40> constant-t
0x351d932f03ff 159 48bff9fec9bdff1f0000 REX.W movq rdi,0x1fffbdc9fef9 ;; object: 0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>
;;; <@66,#48> load-named-field
0x351d932f0409 169 488b772f REX.W movq rsi,[rdi+0x2f]
;;; <@68,#40> constant-t
0x351d932f040d 173 48bff9fec9bdff1f0000 REX.W movq rdi,0x1fffbdc9fef9 ;; object: 0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>
;;; <@70,#49> constant-i
0x351d932f0417 183 b802000000 movl rax,0x2
;;; <@72,#47> constant-i
0x351d932f041c 188 bb04000000 movl rbx,0x4
;;; <@74,#51> call-with-descriptor
0x351d932f0421 193 e8da9ae1ff call ArgumentsAdaptorTrampoline (0x351d93109f00) ;; code: BUILTIN
;;; <@76,#52> lazy-bailout
;;; <@78,#53> push-argument
0x351d932f0426 198 50 push rax ;; debug: position 9153
;;; <@79,#53> gap
0x351d932f0427 199 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@80,#54> call-runtime
0x351d932f042b 203 0f1f840000000000 nop
0x351d932f0433 211 b801000000 movl rax,0x1
0x351d932f0438 216 498d9dd89b32ff REX.W leaq rbx,[r13-0xcd6428]
0x351d932f043f 223 e89c91e1ff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@82,#55> lazy-bailout
;;; <@84,#33> -------------------- B12 (unreachable/replaced) --------------------
;;; <@88,#57> -------------------- B13 --------------------
;;; <@90,#58> gap
0x351d932f0444 228 488b4520 REX.W movq rax,[rbp+0x20] ;; debug: position 9232
;;; <@91,#58> typeof-is-and-branch
0x351d932f0448 232 a801 test al,0x1
0x351d932f044a 234 7414 jz 256 (0x351d932f0460)
0x351d932f044c 236 488b40ff REX.W movq rax,[rax-0x1]
0x351d932f0450 240 80780b80 cmpb [rax+0xb],0x80
0x351d932f0454 244 730a jnc 256 (0x351d932f0460)
0x351d932f0456 246 f6400c10 testb [rax+0xc],0x10
0x351d932f045a 250 0f8425000000 jz 293 (0x351d932f0485)
;;; <@92,#62> -------------------- B14 (unreachable/replaced) --------------------
;;; <@96,#65> -------------------- B15 --------------------
;;; <@98,#69> push-argument
0x351d932f0460 256 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 9250
;; object: 0x21ab18105f49 <JS Global Object>
0x351d932f046a 266 4152 push r10
;;; <@100,#69> push-argument
0x351d932f046c 268 ff7520 push [rbp+0x20]
;;; <@102,#66> constant-t
0x351d932f046f 271 48bf6114cabdff1f0000 REX.W movq rdi,0x1fffbdca1461 ;; object: 0x1fffbdca1461 <JS Function NonStringToString (SharedFunctionInfo 0x1fffbdc47479)>
;;; <@104,#71> call-js-function
0x351d932f0479 281 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932f047d 285 ff5717 call [rdi+0x17]
;;; <@106,#72> lazy-bailout
;;; <@109,#77> goto
0x351d932f0480 288 e904000000 jmp 297 (0x351d932f0489) ;; debug: position 9210
;;; <@110,#59> -------------------- B16 (unreachable/replaced) --------------------
;;; <@114,#73> -------------------- B17 --------------------
;;; <@116,#75> gap
0x351d932f0485 293 488b4520 REX.W movq rax,[rbp+0x20]
;;; <@118,#79> -------------------- B18 --------------------
0x351d932f0489 297 488945e0 REX.W movq [rbp-0x20],rax ;; debug: position 9203
;;; <@120,#81> gap
0x351d932f048d 301 488b5d10 REX.W movq rbx,[rbp+0x10] ;; debug: position 9284
;;; <@121,#81> cmp-object-eq-and-branch
0x351d932f0491 305 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d932f049b 315 493bda REX.W cmpq rbx,r10
0x351d932f049e 318 0f8405000000 jz 329 (0x351d932f04a9)
;;; <@122,#85> -------------------- B19 (unreachable/replaced) --------------------
;;; <@126,#90> -------------------- B20 --------------------
;;; <@129,#92> deoptimize
0x351d932f04a4 324 e87f5bd1ff call 0x351d93006028 ;; debug: position 9315
;; debug: position 9312
;; debug: position 111104
;; debug: deopt reason 'Insufficient type feedback for LHS of binary operation'
;; soft deoptimization bailout 4
;;; <@130,#93> -------------------- B21 (unreachable/replaced) --------------------
;;; <@142,#82> -------------------- B22 (unreachable/replaced) --------------------
;;; <@146,#88> -------------------- B23 --------------------
;;; <@148,#89> constant-d
0x351d932f04a9 329 49ba0000e0ffffffef41 REX.W movq r10,0x41efffffffe00000 ;; debug: position 9298
0x351d932f04b3 339 66490f6eca REX.W movq xmm1,r10
;;; <@152,#101> -------------------- B24 --------------------
0x351d932f04b8 344 f20f114dd0 movsd [rbp-0x30],xmm1 ;; debug: position 9325
;;; <@154,#103> check-non-smi
0x351d932f04bd 349 a801 test al,0x1 ;; debug: position 9326
0x351d932f04bf 351 0f8449060000 jz 1966 (0x351d932f0b0e)
;;; <@157,#104> is-string-and-branch
0x351d932f04c5 357 a801 test al,0x1
0x351d932f04c7 359 0f8411000000 jz 382 (0x351d932f04de)
0x351d932f04cd 365 488b58ff REX.W movq rbx,[rax-0x1]
0x351d932f04d1 369 0fb65b0b movzxbl rbx,[rbx+0xb]
0x351d932f04d5 373 f6c380 testb rbx,0x80
0x351d932f04d8 376 0f845d000000 jz 475 (0x351d932f053b)
;;; <@158,#109> -------------------- B25 --------------------
;;; <@161,#110> cmp-map-and-branch
0x351d932f04de 382 49bae9f2a288a4140000 REX.W movq r10,0x14a488a2f2e9 ;; object: 0x14a488a2f2e9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932f04e8 392 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932f04ec 396 0f8436000000 jz 456 (0x351d932f0528)
;;; <@162,#116> -------------------- B26 --------------------
;;; <@163,#116> gap
0x351d932f04f2 402 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d932f04f6 406 488bd0 REX.W movq rdx,rax
;;; <@164,#117> load-named-generic
0x351d932f04f9 409 48b9794cc3bdff1f0000 REX.W movq rcx,0x1fffbdc34c79 ;; object: 0x1fffbdc34c79 <String[6]: length>
0x351d932f0503 419 48bb4971901214170000 REX.W movq rbx,0x171412907149 ;; object: 0x171412907149 <FixedArray[20]>
0x351d932f050d 429 48b8000000000c000000 REX.W movq rax,0xc00000000
0x351d932f0517 439 e844fcffff call 0x351d932f0160 ;; code: LOAD_IC, DEFAULT
;;; <@166,#118> lazy-bailout
;;; <@168,#119> gap
0x351d932f051c 444 488bd0 REX.W movq rdx,rax
0x351d932f051f 447 488b45e0 REX.W movq rax,[rbp-0x20]
;;; <@169,#119> goto
0x351d932f0523 451 e920000000 jmp 488 (0x351d932f0548)
;;; <@170,#111> -------------------- B27 --------------------
;;; <@172,#114> gap
0x351d932f0528 456 488b45e0 REX.W movq rax,[rbp-0x20]
0x351d932f052c 460 48ba6136f1aa75320000 REX.W movq rdx,0x3275aaf13661 ;; object: 0x3275aaf13661 <JS Function PromiseArray.length (SharedFunctionInfo 0x3275aaf12981)>
;;; <@173,#114> goto
0x351d932f0536 470 e90d000000 jmp 488 (0x351d932f0548)
;;; <@174,#105> -------------------- B28 --------------------
;;; <@175,#105> gap
0x351d932f053b 475 488b45e0 REX.W movq rax,[rbp-0x20]
;;; <@176,#106> load-named-field
0x351d932f053f 479 8b5813 movl rbx,[rax+0x13]
;;; <@178,#292> smi-tag
0x351d932f0542 482 8bd3 movl rdx,rbx ;; debug: position 9319
0x351d932f0544 484 48c1e220 REX.W shlq rdx, 32
;;; <@182,#120> -------------------- B29 --------------------
;;; <@184,#122> gap
0x351d932f0548 488 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 9319
;; debug: position 9340
;;; <@185,#122> has-instance-type-and-branch
0x351d932f054c 492 f6c301 testb rbx,0x1
0x351d932f054f 495 0f840f000000 jz 516 (0x351d932f0564)
0x351d932f0555 501 4c8b53ff REX.W movq r10,[rbx-0x1]
0x351d932f0559 505 41807a0bcf cmpb [r10+0xb],0xcf
0x351d932f055e 510 0f847c020000 jz 1152 (0x351d932f07e0)
;;; <@186,#126> -------------------- B30 (unreachable/replaced) --------------------
;;; <@190,#129> -------------------- B31 --------------------
;;; <@192,#130> gap
0x351d932f0564 516 488bd3 REX.W movq rdx,rbx ;; debug: position 9386
;;; <@193,#130> typeof-is-and-branch
0x351d932f0567 519 f6c201 testb rdx,0x1
0x351d932f056a 522 7414 jz 544 (0x351d932f0580)
0x351d932f056c 524 488b52ff REX.W movq rdx,[rdx-0x1]
0x351d932f0570 528 807a0b80 cmpb [rdx+0xb],0x80
0x351d932f0574 532 730a jnc 544 (0x351d932f0580)
0x351d932f0576 534 f6420c10 testb [rdx+0xc],0x10
0x351d932f057a 538 0f8423000000 jz 579 (0x351d932f05a3)
;;; <@194,#134> -------------------- B32 (unreachable/replaced) --------------------
;;; <@198,#137> -------------------- B33 --------------------
;;; <@200,#141> push-argument
0x351d932f0580 544 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 9402
;; object: 0x21ab18105f49 <JS Global Object>
0x351d932f058a 554 4152 push r10
;;; <@202,#141> push-argument
0x351d932f058c 556 53 push rbx
;;; <@204,#138> constant-t
0x351d932f058d 557 48bf6114cabdff1f0000 REX.W movq rdi,0x1fffbdca1461 ;; object: 0x1fffbdca1461 <JS Function NonStringToString (SharedFunctionInfo 0x1fffbdc47479)>
;;; <@206,#143> call-js-function
0x351d932f0597 567 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932f059b 571 ff5717 call [rdi+0x17]
;;; <@208,#144> lazy-bailout
;;; <@211,#149> goto
0x351d932f059e 574 e904000000 jmp 583 (0x351d932f05a7) ;; debug: position 9366
;;; <@212,#131> -------------------- B34 (unreachable/replaced) --------------------
;;; <@216,#145> -------------------- B35 --------------------
;;; <@218,#147> gap
0x351d932f05a3 579 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@220,#151> -------------------- B36 --------------------
;;; <@222,#293> constant-d
0x351d932f05a7 583 0f57c9 xorps xmm1,xmm1 ;; debug: position 9358
;; debug: position 9432
;;; <@224,#154> gap
0x351d932f05aa 586 f20f1055d0 movsd xmm2,[rbp-0x30]
;;; <@225,#154> compare-numeric-and-branch
0x351d932f05af 591 660f2ed1 ucomisd xmm2,xmm1
0x351d932f05b3 595 0f8a06000000 jpe 607 (0x351d932f05bf)
0x351d932f05b9 601 0f84bb010000 jz 1050 (0x351d932f077a)
;;; <@226,#158> -------------------- B37 (unreachable/replaced) --------------------
;;; <@230,#177> -------------------- B38 --------------------
;;; <@232,#178> gap
0x351d932f05bf 607 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 9453
;;; <@233,#178> cmp-object-eq-and-branch
0x351d932f05c3 611 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d932f05cd 621 493bda REX.W cmpq rbx,r10
0x351d932f05d0 624 0f84dd000000 jz 851 (0x351d932f06b3)
;;; <@234,#182> -------------------- B39 (unreachable/replaced) --------------------
;;; <@238,#215> -------------------- B40 --------------------
;;; <@240,#217> check-non-smi
0x351d932f05d6 630 a801 test al,0x1 ;; debug: position 9484
;; debug: position 9486
0x351d932f05d8 632 0f8435050000 jz 1971 (0x351d932f0b13)
;;; <@242,#218> check-instance-type
0x351d932f05de 638 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d932f05e2 642 41f6420b80 testb [r10+0xb],0x80
0x351d932f05e7 647 0f852b050000 jnz 1976 (0x351d932f0b18)
;;; <@244,#219> load-named-field
0x351d932f05ed 653 8b5013 movl rdx,[rax+0x13]
;;; <@245,#219> gap
0x351d932f05f0 656 488955d8 REX.W movq [rbp-0x28],rdx
;;; <@247,#223> compare-numeric-and-branch
0x351d932f05f4 660 83fa00 cmpl rdx,0x0 ;; debug: position 9500
0x351d932f05f7 663 0f8459000000 jz 758 (0x351d932f0656)
;;; <@248,#227> -------------------- B41 (unreachable/replaced) --------------------
;;; <@252,#237> -------------------- B42 --------------------
;;; <@254,#290> number-tag-d
0x351d932f05fd 669 498bb5400b0000 REX.W movq rsi,[r13+0xb40] ;; debug: position 9553
;; debug: position 9540
0x351d932f0604 676 488bce REX.W movq rcx,rsi
0x351d932f0607 679 4883c110 REX.W addq rcx,0x10
0x351d932f060b 683 0f82cf020000 jc 1408 (0x351d932f08e0)
0x351d932f0611 689 493b8d480b0000 REX.W cmpq rcx,[r13+0xb48]
0x351d932f0618 696 0f87c2020000 ja 1408 (0x351d932f08e0)
0x351d932f061e 702 49898d400b0000 REX.W movq [r13+0xb40],rcx
0x351d932f0625 709 48ffc6 REX.W incq rsi
0x351d932f0628 712 4d8b5500 REX.W movq r10,[r13+0x0]
0x351d932f062c 716 4c8956ff REX.W movq [rsi-0x1],r10
0x351d932f0630 720 f20f115607 movsd [rsi+0x7],xmm2
;;; <@256,#240> push-argument
0x351d932f0635 725 ff75e0 push [rbp-0x20]
;;; <@258,#240> push-argument
0x351d932f0638 728 50 push rax
;;; <@260,#240> push-argument
0x351d932f0639 729 56 push rsi
;;; <@261,#240> gap
0x351d932f063a 730 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@262,#241> call-runtime
0x351d932f063e 734 b803000000 movl rax,0x3
0x351d932f0643 739 498d9d488434ff REX.W leaq rbx,[r13-0xcb7bb8]
0x351d932f064a 746 e8918fe1ff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@264,#242> lazy-bailout
;;; <@266,#246> return
0x351d932f064f 751 488be5 REX.W movq rsp,rbp ;; debug: position 9563
0x351d932f0652 754 5d pop rbp
0x351d932f0653 755 c21800 ret 0x18
;;; <@268,#224> -------------------- B43 (unreachable/replaced) --------------------
;;; <@272,#230> -------------------- B44 --------------------
;;; <@273,#230> gap
0x351d932f0656 758 f20f104dd0 movsd xmm1,[rbp-0x30] ;; debug: position 9527
;;; <@274,#291> number-tag-d
0x351d932f065b 763 498b9d400b0000 REX.W movq rbx,[r13+0xb40] ;; debug: position 9512
0x351d932f0662 770 488bc3 REX.W movq rax,rbx
0x351d932f0665 773 4883c010 REX.W addq rax,0x10
0x351d932f0669 777 0f82c6020000 jc 1493 (0x351d932f0935)
0x351d932f066f 783 493b85480b0000 REX.W cmpq rax,[r13+0xb48]
0x351d932f0676 790 0f87b9020000 ja 1493 (0x351d932f0935)
0x351d932f067c 796 498985400b0000 REX.W movq [r13+0xb40],rax
0x351d932f0683 803 48ffc3 REX.W incq rbx
0x351d932f0686 806 4d8b5500 REX.W movq r10,[r13+0x0]
0x351d932f068a 810 4c8953ff REX.W movq [rbx-0x1],r10
0x351d932f068e 814 f20f114b07 movsd [rbx+0x7],xmm1
;;; <@276,#232> push-argument
0x351d932f0693 819 ff75e0 push [rbp-0x20]
;;; <@278,#232> push-argument
0x351d932f0696 822 53 push rbx
;;; <@279,#232> gap
0x351d932f0697 823 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@280,#233> call-runtime
0x351d932f069b 827 b802000000 movl rax,0x2
0x351d932f06a0 832 498d9da85635ff REX.W leaq rbx,[r13-0xcaa958]
0x351d932f06a7 839 e8348fe1ff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@282,#234> lazy-bailout
;;; <@284,#236> return
0x351d932f06ac 844 488be5 REX.W movq rsp,rbp ;; debug: position 9505
0x351d932f06af 847 5d pop rbp
0x351d932f06b0 848 c21800 ret 0x18
;;; <@286,#179> -------------------- B45 (unreachable/replaced) --------------------
;;; <@290,#185> -------------------- B46 --------------------
;;; <@292,#187> allocate
0x351d932f06b3 851 498b9d400b0000 REX.W movq rbx,[r13+0xb40] ;; debug: position 9472
0x351d932f06ba 858 488bc3 REX.W movq rax,rbx
0x351d932f06bd 861 4883c038 REX.W addq rax,0x38
0x351d932f06c1 865 0f82c3020000 jc 1578 (0x351d932f098a)
0x351d932f06c7 871 493b85480b0000 REX.W cmpq rax,[r13+0xb48]
0x351d932f06ce 878 0f87b6020000 ja 1578 (0x351d932f098a)
0x351d932f06d4 884 498985400b0000 REX.W movq [r13+0xb40],rax
0x351d932f06db 891 48ffc3 REX.W incq rbx
;;; <@294,#307> store-named-field
0x351d932f06de 894 c7431f00000000 movl [rbx+0x1f],0x0
;;; <@296,#189> store-named-field
0x351d932f06e5 901 49ba3141c0bdff1f0000 REX.W movq r10,0x1fffbdc04131 ;; object: 0x1fffbdc04131 <FixedArray[0]>
0x351d932f06ef 911 4c89530f REX.W movq [rbx+0xf],r10
;;; <@298,#191> store-named-field
0x351d932f06f3 915 49bac970908290160000 REX.W movq r10,0x1690829070c9 ;; object: 0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>
0x351d932f06fd 925 4c8953ff REX.W movq [rbx-0x1],r10
;;; <@300,#193> store-named-field
0x351d932f0701 929 49ba3141c0bdff1f0000 REX.W movq r10,0x1fffbdc04131 ;; object: 0x1fffbdc04131 <FixedArray[0]>
0x351d932f070b 939 4c895307 REX.W movq [rbx+0x7],r10
;;; <@302,#195> store-named-field
0x351d932f070f 943 49ba0000000001000000 REX.W movq r10,0x100000000
0x351d932f0719 953 4c895317 REX.W movq [rbx+0x17],r10
;;; <@304,#309> inner-allocated-object
0x351d932f071d 957 488d4320 REX.W leaq rax,[rbx+0x20]
;;; <@306,#200> store-named-field
0x351d932f0721 961 49ba0942908290160000 REX.W movq r10,0x169082904209 ;; object: 0x169082904209 <Map(FAST_SMI_ELEMENTS)>
0x351d932f072b 971 4c8950ff REX.W movq [rax-0x1],r10
;;; <@308,#201> store-named-field
0x351d932f072f 975 49ba0000000001000000 REX.W movq r10,0x100000000
0x351d932f0739 985 4c895007 REX.W movq [rax+0x7],r10
;;; <@310,#202> constant-t
0x351d932f073d 989 48ba68158974df290000 REX.W movq rdx,0x29df74891568 ;; property cell
0x351d932f0747 999 488b12 REX.W movq rdx,[rdx]
;;; <@312,#204> load-keyed
0x351d932f074a 1002 8b5213 movl rdx,[rdx+0x13]
;;; <@314,#298> smi-tag
0x351d932f074d 1005 8bca movl rcx,rdx
0x351d932f074f 1007 48c1e120 REX.W shlq rcx, 32
;;; <@316,#205> store-keyed
0x351d932f0753 1011 4889480f REX.W movq [rax+0xf],rcx
;;; <@318,#206> store-named-field
0x351d932f0757 1015 4889430f REX.W movq [rbx+0xf],rax
;;; <@320,#209> load-named-field
0x351d932f075b 1019 488b430f REX.W movq rax,[rbx+0xf]
;;; <@321,#209> gap
0x351d932f075f 1023 488b55e0 REX.W movq rdx,[rbp-0x20]
;;; <@322,#286> check-smi
0x351d932f0763 1027 f6c201 testb rdx,0x1
0x351d932f0766 1030 0f85b1030000 jnz 1981 (0x351d932f0b1d)
;;; <@324,#211> store-keyed
0x351d932f076c 1036 4889500f REX.W movq [rax+0xf],rdx
;;; <@325,#211> gap
0x351d932f0770 1040 488bc3 REX.W movq rax,rbx
;;; <@326,#214> return
0x351d932f0773 1043 488be5 REX.W movq rsp,rbp ;; debug: position 9466
0x351d932f0776 1046 5d pop rbp
0x351d932f0777 1047 c21800 ret 0x18
;;; <@328,#155> -------------------- B47 (unreachable/replaced) --------------------
;;; <@332,#161> -------------------- B48 --------------------
;;; <@334,#163> allocate
0x351d932f077a 1050 498b9d400b0000 REX.W movq rbx,[r13+0xb40] ;; debug: position 9443
0x351d932f0781 1057 488bc3 REX.W movq rax,rbx
0x351d932f0784 1060 4883c020 REX.W addq rax,0x20
0x351d932f0788 1064 0f8261020000 jc 1679 (0x351d932f09ef)
0x351d932f078e 1070 493b85480b0000 REX.W cmpq rax,[r13+0xb48]
0x351d932f0795 1077 0f8754020000 ja 1679 (0x351d932f09ef)
0x351d932f079b 1083 498985400b0000 REX.W movq [r13+0xb40],rax
0x351d932f07a2 1090 48ffc3 REX.W incq rbx
;;; <@336,#165> store-named-field
0x351d932f07a5 1093 49ba3141c0bdff1f0000 REX.W movq r10,0x1fffbdc04131 ;; object: 0x1fffbdc04131 <FixedArray[0]>
0x351d932f07af 1103 4c89530f REX.W movq [rbx+0xf],r10
;;; <@338,#167> store-named-field
0x351d932f07b3 1107 49bac970908290160000 REX.W movq r10,0x1690829070c9 ;; object: 0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>
0x351d932f07bd 1117 4c8953ff REX.W movq [rbx-0x1],r10
;;; <@340,#169> store-named-field
0x351d932f07c1 1121 49ba3141c0bdff1f0000 REX.W movq r10,0x1fffbdc04131 ;; object: 0x1fffbdc04131 <FixedArray[0]>
0x351d932f07cb 1131 4c895307 REX.W movq [rbx+0x7],r10
;;; <@342,#171> store-named-field
0x351d932f07cf 1135 4533d2 xorl r10,r10
0x351d932f07d2 1138 4c895317 REX.W movq [rbx+0x17],r10
;;; <@343,#171> gap
0x351d932f07d6 1142 488bc3 REX.W movq rax,rbx
;;; <@344,#176> return
0x351d932f07d9 1145 488be5 REX.W movq rsp,rbp ;; debug: position 9437
0x351d932f07dc 1148 5d pop rbp
0x351d932f07dd 1149 c21800 ret 0x18
;;; <@346,#123> -------------------- B49 (unreachable/replaced) --------------------
;;; <@350,#247> -------------------- B50 --------------------
;;; <@352,#302> constant-d
0x351d932f07e0 1152 0f57c9 xorps xmm1,xmm1 ;; debug: position 9583
;; debug: position 9580
;;; <@354,#249> gap
0x351d932f07e3 1155 f20f1055d0 movsd xmm2,[rbp-0x30]
;;; <@355,#249> compare-numeric-and-branch
0x351d932f07e8 1160 660f2ed1 ucomisd xmm2,xmm1
0x351d932f07ec 1164 0f8a06000000 jpe 1176 (0x351d932f07f8)
0x351d932f07f2 1170 0f8482000000 jz 1306 (0x351d932f087a)
;;; <@356,#253> -------------------- B51 (unreachable/replaced) --------------------
;;; <@360,#272> -------------------- B52 --------------------
;;; <@361,#272> gap
0x351d932f07f8 1176 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 9602
;;; <@362,#273> load-context-slot
0x351d932f07fc 1180 488b98df000000 REX.W movq rbx,[rax+0xdf]
;;; <@364,#276> check-value
0x351d932f0803 1187 49bae975c9bdff1f0000 REX.W movq r10,0x1fffbdc975e9 ;; object: 0x1fffbdc975e9 <JS Function StringSplitOnRegExp (SharedFunctionInfo 0x1fffbdc4c939)>
0x351d932f080d 1197 493bda REX.W cmpq rbx,r10
0x351d932f0810 1200 0f850c030000 jnz 1986 (0x351d932f0b22)
;;; <@366,#289> number-tag-d
0x351d932f0816 1206 498b8d400b0000 REX.W movq rcx,[r13+0xb40]
0x351d932f081d 1213 488bd9 REX.W movq rbx,rcx
0x351d932f0820 1216 4883c310 REX.W addq rbx,0x10
0x351d932f0824 1220 0f822a020000 jc 1780 (0x351d932f0a54)
0x351d932f082a 1226 493b9d480b0000 REX.W cmpq rbx,[r13+0xb48]
0x351d932f0831 1233 0f871d020000 ja 1780 (0x351d932f0a54)
0x351d932f0837 1239 49899d400b0000 REX.W movq [r13+0xb40],rbx
0x351d932f083e 1246 48ffc1 REX.W incq rcx
0x351d932f0841 1249 4d8b5500 REX.W movq r10,[r13+0x0]
0x351d932f0845 1253 4c8951ff REX.W movq [rcx-0x1],r10
0x351d932f0849 1257 f20f115107 movsd [rcx+0x7],xmm2
;;; <@368,#278> push-argument
0x351d932f084e 1262 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; object: 0x21ab18105f49 <JS Global Object>
0x351d932f0858 1272 4152 push r10
;;; <@370,#278> push-argument
0x351d932f085a 1274 ff75e0 push [rbp-0x20]
;;; <@372,#278> push-argument
0x351d932f085d 1277 ff7518 push [rbp+0x18]
;;; <@374,#278> push-argument
0x351d932f0860 1280 51 push rcx
;;; <@376,#278> push-argument
0x351d932f0861 1281 52 push rdx
;;; <@378,#279> constant-t
0x351d932f0862 1282 48bfe975c9bdff1f0000 REX.W movq rdi,0x1fffbdc975e9 ;; object: 0x1fffbdc975e9 <JS Function StringSplitOnRegExp (SharedFunctionInfo 0x1fffbdc4c939)>
;;; <@380,#280> call-js-function
0x351d932f086c 1292 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932f0870 1296 ff5717 call [rdi+0x17]
;;; <@382,#281> lazy-bailout
;;; <@384,#283> return
0x351d932f0873 1299 488be5 REX.W movq rsp,rbp ;; debug: position 9595
0x351d932f0876 1302 5d pop rbp
0x351d932f0877 1303 c21800 ret 0x18
;;; <@386,#250> -------------------- B53 (unreachable/replaced) --------------------
;;; <@390,#256> -------------------- B54 --------------------
;;; <@392,#258> allocate
0x351d932f087a 1306 498b9d400b0000 REX.W movq rbx,[r13+0xb40] ;; debug: position 9591
0x351d932f0881 1313 488bc3 REX.W movq rax,rbx
0x351d932f0884 1316 4883c020 REX.W addq rax,0x20
0x351d932f0888 1320 0f821b020000 jc 1865 (0x351d932f0aa9)
0x351d932f088e 1326 493b85480b0000 REX.W cmpq rax,[r13+0xb48]
0x351d932f0895 1333 0f870e020000 ja 1865 (0x351d932f0aa9)
0x351d932f089b 1339 498985400b0000 REX.W movq [r13+0xb40],rax
0x351d932f08a2 1346 48ffc3 REX.W incq rbx
;;; <@394,#260> store-named-field
0x351d932f08a5 1349 49ba3141c0bdff1f0000 REX.W movq r10,0x1fffbdc04131 ;; object: 0x1fffbdc04131 <FixedArray[0]>
0x351d932f08af 1359 4c89530f REX.W movq [rbx+0xf],r10
;;; <@396,#262> store-named-field
0x351d932f08b3 1363 49bac970908290160000 REX.W movq r10,0x1690829070c9 ;; object: 0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>
0x351d932f08bd 1373 4c8953ff REX.W movq [rbx-0x1],r10
;;; <@398,#264> store-named-field
0x351d932f08c1 1377 49ba3141c0bdff1f0000 REX.W movq r10,0x1fffbdc04131 ;; object: 0x1fffbdc04131 <FixedArray[0]>
0x351d932f08cb 1387 4c895307 REX.W movq [rbx+0x7],r10
;;; <@400,#266> store-named-field
0x351d932f08cf 1391 4533d2 xorl r10,r10
0x351d932f08d2 1394 4c895317 REX.W movq [rbx+0x17],r10
;;; <@401,#266> gap
0x351d932f08d6 1398 488bc3 REX.W movq rax,rbx
;;; <@402,#271> return
0x351d932f08d9 1401 488be5 REX.W movq rsp,rbp ;; debug: position 9585
0x351d932f08dc 1404 5d pop rbp
0x351d932f08dd 1405 c21800 ret 0x18
;;; <@254,#290> -------------------- Deferred number-tag-d --------------------
0x351d932f08e0 1408 48be0000000000000000 REX.W movq rsi,(nil) ;; debug: position 9540
0x351d932f08ea 1418 50 push rax
0x351d932f08eb 1419 51 push rcx
0x351d932f08ec 1420 52 push rdx
0x351d932f08ed 1421 53 push rbx
0x351d932f08ee 1422 56 push rsi
0x351d932f08ef 1423 57 push rdi
0x351d932f08f0 1424 4150 push r8
0x351d932f08f2 1426 4151 push r9
0x351d932f08f4 1428 4153 push r11
0x351d932f08f6 1430 4154 push r12
0x351d932f08f8 1432 4156 push r14
0x351d932f08fa 1434 4157 push r15
0x351d932f08fc 1436 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d932f0901 1441 488b75f8 REX.W movq rsi,[rbp-0x8]
0x351d932f0905 1445 33c0 xorl rax,rax
0x351d932f0907 1447 498d9dd82034ff REX.W leaq rbx,[r13-0xcbdf28]
0x351d932f090e 1454 e88d59e1ff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d932f0913 1459 4c8bd0 REX.W movq r10,rax
0x351d932f0916 1462 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d932f091b 1467 415f pop r15
0x351d932f091d 1469 415e pop r14
0x351d932f091f 1471 415c pop r12
0x351d932f0921 1473 415b pop r11
0x351d932f0923 1475 4159 pop r9
0x351d932f0925 1477 4158 pop r8
0x351d932f0927 1479 5f pop rdi
0x351d932f0928 1480 5e pop rsi
0x351d932f0929 1481 5b pop rbx
0x351d932f092a 1482 5a pop rdx
0x351d932f092b 1483 59 pop rcx
0x351d932f092c 1484 58 pop rax
0x351d932f092d 1485 498bf2 REX.W movq rsi,r10
0x351d932f0930 1488 e9fbfcffff jmp 720 (0x351d932f0630)
;;; <@274,#291> -------------------- Deferred number-tag-d --------------------
0x351d932f0935 1493 48bb0000000000000000 REX.W movq rbx,(nil) ;; debug: position 9512
0x351d932f093f 1503 50 push rax
0x351d932f0940 1504 51 push rcx
0x351d932f0941 1505 52 push rdx
0x351d932f0942 1506 53 push rbx
0x351d932f0943 1507 56 push rsi
0x351d932f0944 1508 57 push rdi
0x351d932f0945 1509 4150 push r8
0x351d932f0947 1511 4151 push r9
0x351d932f0949 1513 4153 push r11
0x351d932f094b 1515 4154 push r12
0x351d932f094d 1517 4156 push r14
0x351d932f094f 1519 4157 push r15
0x351d932f0951 1521 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d932f0956 1526 488b75f8 REX.W movq rsi,[rbp-0x8]
0x351d932f095a 1530 33c0 xorl rax,rax
0x351d932f095c 1532 498d9dd82034ff REX.W leaq rbx,[r13-0xcbdf28]
0x351d932f0963 1539 e83859e1ff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d932f0968 1544 4c8bd0 REX.W movq r10,rax
0x351d932f096b 1547 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d932f0970 1552 415f pop r15
0x351d932f0972 1554 415e pop r14
0x351d932f0974 1556 415c pop r12
0x351d932f0976 1558 415b pop r11
0x351d932f0978 1560 4159 pop r9
0x351d932f097a 1562 4158 pop r8
0x351d932f097c 1564 5f pop rdi
0x351d932f097d 1565 5e pop rsi
0x351d932f097e 1566 5b pop rbx
0x351d932f097f 1567 5a pop rdx
0x351d932f0980 1568 59 pop rcx
0x351d932f0981 1569 58 pop rax
0x351d932f0982 1570 498bda REX.W movq rbx,r10
0x351d932f0985 1573 e904fdffff jmp 814 (0x351d932f068e)
;;; <@292,#187> -------------------- Deferred allocate --------------------
0x351d932f098a 1578 48bb0000000000000000 REX.W movq rbx,(nil) ;; debug: position 9472
0x351d932f0994 1588 50 push rax
0x351d932f0995 1589 51 push rcx
0x351d932f0996 1590 52 push rdx
0x351d932f0997 1591 53 push rbx
0x351d932f0998 1592 56 push rsi
0x351d932f0999 1593 57 push rdi
0x351d932f099a 1594 4150 push r8
0x351d932f099c 1596 4151 push r9
0x351d932f099e 1598 4153 push r11
0x351d932f09a0 1600 4154 push r12
0x351d932f09a2 1602 4156 push r14
0x351d932f09a4 1604 4157 push r15
0x351d932f09a6 1606 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d932f09ab 1611 49ba0000000038000000 REX.W movq r10,0x3800000000
0x351d932f09b5 1621 4152 push r10
0x351d932f09b7 1623 6a00 push 0x0
0x351d932f09b9 1625 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d932f09bd 1629 b802000000 movl rax,0x2
0x351d932f09c2 1634 498d9d28a732ff REX.W leaq rbx,[r13-0xcd58d8]
0x351d932f09c9 1641 e8d258e1ff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d932f09ce 1646 4889442460 REX.W movq [rsp+0x60],rax
0x351d932f09d3 1651 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d932f09d8 1656 415f pop r15
0x351d932f09da 1658 415e pop r14
0x351d932f09dc 1660 415c pop r12
0x351d932f09de 1662 415b pop r11
0x351d932f09e0 1664 4159 pop r9
0x351d932f09e2 1666 4158 pop r8
0x351d932f09e4 1668 5f pop rdi
0x351d932f09e5 1669 5e pop rsi
0x351d932f09e6 1670 5b pop rbx
0x351d932f09e7 1671 5a pop rdx
0x351d932f09e8 1672 59 pop rcx
0x351d932f09e9 1673 58 pop rax
0x351d932f09ea 1674 e9effcffff jmp 894 (0x351d932f06de)
;;; <@334,#163> -------------------- Deferred allocate --------------------
0x351d932f09ef 1679 48bb0000000000000000 REX.W movq rbx,(nil) ;; debug: position 9443
0x351d932f09f9 1689 50 push rax
0x351d932f09fa 1690 51 push rcx
0x351d932f09fb 1691 52 push rdx
0x351d932f09fc 1692 53 push rbx
0x351d932f09fd 1693 56 push rsi
0x351d932f09fe 1694 57 push rdi
0x351d932f09ff 1695 4150 push r8
0x351d932f0a01 1697 4151 push r9
0x351d932f0a03 1699 4153 push r11
0x351d932f0a05 1701 4154 push r12
0x351d932f0a07 1703 4156 push r14
0x351d932f0a09 1705 4157 push r15
0x351d932f0a0b 1707 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d932f0a10 1712 49ba0000000020000000 REX.W movq r10,0x2000000000
0x351d932f0a1a 1722 4152 push r10
0x351d932f0a1c 1724 6a00 push 0x0
0x351d932f0a1e 1726 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d932f0a22 1730 b802000000 movl rax,0x2
0x351d932f0a27 1735 498d9d28a732ff REX.W leaq rbx,[r13-0xcd58d8]
0x351d932f0a2e 1742 e86d58e1ff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d932f0a33 1747 4889442460 REX.W movq [rsp+0x60],rax
0x351d932f0a38 1752 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d932f0a3d 1757 415f pop r15
0x351d932f0a3f 1759 415e pop r14
0x351d932f0a41 1761 415c pop r12
0x351d932f0a43 1763 415b pop r11
0x351d932f0a45 1765 4159 pop r9
0x351d932f0a47 1767 4158 pop r8
0x351d932f0a49 1769 5f pop rdi
0x351d932f0a4a 1770 5e pop rsi
0x351d932f0a4b 1771 5b pop rbx
0x351d932f0a4c 1772 5a pop rdx
0x351d932f0a4d 1773 59 pop rcx
0x351d932f0a4e 1774 58 pop rax
0x351d932f0a4f 1775 e951fdffff jmp 1093 (0x351d932f07a5)
;;; <@366,#289> -------------------- Deferred number-tag-d --------------------
0x351d932f0a54 1780 48b90000000000000000 REX.W movq rcx,(nil) ;; debug: position 9602
0x351d932f0a5e 1790 50 push rax
0x351d932f0a5f 1791 51 push rcx
0x351d932f0a60 1792 52 push rdx
0x351d932f0a61 1793 53 push rbx
0x351d932f0a62 1794 56 push rsi
0x351d932f0a63 1795 57 push rdi
0x351d932f0a64 1796 4150 push r8
0x351d932f0a66 1798 4151 push r9
0x351d932f0a68 1800 4153 push r11
0x351d932f0a6a 1802 4154 push r12
0x351d932f0a6c 1804 4156 push r14
0x351d932f0a6e 1806 4157 push r15
0x351d932f0a70 1808 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d932f0a75 1813 488b75f8 REX.W movq rsi,[rbp-0x8]
0x351d932f0a79 1817 33c0 xorl rax,rax
0x351d932f0a7b 1819 498d9dd82034ff REX.W leaq rbx,[r13-0xcbdf28]
0x351d932f0a82 1826 e81958e1ff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d932f0a87 1831 4c8bd0 REX.W movq r10,rax
0x351d932f0a8a 1834 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d932f0a8f 1839 415f pop r15
0x351d932f0a91 1841 415e pop r14
0x351d932f0a93 1843 415c pop r12
0x351d932f0a95 1845 415b pop r11
0x351d932f0a97 1847 4159 pop r9
0x351d932f0a99 1849 4158 pop r8
0x351d932f0a9b 1851 5f pop rdi
0x351d932f0a9c 1852 5e pop rsi
0x351d932f0a9d 1853 5b pop rbx
0x351d932f0a9e 1854 5a pop rdx
0x351d932f0a9f 1855 59 pop rcx
0x351d932f0aa0 1856 58 pop rax
0x351d932f0aa1 1857 498bca REX.W movq rcx,r10
0x351d932f0aa4 1860 e9a0fdffff jmp 1257 (0x351d932f0849)
;;; <@392,#258> -------------------- Deferred allocate --------------------
0x351d932f0aa9 1865 48bb0000000000000000 REX.W movq rbx,(nil) ;; debug: position 9591
0x351d932f0ab3 1875 50 push rax
0x351d932f0ab4 1876 51 push rcx
0x351d932f0ab5 1877 52 push rdx
0x351d932f0ab6 1878 53 push rbx
0x351d932f0ab7 1879 56 push rsi
0x351d932f0ab8 1880 57 push rdi
0x351d932f0ab9 1881 4150 push r8
0x351d932f0abb 1883 4151 push r9
0x351d932f0abd 1885 4153 push r11
0x351d932f0abf 1887 4154 push r12
0x351d932f0ac1 1889 4156 push r14
0x351d932f0ac3 1891 4157 push r15
0x351d932f0ac5 1893 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d932f0aca 1898 49ba0000000020000000 REX.W movq r10,0x2000000000
0x351d932f0ad4 1908 4152 push r10
0x351d932f0ad6 1910 6a00 push 0x0
0x351d932f0ad8 1912 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d932f0adc 1916 b802000000 movl rax,0x2
0x351d932f0ae1 1921 498d9d28a732ff REX.W leaq rbx,[r13-0xcd58d8]
0x351d932f0ae8 1928 e8b357e1ff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d932f0aed 1933 4889442460 REX.W movq [rsp+0x60],rax
0x351d932f0af2 1938 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d932f0af7 1943 415f pop r15
0x351d932f0af9 1945 415e pop r14
0x351d932f0afb 1947 415c pop r12
0x351d932f0afd 1949 415b pop r11
0x351d932f0aff 1951 4159 pop r9
0x351d932f0b01 1953 4158 pop r8
0x351d932f0b03 1955 5f pop rdi
0x351d932f0b04 1956 5e pop rsi
0x351d932f0b05 1957 5b pop rbx
0x351d932f0b06 1958 5a pop rdx
0x351d932f0b07 1959 59 pop rcx
0x351d932f0b08 1960 58 pop rax
0x351d932f0b09 1961 e997fdffff jmp 1349 (0x351d932f08a5)
;;; -------------------- Jump table --------------------
0x351d932f0b0e 1966 e81f55b1ff call 0x351d92e06032 ;; debug: position 118272
;; debug: deopt reason 'Smi'
;; deoptimization bailout 5
0x351d932f0b13 1971 e83855b1ff call 0x351d92e06050 ;; debug: position 200192
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x351d932f0b18 1976 e83d55b1ff call 0x351d92e0605a ;; debug: position 200192
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 9
0x351d932f0b1d 1981 e85655b1ff call 0x351d92e06078 ;; debug: position 193024
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 12
0x351d932f0b22 1986 e85b55b1ff call 0x351d92e06082 ;; debug: position 259584
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 13
0x351d932f0b27 1991 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 15)
index ast id argc pc
0 3 0 35
1 47 0 198
2 45 0 228
3 91 0 288
4 112 0 -1
5 109 0 -1
6 149 0 444
7 204 0 574
8 232 0 -1
9 232 0 -1
10 303 0 751
11 284 0 844
12 231 0 -1
13 320 0 -1
14 333 0 1299
Safepoints (size = 173)
0x351d932f0383 35 0001 (sp -> fp) 0
0x351d932f0426 198 0001 (sp -> fp) 1
0x351d932f0444 228 0001 (sp -> fp) 2
0x351d932f0480 288 0001 (sp -> fp) 3
0x351d932f051c 444 0011 (sp -> fp) 6
0x351d932f059e 574 0011 (sp -> fp) 7
0x351d932f064f 751 0001 (sp -> fp) 10
0x351d932f06ac 844 0001 (sp -> fp) 11
0x351d932f0873 1299 0001 (sp -> fp) 14
0x351d932f0913 1459 0011 | rax | rbx | rsi (sp -> fp) <none>
0x351d932f0968 1544 0011 | rbx (sp -> fp) <none>
0x351d932f09ce 1646 0011 | rbx (sp -> fp) <none> argc: 2
0x351d932f0a33 1747 0001 | rbx (sp -> fp) <none> argc: 2
0x351d932f0a87 1831 0011 | rax | rcx | rdx (sp -> fp) <none>
0x351d932f0aed 1933 0001 | rbx (sp -> fp) <none> argc: 2
RelocInfo (size = 2488)
0x351d932f036a position (9095)
0x351d932f036a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932f036a comment (;;; <@2,#1> context)
0x351d932f036e comment (;;; <@3,#1> gap)
0x351d932f0372 comment (;;; <@12,#9> -------------------- B1 --------------------)
0x351d932f0372 comment (;;; <@13,#9> gap)
0x351d932f0375 comment (;;; <@14,#11> stack-check)
0x351d932f037f code target (BUILTIN) (0x351d93134ee0)
0x351d932f0383 comment (;;; <@16,#11> lazy-bailout)
0x351d932f0383 comment (;;; <@18,#14> gap)
0x351d932f0383 position (9112)
0x351d932f0387 comment (;;; <@19,#14> cmp-object-eq-and-branch)
0x351d932f0389 embedded object (0x1fffbdc04101 <null>)
0x351d932f039a comment (;;; <@20,#19> -------------------- B2 --------------------)
0x351d932f039a comment (;;; <@23,#20> cmp-object-eq-and-branch)
0x351d932f039c embedded object (0x1fffbdc041b9 <undefined>)
0x351d932f03ad comment (;;; <@24,#23> -------------------- B3 --------------------)
0x351d932f03ad comment (;;; <@27,#24> is-undetectable-and-branch)
0x351d932f03c4 comment (;;; <@28,#28> -------------------- B4 (unreachable/replaced) --------------------)
0x351d932f03c4 comment (;;; <@32,#21> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932f03c4 comment (;;; <@36,#17> -------------------- B6 (unreachable/replaced) --------------------)
0x351d932f03c4 comment (;;; <@40,#15> -------------------- B7 (unreachable/replaced) --------------------)
0x351d932f03c4 comment (;;; <@44,#25> -------------------- B8 (unreachable/replaced) --------------------)
0x351d932f03c4 position (9123)
0x351d932f03c4 comment (;;; <@48,#31> -------------------- B9 --------------------)
0x351d932f03c4 comment (;;; <@51,#32> is-undetectable-and-branch)
0x351d932f03db comment (;;; <@52,#36> -------------------- B10 (unreachable/replaced) --------------------)
0x351d932f03db position (9159)
0x351d932f03db comment (;;; <@56,#39> -------------------- B11 --------------------)
0x351d932f03db comment (;;; <@58,#45> push-argument)
0x351d932f03dd embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932f03e7 comment (;;; <@60,#45> push-argument)
0x351d932f03f3 comment (;;; <@62,#45> push-argument)
0x351d932f03f5 embedded object (0x1714129070c9 <String[22]: String.prototype.split>)
0x351d932f03ff comment (;;; <@64,#40> constant-t)
0x351d932f0401 embedded object (0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>)
0x351d932f0409 comment (;;; <@66,#48> load-named-field)
0x351d932f040d comment (;;; <@68,#40> constant-t)
0x351d932f040f embedded object (0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>)
0x351d932f0417 comment (;;; <@70,#49> constant-i)
0x351d932f041c comment (;;; <@72,#47> constant-i)
0x351d932f0421 comment (;;; <@74,#51> call-with-descriptor)
0x351d932f0422 code target (BUILTIN) (0x351d93109f00)
0x351d932f0426 comment (;;; <@76,#52> lazy-bailout)
0x351d932f0426 comment (;;; <@78,#53> push-argument)
0x351d932f0426 position (9153)
0x351d932f0427 comment (;;; <@79,#53> gap)
0x351d932f042b comment (;;; <@80,#54> call-runtime)
0x351d932f0440 code target (STUB) (0x351d931095e0)
0x351d932f0444 comment (;;; <@82,#55> lazy-bailout)
0x351d932f0444 comment (;;; <@84,#33> -------------------- B12 (unreachable/replaced) --------------------)
0x351d932f0444 position (9232)
0x351d932f0444 comment (;;; <@88,#57> -------------------- B13 --------------------)
0x351d932f0444 comment (;;; <@90,#58> gap)
0x351d932f0448 comment (;;; <@91,#58> typeof-is-and-branch)
0x351d932f0460 comment (;;; <@92,#62> -------------------- B14 (unreachable/replaced) --------------------)
0x351d932f0460 position (9250)
0x351d932f0460 comment (;;; <@96,#65> -------------------- B15 --------------------)
0x351d932f0460 comment (;;; <@98,#69> push-argument)
0x351d932f0462 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932f046c comment (;;; <@100,#69> push-argument)
0x351d932f046f comment (;;; <@102,#66> constant-t)
0x351d932f0471 embedded object (0x1fffbdca1461 <JS Function NonStringToString (SharedFunctionInfo 0x1fffbdc47479)>)
0x351d932f0479 comment (;;; <@104,#71> call-js-function)
0x351d932f0480 comment (;;; <@106,#72> lazy-bailout)
0x351d932f0480 position (9210)
0x351d932f0480 comment (;;; <@109,#77> goto)
0x351d932f0485 comment (;;; <@110,#59> -------------------- B16 (unreachable/replaced) --------------------)
0x351d932f0485 comment (;;; <@114,#73> -------------------- B17 --------------------)
0x351d932f0485 comment (;;; <@116,#75> gap)
0x351d932f0489 position (9203)
0x351d932f0489 comment (;;; <@118,#79> -------------------- B18 --------------------)
0x351d932f048d comment (;;; <@120,#81> gap)
0x351d932f048d position (9284)
0x351d932f0491 comment (;;; <@121,#81> cmp-object-eq-and-branch)
0x351d932f0493 embedded object (0x1fffbdc041b9 <undefined>)
0x351d932f04a4 comment (;;; <@122,#85> -------------------- B19 (unreachable/replaced) --------------------)
0x351d932f04a4 position (9315)
0x351d932f04a4 comment (;;; <@126,#90> -------------------- B20 --------------------)
0x351d932f04a4 position (9312)
0x351d932f04a4 comment (;;; <@129,#92> deoptimize)
0x351d932f04a4 position (111104)
0x351d932f04a4 deopt reason (Insufficient type feedback for LHS of binary operation)
0x351d932f04a5 runtime entry
0x351d932f04a9 comment (;;; <@130,#93> -------------------- B21 (unreachable/replaced) --------------------)
0x351d932f04a9 comment (;;; <@142,#82> -------------------- B22 (unreachable/replaced) --------------------)
0x351d932f04a9 position (9298)
0x351d932f04a9 comment (;;; <@146,#88> -------------------- B23 --------------------)
0x351d932f04a9 comment (;;; <@148,#89> constant-d)
0x351d932f04b8 position (9325)
0x351d932f04b8 comment (;;; <@152,#101> -------------------- B24 --------------------)
0x351d932f04bd comment (;;; <@154,#103> check-non-smi)
0x351d932f04bd position (9326)
0x351d932f04c5 comment (;;; <@157,#104> is-string-and-branch)
0x351d932f04de comment (;;; <@158,#109> -------------------- B25 --------------------)
0x351d932f04de comment (;;; <@161,#110> cmp-map-and-branch)
0x351d932f04e0 embedded object (0x14a488a2f2e9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932f04f2 comment (;;; <@162,#116> -------------------- B26 --------------------)
0x351d932f04f2 comment (;;; <@163,#116> gap)
0x351d932f04f9 comment (;;; <@164,#117> load-named-generic)
0x351d932f04fb embedded object (0x1fffbdc34c79 <String[6]: length>)
0x351d932f0505 embedded object (0x171412907149 <FixedArray[20]>)
0x351d932f0518 code target (LOAD_IC) (0x351d932f0160)
0x351d932f051c comment (;;; <@166,#118> lazy-bailout)
0x351d932f051c comment (;;; <@168,#119> gap)
0x351d932f0523 comment (;;; <@169,#119> goto)
0x351d932f0528 comment (;;; <@170,#111> -------------------- B27 --------------------)
0x351d932f0528 comment (;;; <@172,#114> gap)
0x351d932f052e embedded object (0x3275aaf13661 <JS Function PromiseArray.length (SharedFunctionInfo 0x3275aaf12981)>)
0x351d932f0536 comment (;;; <@173,#114> goto)
0x351d932f053b comment (;;; <@174,#105> -------------------- B28 --------------------)
0x351d932f053b comment (;;; <@175,#105> gap)
0x351d932f053f comment (;;; <@176,#106> load-named-field)
0x351d932f0542 comment (;;; <@178,#292> smi-tag)
0x351d932f0542 position (9319)
0x351d932f0548 position (9319)
0x351d932f0548 comment (;;; <@182,#120> -------------------- B29 --------------------)
0x351d932f0548 comment (;;; <@184,#122> gap)
0x351d932f0548 position (9340)
0x351d932f054c comment (;;; <@185,#122> has-instance-type-and-branch)
0x351d932f0564 comment (;;; <@186,#126> -------------------- B30 (unreachable/replaced) --------------------)
0x351d932f0564 position (9386)
0x351d932f0564 comment (;;; <@190,#129> -------------------- B31 --------------------)
0x351d932f0564 comment (;;; <@192,#130> gap)
0x351d932f0567 comment (;;; <@193,#130> typeof-is-and-branch)
0x351d932f0580 comment (;;; <@194,#134> -------------------- B32 (unreachable/replaced) --------------------)
0x351d932f0580 position (9402)
0x351d932f0580 comment (;;; <@198,#137> -------------------- B33 --------------------)
0x351d932f0580 comment (;;; <@200,#141> push-argument)
0x351d932f0582 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932f058c comment (;;; <@202,#141> push-argument)
0x351d932f058d comment (;;; <@204,#138> constant-t)
0x351d932f058f embedded object (0x1fffbdca1461 <JS Function NonStringToString (SharedFunctionInfo 0x1fffbdc47479)>)
0x351d932f0597 comment (;;; <@206,#143> call-js-function)
0x351d932f059e comment (;;; <@208,#144> lazy-bailout)
0x351d932f059e position (9366)
0x351d932f059e comment (;;; <@211,#149> goto)
0x351d932f05a3 comment (;;; <@212,#131> -------------------- B34 (unreachable/replaced) --------------------)
0x351d932f05a3 comment (;;; <@216,#145> -------------------- B35 --------------------)
0x351d932f05a3 comment (;;; <@218,#147> gap)
0x351d932f05a7 position (9358)
0x351d932f05a7 comment (;;; <@220,#151> -------------------- B36 --------------------)
0x351d932f05a7 comment (;;; <@222,#293> constant-d)
0x351d932f05a7 position (9432)
0x351d932f05aa comment (;;; <@224,#154> gap)
0x351d932f05af comment (;;; <@225,#154> compare-numeric-and-branch)
0x351d932f05bf comment (;;; <@226,#158> -------------------- B37 (unreachable/replaced) --------------------)
0x351d932f05bf position (9453)
0x351d932f05bf comment (;;; <@230,#177> -------------------- B38 --------------------)
0x351d932f05bf comment (;;; <@232,#178> gap)
0x351d932f05c3 comment (;;; <@233,#178> cmp-object-eq-and-branch)
0x351d932f05c5 embedded object (0x1fffbdc041b9 <undefined>)
0x351d932f05d6 comment (;;; <@234,#182> -------------------- B39 (unreachable/replaced) --------------------)
0x351d932f05d6 position (9484)
0x351d932f05d6 comment (;;; <@238,#215> -------------------- B40 --------------------)
0x351d932f05d6 comment (;;; <@240,#217> check-non-smi)
0x351d932f05d6 position (9486)
0x351d932f05de comment (;;; <@242,#218> check-instance-type)
0x351d932f05ed comment (;;; <@244,#219> load-named-field)
0x351d932f05f0 comment (;;; <@245,#219> gap)
0x351d932f05f4 position (9500)
0x351d932f05f4 comment (;;; <@247,#223> compare-numeric-and-branch)
0x351d932f05fd comment (;;; <@248,#227> -------------------- B41 (unreachable/replaced) --------------------)
0x351d932f05fd position (9553)
0x351d932f05fd comment (;;; <@252,#237> -------------------- B42 --------------------)
0x351d932f05fd comment (;;; <@254,#290> number-tag-d)
0x351d932f05fd position (9540)
0x351d932f0635 comment (;;; <@256,#240> push-argument)
0x351d932f0638 comment (;;; <@258,#240> push-argument)
0x351d932f0639 comment (;;; <@260,#240> push-argument)
0x351d932f063a comment (;;; <@261,#240> gap)
0x351d932f063e comment (;;; <@262,#241> call-runtime)
0x351d932f064b code target (STUB) (0x351d931095e0)
0x351d932f064f comment (;;; <@264,#242> lazy-bailout)
0x351d932f064f comment (;;; <@266,#246> return)
0x351d932f064f position (9563)
0x351d932f0656 comment (;;; <@268,#224> -------------------- B43 (unreachable/replaced) --------------------)
0x351d932f0656 position (9527)
0x351d932f0656 comment (;;; <@272,#230> -------------------- B44 --------------------)
0x351d932f0656 comment (;;; <@273,#230> gap)
0x351d932f065b comment (;;; <@274,#291> number-tag-d)
0x351d932f065b position (9512)
0x351d932f0693 comment (;;; <@276,#232> push-argument)
0x351d932f0696 comment (;;; <@278,#232> push-argument)
0x351d932f0697 comment (;;; <@279,#232> gap)
0x351d932f069b comment (;;; <@280,#233> call-runtime)
0x351d932f06a8 code target (STUB) (0x351d931095e0)
0x351d932f06ac comment (;;; <@282,#234> lazy-bailout)
0x351d932f06ac comment (;;; <@284,#236> return)
0x351d932f06ac position (9505)
0x351d932f06b3 comment (;;; <@286,#179> -------------------- B45 (unreachable/replaced) --------------------)
0x351d932f06b3 position (9472)
0x351d932f06b3 comment (;;; <@290,#185> -------------------- B46 --------------------)
0x351d932f06b3 comment (;;; <@292,#187> allocate)
0x351d932f06de comment (;;; <@294,#307> store-named-field)
0x351d932f06e5 comment (;;; <@296,#189> store-named-field)
0x351d932f06e7 embedded object (0x1fffbdc04131 <FixedArray[0]>)
0x351d932f06f3 comment (;;; <@298,#191> store-named-field)
0x351d932f06f5 embedded object (0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>)
0x351d932f0701 comment (;;; <@300,#193> store-named-field)
0x351d932f0703 embedded object (0x1fffbdc04131 <FixedArray[0]>)
0x351d932f070f comment (;;; <@302,#195> store-named-field)
0x351d932f071d comment (;;; <@304,#309> inner-allocated-object)
0x351d932f0721 comment (;;; <@306,#200> store-named-field)
0x351d932f0723 embedded object (0x169082904209 <Map(FAST_SMI_ELEMENTS)>)
0x351d932f072f comment (;;; <@308,#201> store-named-field)
0x351d932f073d comment (;;; <@310,#202> constant-t)
0x351d932f073f property cell
0x351d932f074a comment (;;; <@312,#204> load-keyed)
0x351d932f074d comment (;;; <@314,#298> smi-tag)
0x351d932f0753 comment (;;; <@316,#205> store-keyed)
0x351d932f0757 comment (;;; <@318,#206> store-named-field)
0x351d932f075b comment (;;; <@320,#209> load-named-field)
0x351d932f075f comment (;;; <@321,#209> gap)
0x351d932f0763 comment (;;; <@322,#286> check-smi)
0x351d932f076c comment (;;; <@324,#211> store-keyed)
0x351d932f0770 comment (;;; <@325,#211> gap)
0x351d932f0773 comment (;;; <@326,#214> return)
0x351d932f0773 position (9466)
0x351d932f077a comment (;;; <@328,#155> -------------------- B47 (unreachable/replaced) --------------------)
0x351d932f077a position (9443)
0x351d932f077a comment (;;; <@332,#161> -------------------- B48 --------------------)
0x351d932f077a comment (;;; <@334,#163> allocate)
0x351d932f07a5 comment (;;; <@336,#165> store-named-field)
0x351d932f07a7 embedded object (0x1fffbdc04131 <FixedArray[0]>)
0x351d932f07b3 comment (;;; <@338,#167> store-named-field)
0x351d932f07b5 embedded object (0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>)
0x351d932f07c1 comment (;;; <@340,#169> store-named-field)
0x351d932f07c3 embedded object (0x1fffbdc04131 <FixedArray[0]>)
0x351d932f07cf comment (;;; <@342,#171> store-named-field)
0x351d932f07d6 comment (;;; <@343,#171> gap)
0x351d932f07d9 comment (;;; <@344,#176> return)
0x351d932f07d9 position (9437)
0x351d932f07e0 comment (;;; <@346,#123> -------------------- B49 (unreachable/replaced) --------------------)
0x351d932f07e0 position (9583)
0x351d932f07e0 comment (;;; <@350,#247> -------------------- B50 --------------------)
0x351d932f07e0 comment (;;; <@352,#302> constant-d)
0x351d932f07e0 position (9580)
0x351d932f07e3 comment (;;; <@354,#249> gap)
0x351d932f07e8 comment (;;; <@355,#249> compare-numeric-and-branch)
0x351d932f07f8 comment (;;; <@356,#253> -------------------- B51 (unreachable/replaced) --------------------)
0x351d932f07f8 position (9602)
0x351d932f07f8 comment (;;; <@360,#272> -------------------- B52 --------------------)
0x351d932f07f8 comment (;;; <@361,#272> gap)
0x351d932f07fc comment (;;; <@362,#273> load-context-slot)
0x351d932f0803 comment (;;; <@364,#276> check-value)
0x351d932f0805 embedded object (0x1fffbdc975e9 <JS Function StringSplitOnRegExp (SharedFunctionInfo 0x1fffbdc4c939)>)
0x351d932f0816 comment (;;; <@366,#289> number-tag-d)
0x351d932f084e comment (;;; <@368,#278> push-argument)
0x351d932f0850 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d932f085a comment (;;; <@370,#278> push-argument)
0x351d932f085d comment (;;; <@372,#278> push-argument)
0x351d932f0860 comment (;;; <@374,#278> push-argument)
0x351d932f0861 comment (;;; <@376,#278> push-argument)
0x351d932f0862 comment (;;; <@378,#279> constant-t)
0x351d932f0864 embedded object (0x1fffbdc975e9 <JS Function StringSplitOnRegExp (SharedFunctionInfo 0x1fffbdc4c939)>)
0x351d932f086c comment (;;; <@380,#280> call-js-function)
0x351d932f0873 comment (;;; <@382,#281> lazy-bailout)
0x351d932f0873 comment (;;; <@384,#283> return)
0x351d932f0873 position (9595)
0x351d932f087a comment (;;; <@386,#250> -------------------- B53 (unreachable/replaced) --------------------)
0x351d932f087a position (9591)
0x351d932f087a comment (;;; <@390,#256> -------------------- B54 --------------------)
0x351d932f087a comment (;;; <@392,#258> allocate)
0x351d932f08a5 comment (;;; <@394,#260> store-named-field)
0x351d932f08a7 embedded object (0x1fffbdc04131 <FixedArray[0]>)
0x351d932f08b3 comment (;;; <@396,#262> store-named-field)
0x351d932f08b5 embedded object (0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>)
0x351d932f08c1 comment (;;; <@398,#264> store-named-field)
0x351d932f08c3 embedded object (0x1fffbdc04131 <FixedArray[0]>)
0x351d932f08cf comment (;;; <@400,#266> store-named-field)
0x351d932f08d6 comment (;;; <@401,#266> gap)
0x351d932f08d9 comment (;;; <@402,#271> return)
0x351d932f08d9 position (9585)
0x351d932f08e0 position (9540)
0x351d932f08e0 comment (;;; <@254,#290> -------------------- Deferred number-tag-d --------------------)
0x351d932f090f code target (STUB) (0x351d931062a0)
0x351d932f0935 position (9512)
0x351d932f0935 comment (;;; <@274,#291> -------------------- Deferred number-tag-d --------------------)
0x351d932f0964 code target (STUB) (0x351d931062a0)
0x351d932f098a position (9472)
0x351d932f098a comment (;;; <@292,#187> -------------------- Deferred allocate --------------------)
0x351d932f09ca code target (STUB) (0x351d931062a0)
0x351d932f09ef position (9443)
0x351d932f09ef comment (;;; <@334,#163> -------------------- Deferred allocate --------------------)
0x351d932f0a2f code target (STUB) (0x351d931062a0)
0x351d932f0a54 position (9602)
0x351d932f0a54 comment (;;; <@366,#289> -------------------- Deferred number-tag-d --------------------)
0x351d932f0a83 code target (STUB) (0x351d931062a0)
0x351d932f0aa9 position (9591)
0x351d932f0aa9 comment (;;; <@392,#258> -------------------- Deferred allocate --------------------)
0x351d932f0ae9 code target (STUB) (0x351d931062a0)
0x351d932f0b0e comment (;;; -------------------- Jump table --------------------)
0x351d932f0b0e position (118272)
0x351d932f0b0e deopt reason (Smi)
0x351d932f0b0f runtime entry (deoptimization bailout 5)
0x351d932f0b13 position (200192)
0x351d932f0b13 deopt reason (Smi)
0x351d932f0b14 runtime entry (deoptimization bailout 8)
0x351d932f0b18 position (200192)
0x351d932f0b18 deopt reason (wrong instance type)
0x351d932f0b19 runtime entry (deoptimization bailout 9)
0x351d932f0b1d position (193024)
0x351d932f0b1d deopt reason (not a Smi)
0x351d932f0b1e runtime entry (deoptimization bailout 12)
0x351d932f0b22 position (259584)
0x351d932f0b22 deopt reason (value mismatch)
0x351d932f0b23 runtime entry (deoptimization bailout 13)
0x351d932f0b28 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (fs.lstatSync) id{23,0} ---
(path) {
nullCheck(path);
return binding.lstat(pathModule._makeLong(path));
}
--- END ---
--- FUNCTION SOURCE (nullCheck) id{23,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{23,1} AS 1 AT <0:11>
--- FUNCTION SOURCE (posix._makeLong) id{23,2} ---
(path) {
return path;
}
--- END ---
INLINE (posix._makeLong) id{23,2} AS 2 AT <0:62>
--- Raw source ---
(path) {
nullCheck(path);
return binding.lstat(pathModule._makeLong(path));
};
--- Optimized code ---
optimization_id = 23
source_position = 20606
kind = OPTIMIZED_FUNCTION
name = fs.lstatSync
stack_slots = 2
compiler = crankshaft
Instructions (size = 520)
0x351d932f13e0 0 55 push rbp
0x351d932f13e1 1 4889e5 REX.W movq rbp,rsp
0x351d932f13e4 4 56 push rsi
0x351d932f13e5 5 57 push rdi
0x351d932f13e6 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932f13ea 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 20606
;;; <@3,#1> gap
0x351d932f13ee 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932f13f2 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932f13f5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932f13fc 28 7305 jnc 35 (0x351d932f1403)
0x351d932f13fe 30 e8dd3ae4ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@15,#10> gap
0x351d932f1403 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@16,#11> load-context-slot
0x351d932f1407 39 488b9827010000 REX.W movq rbx,[rax+0x127] ;; debug: position 20617
;;; <@17,#11> gap
0x351d932f140e 46 48895de0 REX.W movq [rbp-0x20],rbx
;;; <@18,#13> check-value
0x351d932f1412 50 49bad1b1f7aa75320000 REX.W movq r10,0x3275aaf7b1d1 ;; object: 0x3275aaf7b1d1 <JS Function nullCheck (SharedFunctionInfo 0x17141291b789)>
0x351d932f141c 60 493bda REX.W cmpq rbx,r10
0x351d932f141f 63 0f8553010000 jnz 408 (0x351d932f1578)
;;; <@19,#13> gap
0x351d932f1425 69 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@20,#19> check-non-smi
0x351d932f1429 73 f6c201 testb rdx,0x1 ;; debug: position 2724
0x351d932f142c 76 0f844b010000 jz 413 (0x351d932f157d)
;;; <@22,#20> check-instance-type
0x351d932f1432 82 4c8b52ff REX.W movq r10,[rdx-0x1]
0x351d932f1436 86 41f6420b80 testb [r10+0xb],0x80
0x351d932f143b 91 0f8541010000 jnz 418 (0x351d932f1582)
;;; <@24,#23> check-maps
;;; <@26,#27> push-argument
0x351d932f1441 97 52 push rdx ;; debug: position 2732
;;; <@28,#27> push-argument
0x351d932f1442 98 49bad984911214170000 REX.W movq r10,0x1714129184d9 ;; object: 0x1714129184d9 <String[1]\: \x00>
0x351d932f144c 108 4152 push r10
;;; <@30,#26> constant-t
0x351d932f144e 110 48bf2962c9bdff1f0000 REX.W movq rdi,0x1fffbdc96229 ;; object: 0x1fffbdc96229 <JS Function indexOf (SharedFunctionInfo 0x1fffbdc4bea1)>
;;; <@32,#28> call-js-function
0x351d932f1458 120 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932f145c 124 ff5717 call [rdi+0x17]
;;; <@34,#29> lazy-bailout
;;; <@35,#29> gap
0x351d932f145f 127 488bd8 REX.W movq rbx,rax
;;; <@36,#126> tagged-to-i
0x351d932f1462 130 f6c301 testb rbx,0x1
0x351d932f1465 133 0f85da000000 jnz 357 (0x351d932f1545)
0x351d932f146b 139 48c1eb20 REX.W shrq rbx, 32
;;; <@39,#31> compare-numeric-and-branch
0x351d932f146f 143 83fbff cmpl rbx,0xff ;; debug: position 2750
0x351d932f1472 146 0f843f000000 jz 215 (0x351d932f14b7)
;;; <@40,#35> -------------------- B2 (unreachable/replaced) --------------------
;;; <@44,#38> -------------------- B3 --------------------
;;; <@46,#53> push-argument
0x351d932f1478 152 49baf115c9bdff1f0000 REX.W movq r10,0x1fffbdc915f1 ;; debug: position 2777
;; debug: position 2773
;; object: 0x1fffbdc915f1 <JS Function Error (SharedFunctionInfo 0x1fffbdc430a9)>
0x351d932f1482 162 4152 push r10
;;; <@48,#53> push-argument
0x351d932f1484 164 49baf984911214170000 REX.W movq r10,0x1714129184f9 ;; object: 0x1714129184f9 <String[41]: Path must be a string without null bytes.>
0x351d932f148e 174 4152 push r10
;;; <@50,#14> constant-t
0x351d932f1490 176 48be597df7aa75320000 REX.W movq rsi,0x3275aaf77d59 ;; debug: position 2695
;; object: 0x3275aaf77d59 <FixedArray[57]>
;;; <@52,#39> constant-t
0x351d932f149a 186 48bff115c9bdff1f0000 REX.W movq rdi,0x1fffbdc915f1 ;; debug: position 2777
;; object: 0x1fffbdc915f1 <JS Function Error (SharedFunctionInfo 0x1fffbdc430a9)>
;;; <@54,#54> call-new
0x351d932f14a4 196 b801000000 movl rax,0x1 ;; debug: position 2773
0x351d932f14a9 201 498b5da8 REX.W movq rbx,[r13-0x58]
0x351d932f14ad 205 e8ae87e3ff call 0x351d93129c60 ;; code: constructor, STUB, CallConstructStub, minor: 0
;;; <@56,#55> lazy-bailout
;;; <@59,#59> deoptimize
0x351d932f14b2 210 e8854bd1ff call 0x351d9300603c ;; debug: position 2841
;; debug: position 74753
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 6
;;; <@60,#60> -------------------- B4 (unreachable/replaced) --------------------
;;; <@70,#67> -------------------- B5 (unreachable/replaced) --------------------
;;; <@74,#70> -------------------- B6 (unreachable/replaced) --------------------
;;; <@82,#64> -------------------- B7 (unreachable/replaced) --------------------
;;; <@86,#77> -------------------- B8 (unreachable/replaced) --------------------
;;; <@90,#80> -------------------- B9 (unreachable/replaced) --------------------
;;; <@108,#32> -------------------- B10 (unreachable/replaced) --------------------
;;; <@112,#93> -------------------- B11 (unreachable/replaced) --------------------
;;; <@116,#98> -------------------- B12 --------------------
;;; <@117,#98> gap
0x351d932f14b7 215 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 20643
;;; <@118,#99> load-context-slot
0x351d932f14bb 219 488b4847 REX.W movq rcx,[rax+0x47]
0x351d932f14bf 223 493b4db0 REX.W cmpq rcx,[r13-0x50]
0x351d932f14c3 227 0f84be000000 jz 423 (0x351d932f1587)
;;; <@120,#100> check-non-smi
0x351d932f14c9 233 f6c101 testb rcx,0x1 ;; debug: position 20651
0x351d932f14cc 236 0f84ba000000 jz 428 (0x351d932f158c)
;;; <@122,#101> check-maps
0x351d932f14d2 242 49ba49d9a088a4140000 REX.W movq r10,0x14a488a0d949 ;; object: 0x14a488a0d949 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932f14dc 252 4c3951ff REX.W cmpq [rcx-0x1],r10
0x351d932f14e0 256 0f85ab000000 jnz 433 (0x351d932f1591)
;;; <@124,#103> load-context-slot
0x351d932f14e6 262 488b583f REX.W movq rbx,[rax+0x3f] ;; debug: position 20657
0x351d932f14ea 266 493b5db0 REX.W cmpq rbx,[r13-0x50]
0x351d932f14ee 270 0f84a2000000 jz 438 (0x351d932f1596)
;;; <@126,#104> check-non-smi
0x351d932f14f4 276 f6c301 testb rbx,0x1 ;; debug: position 20668
0x351d932f14f7 279 0f849e000000 jz 443 (0x351d932f159b)
;;; <@128,#105> check-maps
0x351d932f14fd 285 49bab9b0a088a4140000 REX.W movq r10,0x14a488a0b0b9 ;; object: 0x14a488a0b0b9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932f1507 295 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932f150b 299 0f858f000000 jnz 448 (0x351d932f15a0)
;;; <@132,#114> -------------------- B13 --------------------
;;; <@134,#116> push-argument
0x351d932f1511 305 51 push rcx ;; debug: position 20651
;;; <@136,#116> push-argument
0x351d932f1512 306 ff7510 push [rbp+0x10]
;;; <@138,#118> constant-e
0x351d932f1515 309 498d95c84a49ff REX.W leaq rdx,[r13-0xb6b538]
;;; <@140,#102> constant-t
0x351d932f151c 316 48bf0931921214170000 REX.W movq rdi,0x171412923109 ;; object: 0x171412923109 <JS Function lstat (SharedFunctionInfo 0x171412923079)>
;;; <@142,#117> constant-t
0x351d932f1526 326 48bb715f1018ab210000 REX.W movq rbx,0x21ab18105f71 ;; object: 0x21ab18105f71 <JS Object>
;;; <@143,#117> gap
0x351d932f1530 336 488bf0 REX.W movq rsi,rax
;;; <@144,#121> call-with-descriptor
0x351d932f1533 339 e8e8fcffff call 0x351d932f1220 ;; code: STUB, CallApiAccessorStub, minor: 4
;;; <@146,#122> lazy-bailout
;;; <@148,#124> return
0x351d932f1538 344 488be5 REX.W movq rsp,rbp ;; debug: position 20636
0x351d932f153b 347 5d pop rbp
0x351d932f153c 348 c21000 ret 0x10
0x351d932f153f 351 660f1f440000 nop
;;; <@36,#126> -------------------- Deferred tagged-to-i --------------------
0x351d932f1545 357 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 2732
0x351d932f1549 361 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932f154d 365 0f8552000000 jnz 453 (0x351d932f15a5)
0x351d932f1553 371 f20f104307 movsd xmm0,[rbx+0x7]
0x351d932f1558 376 f20f2cd8 cvttsd2sil rbx,xmm0
0x351d932f155c 380 0f57c9 xorps xmm1,xmm1
0x351d932f155f 383 f20f2acb cvtsi2sd xmm1,rbx
0x351d932f1563 387 660f2ec1 ucomisd xmm0,xmm1
0x351d932f1567 391 0f853d000000 jnz 458 (0x351d932f15aa)
0x351d932f156d 397 0f8a3c000000 jpe 463 (0x351d932f15af)
0x351d932f1573 403 e9f7feffff jmp 143 (0x351d932f146f)
;;; -------------------- Jump table --------------------
0x351d932f1578 408 e88d4ab1ff call 0x351d92e0600a ;; debug: position 5632
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 1
0x351d932f157d 413 e8924ab1ff call 0x351d92e06014 ;; debug: position 14849
;; debug: deopt reason 'Smi'
;; deoptimization bailout 2
0x351d932f1582 418 e8974ab1ff call 0x351d92e0601e ;; debug: position 14849
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 3
0x351d932f1587 423 e8ba4ab1ff call 0x351d92e06046 ;; debug: position 18944
;; debug: deopt reason 'hole'
;; deoptimization bailout 7
0x351d932f158c 428 e8bf4ab1ff call 0x351d92e06050 ;; debug: position 23040
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x351d932f1591 433 e8c44ab1ff call 0x351d92e0605a ;; debug: position 23040
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 9
0x351d932f1596 438 e8c94ab1ff call 0x351d92e06064 ;; debug: position 26112
;; debug: deopt reason 'hole'
;; deoptimization bailout 10
0x351d932f159b 443 e8ce4ab1ff call 0x351d92e0606e ;; debug: position 31744
;; debug: deopt reason 'Smi'
;; deoptimization bailout 11
0x351d932f15a0 448 e8d34ab1ff call 0x351d92e06078 ;; debug: position 31744
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 12
0x351d932f15a5 453 e8e24ab1ff call 0x351d92e0608c ;; debug: position 18945
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 14
0x351d932f15aa 458 e8dd4ab1ff call 0x351d92e0608c ;; debug: position 18945
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 14
0x351d932f15af 463 e8d84ab1ff call 0x351d92e0608c ;; debug: position 18945
;; debug: deopt reason 'NaN'
;; deoptimization bailout 14
;;; Safepoint table.
Inlined functions (count = 2)
0x17141291b789 <SharedFunctionInfo nullCheck>
0x171412911e11 <SharedFunctionInfo posix._makeLong>
Deoptimization Input Data (deopt points = 15)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 2 0 -1
3 2 0 -1
4 17 0 127
5 57 0 210
6 57 0 -1
7 4 0 -1
8 4 0 -1
9 4 0 -1
10 4 0 -1
11 4 0 -1
12 4 0 -1
13 15 0 344
14 17 0 -1
Safepoints (size = 52)
0x351d932f1403 35 01 (sp -> fp) 0
0x351d932f145f 127 11 (sp -> fp) 4
0x351d932f14b2 210 11 (sp -> fp) 5
0x351d932f1538 344 01 (sp -> fp) 13
RelocInfo (size = 875)
0x351d932f13ea position (20606)
0x351d932f13ea comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932f13ea comment (;;; <@2,#1> context)
0x351d932f13ee comment (;;; <@3,#1> gap)
0x351d932f13f2 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932f13f2 comment (;;; <@11,#8> gap)
0x351d932f13f5 comment (;;; <@12,#10> stack-check)
0x351d932f13ff code target (BUILTIN) (0x351d93134ee0)
0x351d932f1403 comment (;;; <@14,#10> lazy-bailout)
0x351d932f1403 comment (;;; <@15,#10> gap)
0x351d932f1407 comment (;;; <@16,#11> load-context-slot)
0x351d932f1407 position (20617)
0x351d932f140e comment (;;; <@17,#11> gap)
0x351d932f1412 comment (;;; <@18,#13> check-value)
0x351d932f1414 embedded object (0x3275aaf7b1d1 <JS Function nullCheck (SharedFunctionInfo 0x17141291b789)>)
0x351d932f1425 comment (;;; <@19,#13> gap)
0x351d932f1429 comment (;;; <@20,#19> check-non-smi)
0x351d932f1429 position (2724)
0x351d932f1432 comment (;;; <@22,#20> check-instance-type)
0x351d932f1441 comment (;;; <@24,#23> check-maps)
0x351d932f1441 position (2732)
0x351d932f1441 comment (;;; <@26,#27> push-argument)
0x351d932f1442 comment (;;; <@28,#27> push-argument)
0x351d932f1444 embedded object (0x1714129184d9 <String[1]\: \x00>)
0x351d932f144e comment (;;; <@30,#26> constant-t)
0x351d932f1450 embedded object (0x1fffbdc96229 <JS Function indexOf (SharedFunctionInfo 0x1fffbdc4bea1)>)
0x351d932f1458 comment (;;; <@32,#28> call-js-function)
0x351d932f145f comment (;;; <@34,#29> lazy-bailout)
0x351d932f145f comment (;;; <@35,#29> gap)
0x351d932f1462 comment (;;; <@36,#126> tagged-to-i)
0x351d932f146f position (2750)
0x351d932f146f comment (;;; <@39,#31> compare-numeric-and-branch)
0x351d932f1478 comment (;;; <@40,#35> -------------------- B2 (unreachable/replaced) --------------------)
0x351d932f1478 position (2777)
0x351d932f1478 comment (;;; <@44,#38> -------------------- B3 --------------------)
0x351d932f1478 comment (;;; <@46,#53> push-argument)
0x351d932f1478 position (2773)
0x351d932f147a embedded object (0x1fffbdc915f1 <JS Function Error (SharedFunctionInfo 0x1fffbdc430a9)>)
0x351d932f1484 comment (;;; <@48,#53> push-argument)
0x351d932f1486 embedded object (0x1714129184f9 <String[41]: Path must be a string without null bytes.>)
0x351d932f1490 comment (;;; <@50,#14> constant-t)
0x351d932f1490 position (2695)
0x351d932f1492 embedded object (0x3275aaf77d59 <FixedArray[57]>)
0x351d932f149a comment (;;; <@52,#39> constant-t)
0x351d932f149a position (2777)
0x351d932f149c embedded object (0x1fffbdc915f1 <JS Function Error (SharedFunctionInfo 0x1fffbdc430a9)>)
0x351d932f14a4 comment (;;; <@54,#54> call-new)
0x351d932f14a4 position (2773)
0x351d932f14ae code target (js construct call) (STUB) (0x351d93129c60)
0x351d932f14b2 comment (;;; <@56,#55> lazy-bailout)
0x351d932f14b2 position (2841)
0x351d932f14b2 comment (;;; <@59,#59> deoptimize)
0x351d932f14b2 position (74753)
0x351d932f14b2 deopt reason (Insufficient type feedback for generic named access)
0x351d932f14b3 runtime entry
0x351d932f14b7 comment (;;; <@60,#60> -------------------- B4 (unreachable/replaced) --------------------)
0x351d932f14b7 comment (;;; <@70,#67> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932f14b7 comment (;;; <@74,#70> -------------------- B6 (unreachable/replaced) --------------------)
0x351d932f14b7 comment (;;; <@82,#64> -------------------- B7 (unreachable/replaced) --------------------)
0x351d932f14b7 comment (;;; <@86,#77> -------------------- B8 (unreachable/replaced) --------------------)
0x351d932f14b7 comment (;;; <@90,#80> -------------------- B9 (unreachable/replaced) --------------------)
0x351d932f14b7 comment (;;; <@108,#32> -------------------- B10 (unreachable/replaced) --------------------)
0x351d932f14b7 comment (;;; <@112,#93> -------------------- B11 (unreachable/replaced) --------------------)
0x351d932f14b7 position (20643)
0x351d932f14b7 comment (;;; <@116,#98> -------------------- B12 --------------------)
0x351d932f14b7 comment (;;; <@117,#98> gap)
0x351d932f14bb comment (;;; <@118,#99> load-context-slot)
0x351d932f14c9 comment (;;; <@120,#100> check-non-smi)
0x351d932f14c9 position (20651)
0x351d932f14d2 comment (;;; <@122,#101> check-maps)
0x351d932f14d4 embedded object (0x14a488a0d949 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932f14e6 comment (;;; <@124,#103> load-context-slot)
0x351d932f14e6 position (20657)
0x351d932f14f4 comment (;;; <@126,#104> check-non-smi)
0x351d932f14f4 position (20668)
0x351d932f14fd comment (;;; <@128,#105> check-maps)
0x351d932f14ff embedded object (0x14a488a0b0b9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932f1511 position (20651)
0x351d932f1511 comment (;;; <@132,#114> -------------------- B13 --------------------)
0x351d932f1511 comment (;;; <@134,#116> push-argument)
0x351d932f1512 comment (;;; <@136,#116> push-argument)
0x351d932f1515 comment (;;; <@138,#118> constant-e)
0x351d932f151c comment (;;; <@140,#102> constant-t)
0x351d932f151e embedded object (0x171412923109 <JS Function lstat (SharedFunctionInfo 0x171412923079)>)
0x351d932f1526 comment (;;; <@142,#117> constant-t)
0x351d932f1528 embedded object (0x21ab18105f71 <JS Object>)
0x351d932f1530 comment (;;; <@143,#117> gap)
0x351d932f1533 comment (;;; <@144,#121> call-with-descriptor)
0x351d932f1534 code target (STUB) (0x351d932f1220)
0x351d932f1538 comment (;;; <@146,#122> lazy-bailout)
0x351d932f1538 comment (;;; <@148,#124> return)
0x351d932f1538 position (20636)
0x351d932f1545 position (2732)
0x351d932f1545 comment (;;; <@36,#126> -------------------- Deferred tagged-to-i --------------------)
0x351d932f1578 comment (;;; -------------------- Jump table --------------------)
0x351d932f1578 position (5632)
0x351d932f1578 deopt reason (value mismatch)
0x351d932f1579 runtime entry (deoptimization bailout 1)
0x351d932f157d position (14849)
0x351d932f157d deopt reason (Smi)
0x351d932f157e runtime entry (deoptimization bailout 2)
0x351d932f1582 position (14849)
0x351d932f1582 deopt reason (wrong instance type)
0x351d932f1583 runtime entry (deoptimization bailout 3)
0x351d932f1587 position (18944)
0x351d932f1587 deopt reason (hole)
0x351d932f1588 runtime entry (deoptimization bailout 7)
0x351d932f158c position (23040)
0x351d932f158c deopt reason (Smi)
0x351d932f158d runtime entry (deoptimization bailout 8)
0x351d932f1591 position (23040)
0x351d932f1591 deopt reason (wrong map)
0x351d932f1592 runtime entry (deoptimization bailout 9)
0x351d932f1596 position (26112)
0x351d932f1596 deopt reason (hole)
0x351d932f1597 runtime entry (deoptimization bailout 10)
0x351d932f159b position (31744)
0x351d932f159b deopt reason (Smi)
0x351d932f159c runtime entry (deoptimization bailout 11)
0x351d932f15a0 position (31744)
0x351d932f15a0 deopt reason (wrong map)
0x351d932f15a1 runtime entry (deoptimization bailout 12)
0x351d932f15a5 position (18945)
0x351d932f15a5 deopt reason (not a heap number)
0x351d932f15a6 runtime entry (deoptimization bailout 14)
0x351d932f15aa position (18945)
0x351d932f15aa deopt reason (lost precision)
0x351d932f15ab runtime entry (deoptimization bailout 14)
0x351d932f15af position (18945)
0x351d932f15af deopt reason (NaN)
0x351d932f15b0 runtime entry (deoptimization bailout 14)
0x351d932f15b4 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (fs.Stats.isSymbolicLink) id{24,0} ---
() {
return this._checkModeProperty(constants.S_IFLNK);
}
--- END ---
--- FUNCTION SOURCE (fs.Stats._checkModeProperty) id{24,1} ---
(property) {
return ((this.mode & constants.S_IFMT) === property);
}
--- END ---
INLINE (fs.Stats._checkModeProperty) id{24,1} AS 1 AT <0:19>
--- Raw source ---
() {
return this._checkModeProperty(constants.S_IFLNK);
};
--- Optimized code ---
optimization_id = 24
source_position = 4281
kind = OPTIMIZED_FUNCTION
name = fs.Stats.isSymbolicLink
stack_slots = 3
compiler = crankshaft
Instructions (size = 505)
0x351d932f17c0 0 55 push rbp
0x351d932f17c1 1 4889e5 REX.W movq rbp,rsp
0x351d932f17c4 4 56 push rsi
0x351d932f17c5 5 57 push rdi
0x351d932f17c6 6 4883ec18 REX.W subq rsp,0x18
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932f17ca 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 4281
;;; <@3,#1> gap
0x351d932f17ce 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@8,#7> -------------------- B1 --------------------
;;; <@9,#7> gap
0x351d932f17d2 18 488bf0 REX.W movq rsi,rax
;;; <@10,#9> stack-check
0x351d932f17d5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932f17dc 28 7305 jnc 35 (0x351d932f17e3)
0x351d932f17de 30 e8fd36e4ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@12,#9> lazy-bailout
;;; <@13,#9> gap
0x351d932f17e3 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@14,#11> check-non-smi
0x351d932f17e7 39 a801 test al,0x1 ;; debug: position 4300
0x351d932f17e9 41 0f8479010000 jz 424 (0x351d932f1968)
;;; <@16,#12> check-maps
0x351d932f17ef 47 49ba3165a188a4140000 REX.W movq r10,0x14a488a16531 ;; object: 0x14a488a16531 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932f17f9 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932f17fd 61 0f856a010000 jnz 429 (0x351d932f196d)
;;; <@18,#14> check-maps
;;; <@19,#14> gap
0x351d932f1803 67 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@20,#16> load-context-slot
0x351d932f1807 71 488b534f REX.W movq rdx,[rbx+0x4f] ;; debug: position 4319
0x351d932f180b 75 493b55b0 REX.W cmpq rdx,[r13-0x50]
0x351d932f180f 79 0f845d010000 jz 434 (0x351d932f1972)
;;; <@21,#16> gap
0x351d932f1815 85 488bf3 REX.W movq rsi,rbx
;;; <@22,#17> load-named-generic
0x351d932f1818 88 48b9e187911214170000 REX.W movq rcx,0x1714129187e1 ;; debug: position 4328
;; object: 0x1714129187e1 <String[7]: S_IFLNK>
0x351d932f1822 98 48bbe9ae931214170000 REX.W movq rbx,0x17141293aee9 ;; object: 0x17141293aee9 <FixedArray[10]>
0x351d932f182c 108 48b80000000008000000 REX.W movq rax,0x800000000
0x351d932f1836 118 e8656afbff call 0x351d932a82a0 ;; code: LOAD_IC, DEFAULT
;;; <@23,#17> gap
0x351d932f183b 123 488945e0 REX.W movq [rbp-0x20],rax
;;; <@24,#18> lazy-bailout
;;; <@26,#24> check-maps
;;; <@27,#24> gap
0x351d932f183f 127 488b5d10 REX.W movq rbx,[rbp+0x10] ;; debug: position 3777
;;; <@28,#25> load-named-field
0x351d932f1843 131 8b4b23 movl rcx,[rbx+0x23]
;;; <@29,#25> gap
0x351d932f1846 134 48894dd8 REX.W movq [rbp-0x28],rcx
;;; <@30,#19> constant-t
0x351d932f184a 138 48be597df7aa75320000 REX.W movq rsi,0x3275aaf77d59 ;; debug: position 3749
;; object: 0x3275aaf77d59 <FixedArray[57]>
;;; <@32,#26> load-context-slot
0x351d932f1854 148 488b564f REX.W movq rdx,[rsi+0x4f] ;; debug: position 3785
0x351d932f1858 152 493b55b0 REX.W cmpq rdx,[r13-0x50]
0x351d932f185c 156 0f8415010000 jz 439 (0x351d932f1977)
;;; <@34,#19> constant-t
0x351d932f1862 162 48be597df7aa75320000 REX.W movq rsi,0x3275aaf77d59 ;; debug: position 3749
;; object: 0x3275aaf77d59 <FixedArray[57]>
;;; <@36,#27> load-named-generic
0x351d932f186c 172 48b97986911214170000 REX.W movq rcx,0x171412918679 ;; debug: position 3794
;; object: 0x171412918679 <String[6]: S_IFMT>
0x351d932f1876 182 48bb19b0931214170000 REX.W movq rbx,0x17141293b019 ;; object: 0x17141293b019 <FixedArray[8]>
0x351d932f1880 192 48b80000000006000000 REX.W movq rax,0x600000000
0x351d932f188a 202 e8116afbff call 0x351d932a82a0 ;; code: LOAD_IC, DEFAULT
;;; <@38,#28> lazy-bailout
;;; <@39,#28> gap
0x351d932f188f 207 488bd8 REX.W movq rbx,rax
;;; <@40,#50> tagged-to-i
0x351d932f1892 210 f6c301 testb rbx,0x1
0x351d932f1895 213 0f853f000000 jnz 282 (0x351d932f18da)
0x351d932f189b 219 48c1eb20 REX.W shrq rbx, 32
;;; <@42,#29> bit-i
0x351d932f189f 223 235dd8 andl rbx,[rbp-0x28] ;; debug: position 3783
;;; <@43,#29> gap
0x351d932f18a2 226 488b45e0 REX.W movq rax,[rbp-0x20]
;;; <@44,#49> tagged-to-i
0x351d932f18a6 230 a801 test al,0x1 ;; debug: position 3807
0x351d932f18a8 232 0f8587000000 jnz 373 (0x351d932f1935)
0x351d932f18ae 238 48c1e820 REX.W shrq rax, 32
;;; <@47,#31> compare-numeric-and-branch
0x351d932f18b2 242 3bd8 cmpl rbx,rax ;; debug: position 3803
0x351d932f18b4 244 0f840f000000 jz 265 (0x351d932f18c9)
;;; <@48,#37> -------------------- B2 --------------------
;;; <@50,#39> gap
0x351d932f18ba 250 48b85142c0bdff1f0000 REX.W movq rax,0x1fffbdc04251 ;; object: 0x1fffbdc04251 <false>
;;; <@51,#39> goto
0x351d932f18c4 260 e90a000000 jmp 275 (0x351d932f18d3)
;;; <@52,#34> -------------------- B3 --------------------
;;; <@54,#36> gap
0x351d932f18c9 265 48b81142c0bdff1f0000 REX.W movq rax,0x1fffbdc04211 ;; object: 0x1fffbdc04211 <true>
;;; <@56,#41> -------------------- B4 (unreachable/replaced) --------------------
;;; <@60,#45> -------------------- B5 --------------------
;;; <@62,#47> return
0x351d932f18d3 275 488be5 REX.W movq rsp,rbp ;; debug: position 4288
0x351d932f18d6 278 5d pop rbp
0x351d932f18d7 279 c20800 ret 0x8
;;; <@40,#50> -------------------- Deferred tagged-to-i --------------------
0x351d932f18da 282 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 3794
0x351d932f18de 286 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932f18e2 290 7526 jnz 330 (0x351d932f190a)
0x351d932f18e4 292 f20f104307 movsd xmm0,[rbx+0x7]
0x351d932f18e9 297 f2480f2cd8 REX.W cvttsd2siq rbx,xmm0
0x351d932f18ee 302 4883fb01 REX.W cmpq rbx,0x1
0x351d932f18f2 306 7112 jno 326 (0x351d932f1906)
0x351d932f18f4 308 4883ec08 REX.W subq rsp,0x8
0x351d932f18f8 312 f20f110424 movsd [rsp],xmm0
0x351d932f18fd 317 e8be74fdff call 0x351d932c8dc0 ;; code: STUB, DoubleToIStub, minor: 135364
0x351d932f1902 322 4883c408 REX.W addq rsp,0x8
0x351d932f1906 326 8bdb movl rbx,rbx
0x351d932f1908 328 eb95 jmp 223 (0x351d932f189f)
0x351d932f190a 330 493b5da8 REX.W cmpq rbx,[r13-0x58]
0x351d932f190e 334 7504 jnz 340 (0x351d932f1914)
0x351d932f1910 336 33db xorl rbx,rbx
0x351d932f1912 338 eb8b jmp 223 (0x351d932f189f)
0x351d932f1914 340 493b5dc0 REX.W cmpq rbx,[r13-0x40]
0x351d932f1918 344 750a jnz 356 (0x351d932f1924)
0x351d932f191a 346 bb01000000 movl rbx,0x1
0x351d932f191f 351 e97bffffff jmp 223 (0x351d932f189f)
0x351d932f1924 356 493b5dc8 REX.W cmpq rbx,[r13-0x38]
0x351d932f1928 360 0f854e000000 jnz 444 (0x351d932f197c)
0x351d932f192e 366 33db xorl rbx,rbx
0x351d932f1930 368 e96affffff jmp 223 (0x351d932f189f)
;;; <@44,#49> -------------------- Deferred tagged-to-i --------------------
0x351d932f1935 373 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 3807
0x351d932f1939 377 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932f193d 381 0f853e000000 jnz 449 (0x351d932f1981)
0x351d932f1943 387 f20f104007 movsd xmm0,[rax+0x7]
0x351d932f1948 392 f20f2cc0 cvttsd2sil rax,xmm0
0x351d932f194c 396 0f57c9 xorps xmm1,xmm1
0x351d932f194f 399 f20f2ac8 cvtsi2sd xmm1,rax
0x351d932f1953 403 660f2ec1 ucomisd xmm0,xmm1
0x351d932f1957 407 0f8529000000 jnz 454 (0x351d932f1986)
0x351d932f195d 413 0f8a28000000 jpe 459 (0x351d932f198b)
0x351d932f1963 419 e94affffff jmp 242 (0x351d932f18b2)
;;; -------------------- Jump table --------------------
0x351d932f1968 424 e89d46b1ff call 0x351d92e0600a ;; debug: position 9728
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932f196d 429 e8a246b1ff call 0x351d92e06014 ;; debug: position 9728
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x351d932f1972 434 e8a746b1ff call 0x351d92e0601e ;; debug: position 19456
;; debug: deopt reason 'hole'
;; deoptimization bailout 3
0x351d932f1977 439 e8b646b1ff call 0x351d92e06032 ;; debug: position 18433
;; debug: deopt reason 'hole'
;; deoptimization bailout 5
0x351d932f197c 444 e8c546b1ff call 0x351d92e06046 ;; debug: position 23041
;; debug: deopt reason 'not a heap number/undefined/true/false'
;; deoptimization bailout 7
0x351d932f1981 449 e8ca46b1ff call 0x351d92e06050 ;; debug: position 29697
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 8
0x351d932f1986 454 e8c546b1ff call 0x351d92e06050 ;; debug: position 29697
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 8
0x351d932f198b 459 e8c046b1ff call 0x351d92e06050 ;; debug: position 29697
;; debug: deopt reason 'NaN'
;; deoptimization bailout 8
;;; Safepoint table.
Inlined functions (count = 1)
0x17141291c401 <SharedFunctionInfo fs.Stats._checkModeProperty>
Deoptimization Input Data (deopt points = 9)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 3 0 -1
4 18 0 127
5 2 0 -1
6 20 0 207
7 20 0 -1
8 7 0 -1
Safepoints (size = 41)
0x351d932f17e3 35 001 (sp -> fp) 0
0x351d932f183b 123 001 (sp -> fp) 4
0x351d932f188f 207 011 (sp -> fp) 6
RelocInfo (size = 635)
0x351d932f17ca position (4281)
0x351d932f17ca comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932f17ca comment (;;; <@2,#1> context)
0x351d932f17ce comment (;;; <@3,#1> gap)
0x351d932f17d2 comment (;;; <@8,#7> -------------------- B1 --------------------)
0x351d932f17d2 comment (;;; <@9,#7> gap)
0x351d932f17d5 comment (;;; <@10,#9> stack-check)
0x351d932f17df code target (BUILTIN) (0x351d93134ee0)
0x351d932f17e3 comment (;;; <@12,#9> lazy-bailout)
0x351d932f17e3 comment (;;; <@13,#9> gap)
0x351d932f17e7 comment (;;; <@14,#11> check-non-smi)
0x351d932f17e7 position (4300)
0x351d932f17ef comment (;;; <@16,#12> check-maps)
0x351d932f17f1 embedded object (0x14a488a16531 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932f1803 comment (;;; <@18,#14> check-maps)
0x351d932f1803 comment (;;; <@19,#14> gap)
0x351d932f1807 comment (;;; <@20,#16> load-context-slot)
0x351d932f1807 position (4319)
0x351d932f1815 comment (;;; <@21,#16> gap)
0x351d932f1818 comment (;;; <@22,#17> load-named-generic)
0x351d932f1818 position (4328)
0x351d932f181a embedded object (0x1714129187e1 <String[7]: S_IFLNK>)
0x351d932f1824 embedded object (0x17141293aee9 <FixedArray[10]>)
0x351d932f1837 code target (LOAD_IC) (0x351d932a82a0)
0x351d932f183b comment (;;; <@23,#17> gap)
0x351d932f183f comment (;;; <@24,#18> lazy-bailout)
0x351d932f183f comment (;;; <@26,#24> check-maps)
0x351d932f183f position (3777)
0x351d932f183f comment (;;; <@27,#24> gap)
0x351d932f1843 comment (;;; <@28,#25> load-named-field)
0x351d932f1846 comment (;;; <@29,#25> gap)
0x351d932f184a comment (;;; <@30,#19> constant-t)
0x351d932f184a position (3749)
0x351d932f184c embedded object (0x3275aaf77d59 <FixedArray[57]>)
0x351d932f1854 comment (;;; <@32,#26> load-context-slot)
0x351d932f1854 position (3785)
0x351d932f1862 comment (;;; <@34,#19> constant-t)
0x351d932f1862 position (3749)
0x351d932f1864 embedded object (0x3275aaf77d59 <FixedArray[57]>)
0x351d932f186c comment (;;; <@36,#27> load-named-generic)
0x351d932f186c position (3794)
0x351d932f186e embedded object (0x171412918679 <String[6]: S_IFMT>)
0x351d932f1878 embedded object (0x17141293b019 <FixedArray[8]>)
0x351d932f188b code target (LOAD_IC) (0x351d932a82a0)
0x351d932f188f comment (;;; <@38,#28> lazy-bailout)
0x351d932f188f comment (;;; <@39,#28> gap)
0x351d932f1892 comment (;;; <@40,#50> tagged-to-i)
0x351d932f189f comment (;;; <@42,#29> bit-i)
0x351d932f189f position (3783)
0x351d932f18a2 comment (;;; <@43,#29> gap)
0x351d932f18a6 comment (;;; <@44,#49> tagged-to-i)
0x351d932f18a6 position (3807)
0x351d932f18b2 position (3803)
0x351d932f18b2 comment (;;; <@47,#31> compare-numeric-and-branch)
0x351d932f18ba comment (;;; <@48,#37> -------------------- B2 --------------------)
0x351d932f18ba comment (;;; <@50,#39> gap)
0x351d932f18bc embedded object (0x1fffbdc04251 <false>)
0x351d932f18c4 comment (;;; <@51,#39> goto)
0x351d932f18c9 comment (;;; <@52,#34> -------------------- B3 --------------------)
0x351d932f18c9 comment (;;; <@54,#36> gap)
0x351d932f18cb embedded object (0x1fffbdc04211 <true>)
0x351d932f18d3 comment (;;; <@56,#41> -------------------- B4 (unreachable/replaced) --------------------)
0x351d932f18d3 position (4288)
0x351d932f18d3 comment (;;; <@60,#45> -------------------- B5 --------------------)
0x351d932f18d3 comment (;;; <@62,#47> return)
0x351d932f18da position (3794)
0x351d932f18da comment (;;; <@40,#50> -------------------- Deferred tagged-to-i --------------------)
0x351d932f18fe code target (STUB) (0x351d932c8dc0)
0x351d932f1935 position (3807)
0x351d932f1935 comment (;;; <@44,#49> -------------------- Deferred tagged-to-i --------------------)
0x351d932f1968 comment (;;; -------------------- Jump table --------------------)
0x351d932f1968 position (9728)
0x351d932f1968 deopt reason (Smi)
0x351d932f1969 runtime entry (deoptimization bailout 1)
0x351d932f196d position (9728)
0x351d932f196d deopt reason (wrong map)
0x351d932f196e runtime entry (deoptimization bailout 2)
0x351d932f1972 position (19456)
0x351d932f1972 deopt reason (hole)
0x351d932f1973 runtime entry (deoptimization bailout 3)
0x351d932f1977 position (18433)
0x351d932f1977 deopt reason (hole)
0x351d932f1978 runtime entry (deoptimization bailout 5)
0x351d932f197c position (23041)
0x351d932f197c deopt reason (not a heap number/undefined/true/false)
0x351d932f197d runtime entry (deoptimization bailout 7)
0x351d932f1981 position (29697)
0x351d932f1981 deopt reason (not a heap number)
0x351d932f1982 runtime entry (deoptimization bailout 8)
0x351d932f1986 position (29697)
0x351d932f1986 deopt reason (lost precision)
0x351d932f1987 runtime entry (deoptimization bailout 8)
0x351d932f198b position (29697)
0x351d932f198b deopt reason (NaN)
0x351d932f198c runtime entry (deoptimization bailout 8)
0x351d932f1990 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (normalizeArray) id{25,0} ---
(parts, allowAboveRoot) {
var res = [];
for (var i = 0; i < parts.length; i++) {
var p = parts[i];
// ignore empty parts
if (!p || p === '.')
continue;
if (p === '..') {
if (res.length && res[res.length - 1] !== '..') {
res.pop();
} else if (allowAboveRoot) {
res.push('..');
}
} else {
res.push(p);
}
}
return res;
}
--- END ---
--- Raw source ---
(parts, allowAboveRoot) {
var res = [];
for (var i = 0; i < parts.length; i++) {
var p = parts[i];
// ignore empty parts
if (!p || p === '.')
continue;
if (p === '..') {
if (res.length && res[res.length - 1] !== '..') {
res.pop();
} else if (allowAboveRoot) {
res.push('..');
}
} else {
res.push(p);
}
}
return res;
}
--- Optimized code ---
optimization_id = 25
source_position = 586
kind = OPTIMIZED_FUNCTION
name = normalizeArray
stack_slots = 5
compiler = crankshaft
Instructions (size = 1746)
0x351d932f8d80 0 55 push rbp
0x351d932f8d81 1 4889e5 REX.W movq rbp,rsp
0x351d932f8d84 4 56 push rsi
0x351d932f8d85 5 57 push rdi
0x351d932f8d86 6 4883ec28 REX.W subq rsp,0x28
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932f8d8a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 586
;;; <@3,#1> gap
0x351d932f8d8e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@12,#9> -------------------- B1 --------------------
;;; <@13,#9> gap
0x351d932f8d92 18 488bf0 REX.W movq rsi,rax
;;; <@14,#11> stack-check
0x351d932f8d95 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932f8d9c 28 7305 jnc 35 (0x351d932f8da3)
0x351d932f8d9e 30 e83dc1e3ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@16,#11> lazy-bailout
;;; <@18,#13> allocate
0x351d932f8da3 35 498b9d400b0000 REX.W movq rbx,[r13+0xb40] ;; debug: position 624
0x351d932f8daa 42 488bc3 REX.W movq rax,rbx
0x351d932f8dad 45 4883c020 REX.W addq rax,0x20
0x351d932f8db1 49 0f826e040000 jc 1189 (0x351d932f9225)
0x351d932f8db7 55 493b85480b0000 REX.W cmpq rax,[r13+0xb48]
0x351d932f8dbe 62 0f8761040000 ja 1189 (0x351d932f9225)
0x351d932f8dc4 68 498985400b0000 REX.W movq [r13+0xb40],rax
0x351d932f8dcb 75 48ffc3 REX.W incq rbx
;;; <@19,#13> gap
0x351d932f8dce 78 48895de0 REX.W movq [rbp-0x20],rbx
;;; <@20,#15> store-named-field
0x351d932f8dd2 82 49ba3141c0bdff1f0000 REX.W movq r10,0x1fffbdc04131 ;; object: 0x1fffbdc04131 <FixedArray[0]>
0x351d932f8ddc 92 4c89530f REX.W movq [rbx+0xf],r10
;;; <@22,#17> store-named-field
0x351d932f8de0 96 49bac16f908290160000 REX.W movq r10,0x169082906fc1 ;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d932f8dea 106 4c8953ff REX.W movq [rbx-0x1],r10
;;; <@24,#19> store-named-field
0x351d932f8dee 110 49ba3141c0bdff1f0000 REX.W movq r10,0x1fffbdc04131 ;; object: 0x1fffbdc04131 <FixedArray[0]>
0x351d932f8df8 120 4c895307 REX.W movq [rbx+0x7],r10
;;; <@26,#21> store-named-field
0x351d932f8dfc 124 4533d2 xorl r10,r10
0x351d932f8dff 127 4c895317 REX.W movq [rbx+0x17],r10
;;; <@27,#21> gap
0x351d932f8e03 131 488b4d18 REX.W movq rcx,[rbp+0x18]
;;; <@28,#40> check-non-smi
0x351d932f8e07 135 f6c101 testb rcx,0x1 ;; debug: position 655
0x351d932f8e0a 138 0f8476050000 jz 1542 (0x351d932f9386)
;;; <@30,#57> check-maps
;;; <@32,#59> check-maps
;;; <@34,#36> gap
0x351d932f8e10 144 4c8b4510 REX.W movq r8,[rbp+0x10] ;; debug: position 688
;; debug: position 630
0x351d932f8e14 148 33ff xorl rdi,rdi
;;; <@36,#37> -------------------- B2 (loop header) --------------------
0x351d932f8e16 150 48897dd8 REX.W movq [rbp-0x28],rdi ;; debug: position 646
;;; <@38,#41> check-maps
0x351d932f8e1a 154 49ba8172908290160000 REX.W movq r10,0x169082907281 ;; debug: position 655
;; object: 0x169082907281 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932f8e24 164 4c3951ff REX.W cmpq [rcx-0x1],r10
0x351d932f8e28 168 0f855d050000 jnz 1547 (0x351d932f938b)
;;; <@40,#42> load-named-field
0x351d932f8e2e 174 8b411b movl rax,[rcx+0x1b]
;;; <@43,#43> compare-numeric-and-branch
0x351d932f8e31 177 3bf8 cmpl rdi,rax ;; debug: position 648
0x351d932f8e33 179 0f8de1030000 jge 1178 (0x351d932f921a)
;;; <@44,#44> -------------------- B3 (unreachable/replaced) --------------------
;;; <@48,#50> -------------------- B4 --------------------
;;; <@50,#52> stack-check
0x351d932f8e39 185 493ba548080000 REX.W cmpq rsp,[r13+0x848] ;; debug: position 630
0x351d932f8e40 192 0f8244040000 jc 1290 (0x351d932f928a)
;;; <@52,#60> load-named-field
0x351d932f8e46 198 488b510f REX.W movq rdx,[rcx+0xf] ;; debug: position 688
;;; <@54,#62> bounds-check
0x351d932f8e4a 202 3bc7 cmpl rax,rdi
0x351d932f8e4c 204 0f863e050000 jna 1552 (0x351d932f9390)
;;; <@56,#63> load-keyed
0x351d932f8e52 210 4c8b4cfa0f REX.W movq r9,[rdx+rdi*8+0xf]
0x351d932f8e57 215 4d3b4db0 REX.W cmpq r9,[r13-0x50]
0x351d932f8e5b 219 0f850a000000 jnz 235 (0x351d932f8e6b)
0x351d932f8e61 225 49b9b941c0bdff1f0000 REX.W movq r9,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
;;; <@57,#63> gap
0x351d932f8e6b 235 4c894dd0 REX.W movq [rbp-0x30],r9
;;; <@59,#66> branch
0x351d932f8e6f 239 41f6c101 testb r9,0x1 ;; debug: position 729
0x351d932f8e73 243 0f841c050000 jz 1557 (0x351d932f9395)
0x351d932f8e79 249 4d8b51ff REX.W movq r10,[r9-0x1]
0x351d932f8e7d 253 41f6420c10 testb [r10+0xc],0x10
0x351d932f8e82 258 0f857a030000 jnz 1154 (0x351d932f9202)
0x351d932f8e88 264 41807a0b80 cmpb [r10+0xb],0x80
0x351d932f8e8d 269 7310 jnc 287 (0x351d932f8e9f)
0x351d932f8e8f 271 4983790f00 REX.W cmpq [r9+0xf],0x0
0x351d932f8e94 276 0f850a000000 jnz 292 (0x351d932f8ea4)
0x351d932f8e9a 282 e963030000 jmp 1154 (0x351d932f9202)
0x351d932f8e9f 287 e88ed1b0ff call 0x351d92e06032 ;; debug: position 73216
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 5
;;; <@60,#70> -------------------- B5 (unreachable/replaced) --------------------
;;; <@64,#67> -------------------- B6 (unreachable/replaced) --------------------
;;; <@68,#73> -------------------- B7 --------------------
;;; <@70,#76> check-non-smi
0x351d932f8ea4 292 41f6c101 testb r9,0x1 ;; debug: position 734
;; debug: position 736
0x351d932f8ea8 296 0f84ec040000 jz 1562 (0x351d932f939a)
;;; <@72,#77> check-instance-type
0x351d932f8eae 302 4d8b51ff REX.W movq r10,[r9-0x1]
0x351d932f8eb2 306 41f6420b80 testb [r10+0xb],0x80
0x351d932f8eb7 311 0f85e2040000 jnz 1567 (0x351d932f939f)
;;; <@74,#75> constant-t
0x351d932f8ebd 317 48b81152c3bdff1f0000 REX.W movq rax,0x1fffbdc35211 ;; debug: position 740
;; object: 0x1fffbdc35211 <String[1]: .>
;;; <@76,#79> gap
0x351d932f8ec7 327 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 736
0x351d932f8ecb 331 498bd1 REX.W movq rdx,r9
;;; <@77,#79> string-compare-and-branch
0x351d932f8ece 334 e82d63e2ff call 0x351d9311f200 ;; code: COMPARE_IC, UNINITIALIZED
0x351d932f8ed3 339 90 nop
0x351d932f8ed4 340 4885c0 REX.W testq rax,rax
0x351d932f8ed7 343 0f8425030000 jz 1154 (0x351d932f9202)
;;; <@78,#79> lazy-bailout
;;; <@80,#83> -------------------- B8 (unreachable/replaced) --------------------
;;; <@84,#89> -------------------- B9 --------------------
;;; <@86,#91> constant-t
0x351d932f8edd 349 48b8c102911214170000 REX.W movq rax,0x1714129102c1 ;; debug: position 770
;; debug: position 776
;; object: 0x1714129102c1 <String[2]: ..>
;;; <@88,#95> gap
0x351d932f8ee7 359 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 772
0x351d932f8eeb 363 488b55d0 REX.W movq rdx,[rbp-0x30]
;;; <@89,#95> string-compare-and-branch
0x351d932f8eef 367 e80c63e2ff call 0x351d9311f200 ;; code: COMPARE_IC, UNINITIALIZED
0x351d932f8ef4 372 90 nop
0x351d932f8ef5 373 4885c0 REX.W testq rax,rax
0x351d932f8ef8 376 0f84a9000000 jz 551 (0x351d932f8fa7)
;;; <@90,#95> lazy-bailout
;;; <@92,#99> -------------------- B10 (unreachable/replaced) --------------------
;;; <@96,#246> -------------------- B11 --------------------
;;; <@97,#246> gap
0x351d932f8efe 382 488b5de0 REX.W movq rbx,[rbp-0x20] ;; debug: position 945
;;; <@98,#249> check-maps
0x351d932f8f02 386 49bac16f908290160000 REX.W movq r10,0x169082906fc1 ;; debug: position 949
;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d932f8f0c 396 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932f8f10 400 0f858e040000 jnz 1572 (0x351d932f93a4)
;;; <@100,#258> load-named-field
0x351d932f8f16 406 8b531b movl rdx,[rbx+0x1b]
;;; <@102,#261> load-named-field
0x351d932f8f19 409 488b4b0f REX.W movq rcx,[rbx+0xf]
;;; <@104,#262> check-maps
0x351d932f8f1d 413 49ba0942908290160000 REX.W movq r10,0x169082904209 ;; object: 0x169082904209 <Map(FAST_SMI_ELEMENTS)>
0x351d932f8f27 423 4c3951ff REX.W cmpq [rcx-0x1],r10
0x351d932f8f2b 427 0f8578040000 jnz 1577 (0x351d932f93a9)
;;; <@106,#263> load-named-field
0x351d932f8f31 433 8b431b movl rax,[rbx+0x1b]
;;; <@109,#265> compare-numeric-and-branch
0x351d932f8f34 436 3bd0 cmpl rdx,rax
0x351d932f8f36 438 0f840d000000 jz 457 (0x351d932f8f49)
;;; <@110,#271> -------------------- B12 --------------------
;;; <@112,#272> bounds-check
0x351d932f8f3c 444 3bc2 cmpl rax,rdx
0x351d932f8f3e 446 0f866a040000 jna 1582 (0x351d932f93ae)
;;; <@115,#273> goto
0x351d932f8f44 452 e922000000 jmp 491 (0x351d932f8f6b)
;;; <@116,#266> -------------------- B13 --------------------
;;; <@118,#267> load-named-field
0x351d932f8f49 457 8b790b movl rdi,[rcx+0xb]
;;; <@119,#267> gap
0x351d932f8f4c 460 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@120,#268> maybe-grow-elements
0x351d932f8f50 464 3bd7 cmpl rdx,rdi
0x351d932f8f52 466 0f8d77030000 jge 1359 (0x351d932f92cf)
0x351d932f8f58 472 488bc1 REX.W movq rax,rcx
;;; <@122,#269> add-i
0x351d932f8f5b 475 8d4a01 leal rcx,[rdx+0x1]
;;; <@124,#298> smi-tag
0x351d932f8f5e 478 8bf1 movl rsi,rcx
0x351d932f8f60 480 48c1e620 REX.W shlq rsi, 32
;;; <@126,#270> store-named-field
0x351d932f8f64 484 48897317 REX.W movq [rbx+0x17],rsi
;;; <@128,#274> gap
0x351d932f8f68 488 488bc8 REX.W movq rcx,rax
;;; <@130,#276> -------------------- B14 --------------------
;;; <@131,#276> gap
0x351d932f8f6b 491 488b45d0 REX.W movq rax,[rbp-0x30]
;;; <@132,#277> store-keyed
0x351d932f8f6f 495 488944d10f REX.W movq [rcx+rdx*8+0xf],rax
0x351d932f8f74 500 488d54d10f REX.W leaq rdx,[rcx+rdx*8+0xf]
0x351d932f8f79 505 a801 test al,0x1
0x351d932f8f7b 507 0f8421000000 jz 546 (0x351d932f8fa2)
0x351d932f8f81 513 48250000f0ff REX.W and rax,0xfffffffffff00000
0x351d932f8f87 519 f6400804 testb [rax+0x8],0x4
0x351d932f8f8b 523 7415 jz 546 (0x351d932f8fa2)
0x351d932f8f8d 525 48c7c00000f0ff REX.W movq rax,0xfff00000
0x351d932f8f94 532 4823c1 REX.W andq rax,rcx
0x351d932f8f97 535 f6400808 testb [rax+0x8],0x8
0x351d932f8f9b 539 7405 jz 546 (0x351d932f8fa2)
0x351d932f8f9d 541 e83edaffff call 0x351d932f69e0 ;; code: STUB, RecordWriteStub, minor: 8705
;;; <@135,#283> goto
0x351d932f8fa2 546 e95b020000 jmp 1154 (0x351d932f9202) ;; debug: position 766
;;; <@136,#96> -------------------- B15 --------------------
0x351d932f8fa7 551 488b5de0 REX.W movq rbx,[rbp-0x20] ;; debug: position 772
;;; <@140,#102> -------------------- B16 --------------------
;;; <@142,#105> check-maps
0x351d932f8fab 555 49bac16f908290160000 REX.W movq r10,0x169082906fc1 ;; debug: position 794
;; debug: position 797
;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d932f8fb5 565 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d932f8fb9 569 0f85f4030000 jnz 1587 (0x351d932f93b3)
;;; <@144,#106> load-named-field
0x351d932f8fbf 575 8b431b movl rax,[rbx+0x1b]
;;; <@147,#107> branch
0x351d932f8fc2 578 85c0 testl rax,rax
0x351d932f8fc4 580 0f8508000000 jnz 594 (0x351d932f8fd2)
;;; <@148,#111> -------------------- B17 --------------------
;;; <@150,#113> gap
0x351d932f8fca 586 488bc3 REX.W movq rax,rbx
;;; <@151,#113> goto
0x351d932f8fcd 589 e958010000 jmp 938 (0x351d932f912a)
;;; <@152,#108> -------------------- B18 (unreachable/replaced) --------------------
;;; <@156,#114> -------------------- B19 --------------------
;;; <@157,#114> gap
0x351d932f8fd2 594 488bc8 REX.W movq rcx,rax ;; debug: position 808
;;; <@158,#121> sub-i
0x351d932f8fd5 597 83e901 subl rcx,0x1 ;; debug: position 823
0x351d932f8fd8 600 0f80da030000 jo 1592 (0x351d932f93b8)
;;; <@159,#121> gap
0x351d932f8fde 606 48894dc8 REX.W movq [rbp-0x38],rcx
;;; <@160,#125> load-named-field
0x351d932f8fe2 610 488b530f REX.W movq rdx,[rbx+0xf] ;; debug: position 811
;;; <@162,#127> bounds-check
0x351d932f8fe6 614 3bc1 cmpl rax,rcx
0x351d932f8fe8 616 0f86cf030000 jna 1597 (0x351d932f93bd)
;;; <@164,#128> load-keyed
0x351d932f8fee 622 488b54ca0f REX.W movq rdx,[rdx+rcx*8+0xf]
;;; <@166,#130> check-non-smi
0x351d932f8ff3 627 f6c201 testb rdx,0x1 ;; debug: position 828
0x351d932f8ff6 630 0f84c6030000 jz 1602 (0x351d932f93c2)
;;; <@168,#131> check-instance-type
0x351d932f8ffc 636 4c8b52ff REX.W movq r10,[rdx-0x1]
0x351d932f9000 640 41f6420b80 testb [r10+0xb],0x80
0x351d932f9005 645 0f85bc030000 jnz 1607 (0x351d932f93c7)
;;; <@170,#91> constant-t
0x351d932f900b 651 48b8c102911214170000 REX.W movq rax,0x1714129102c1 ;; debug: position 776
;; object: 0x1714129102c1 <String[2]: ..>
;;; <@172,#133> gap
0x351d932f9015 661 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 828
;;; <@173,#133> string-compare-and-branch
0x351d932f9019 665 e8e261e2ff call 0x351d9311f200 ;; code: COMPARE_IC, UNINITIALIZED
0x351d932f901e 670 90 nop
0x351d932f901f 671 4885c0 REX.W testq rax,rax
0x351d932f9022 674 0f84fe000000 jz 934 (0x351d932f9126)
;;; <@174,#133> lazy-bailout
;;; <@176,#137> -------------------- B20 (unreachable/replaced) --------------------
;;; <@180,#140> -------------------- B21 --------------------
;;; <@181,#140> gap
0x351d932f9028 680 488b45e0 REX.W movq rax,[rbp-0x20] ;; debug: position 848
;;; <@182,#149> load-named-field
0x351d932f902c 684 8b581b movl rbx,[rax+0x1b] ;; debug: position 852
;;; <@185,#151> compare-numeric-and-branch
0x351d932f902f 687 83fb00 cmpl rbx,0x0
0x351d932f9032 690 0f84ca010000 jz 1154 (0x351d932f9202)
;;; <@186,#152> -------------------- B22 --------------------
;;; <@188,#153> load-named-field
0x351d932f9038 696 488b500f REX.W movq rdx,[rax+0xf]
;;; <@191,#154> cmp-map-and-branch
0x351d932f903c 700 49ba9148908290160000 REX.W movq r10,0x169082904891 ;; object: 0x169082904891 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932f9046 710 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d932f904a 714 0f85b6000000 jnz 902 (0x351d932f9106)
;;; <@192,#206> -------------------- B23 (unreachable/replaced) --------------------
;;; <@196,#155> -------------------- B24 --------------------
;;; <@198,#156> load-named-field
0x351d932f9050 720 8b4a0b movl rcx,[rdx+0xb]
;;; <@200,#158> bounds-check
0x351d932f9053 723 81f9def70100 cmpl rcx,0x1f7de
0x351d932f9059 729 0f836d030000 jnc 1612 (0x351d932f93cc)
;;; <@202,#299> smi-tag
0x351d932f905f 735 8bf1 movl rsi,rcx
0x351d932f9061 737 48c1e620 REX.W shlq rsi, 32
;;; <@204,#161> mul-i
0x351d932f9065 741 c1e103 shll rcx, 3
;;; <@206,#163> add-i
0x351d932f9068 744 83c110 addl rcx,0x10
;;; <@208,#164> allocate
0x351d932f906b 747 4d8b85400b0000 REX.W movq r8,[r13+0xb40]
0x351d932f9072 754 488bf9 REX.W movq rdi,rcx
0x351d932f9075 757 4903f8 REX.W addq rdi,r8
0x351d932f9078 760 0f82aa020000 jc 1448 (0x351d932f9328)
0x351d932f907e 766 493bbd480b0000 REX.W cmpq rdi,[r13+0xb48]
0x351d932f9085 773 0f879d020000 ja 1448 (0x351d932f9328)
0x351d932f908b 779 4989bd400b0000 REX.W movq [r13+0xb40],rdi
0x351d932f9092 786 4983c001 REX.W addq r8,0x1
;;; <@210,#166> store-named-field
0x351d932f9096 790 49ba0942908290160000 REX.W movq r10,0x169082904209 ;; object: 0x169082904209 <Map(FAST_SMI_ELEMENTS)>
0x351d932f90a0 800 4d8950ff REX.W movq [r8-0x1],r10
;;; <@212,#167> store-named-field
0x351d932f90a4 804 49897007 REX.W movq [r8+0x7],rsi
;;; <@214,#168> load-named-field
0x351d932f90a8 808 418b480b movl rcx,[r8+0xb]
;;; <@218,#179> -------------------- B25 (loop header) --------------------
;;; <@221,#180> compare-numeric-and-branch
0x351d932f90ac 812 3bcb cmpl rcx,rbx
0x351d932f90ae 814 0f8e14000000 jle 840 (0x351d932f90c8)
;;; <@222,#181> -------------------- B26 --------------------
;;; <@224,#182> sub-i
0x351d932f90b4 820 83e901 subl rcx,0x1
;;; <@226,#183> store-keyed
0x351d932f90b7 823 49ba7941c0bdff1f0000 REX.W movq r10,0x1fffbdc04179 ;; object: 0x1fffbdc04179 <the hole>
0x351d932f90c1 833 4d8954c80f REX.W movq [r8+rcx*8+0xf],r10
;;; <@229,#185> goto
0x351d932f90c6 838 ebe4 jmp 812 (0x351d932f90ac)
;;; <@230,#194> -------------------- B27 --------------------
;;; <@232,#195> gap
0x351d932f90c8 840 488bcb REX.W movq rcx,rbx
;;; <@234,#196> -------------------- B28 (loop header) --------------------
;;; <@237,#197> compare-numeric-and-branch
0x351d932f90cb 843 83f900 cmpl rcx,0x0
0x351d932f90ce 846 0f8e0f000000 jle 867 (0x351d932f90e3)
;;; <@238,#198> -------------------- B29 --------------------
;;; <@240,#199> sub-i
0x351d932f90d4 852 83e901 subl rcx,0x1
;;; <@242,#200> load-keyed
0x351d932f90d7 855 488b74ca0f REX.W movq rsi,[rdx+rcx*8+0xf]
;;; <@244,#201> store-keyed
0x351d932f90dc 860 498974c80f REX.W movq [r8+rcx*8+0xf],rsi
;;; <@247,#203> goto
0x351d932f90e1 865 ebe8 jmp 843 (0x351d932f90cb)
;;; <@248,#204> -------------------- B30 --------------------
;;; <@249,#204> gap
0x351d932f90e3 867 498bd0 REX.W movq rdx,r8
;;; <@250,#205> store-named-field
0x351d932f90e6 870 4889500f REX.W movq [rax+0xf],rdx
0x351d932f90ea 874 488d480f REX.W leaq rcx,[rax+0xf]
0x351d932f90ee 878 48c7c20000f0ff REX.W movq rdx,0xfff00000
0x351d932f90f5 885 4823d0 REX.W andq rdx,rax
0x351d932f90f8 888 f6420808 testb [rdx+0x8],0x8
0x351d932f90fc 892 7405 jz 899 (0x351d932f9103)
0x351d932f90fe 894 e87de3ffff call 0x351d932f7480 ;; code: STUB, RecordWriteStub, minor: 8480
;;; <@252,#208> gap
0x351d932f9103 899 498bd0 REX.W movq rdx,r8
;;; <@254,#210> -------------------- B31 --------------------
;;; <@256,#211> sub-i
0x351d932f9106 902 83eb01 subl rbx,0x1
0x351d932f9109 905 0f80c2020000 jo 1617 (0x351d932f93d1)
;;; <@258,#213> store-keyed
0x351d932f910f 911 49ba7941c0bdff1f0000 REX.W movq r10,0x1fffbdc04179 ;; object: 0x1fffbdc04179 <the hole>
0x351d932f9119 921 4c8954da0f REX.W movq [rdx+rbx*8+0xf],r10
;;; <@260,#214> store-named-field
0x351d932f911e 926 89581b movl [rax+0x1b],rbx
;;; <@263,#215> goto
0x351d932f9121 929 e9dc000000 jmp 1154 (0x351d932f9202)
;;; <@264,#216> -------------------- B32 (unreachable/replaced) --------------------
;;; <@268,#218> -------------------- B33 (unreachable/replaced) --------------------
;;; <@272,#134> -------------------- B34 --------------------
0x351d932f9126 934 488b45e0 REX.W movq rax,[rbp-0x20] ;; debug: position 828
;;; <@276,#220> -------------------- B35 --------------------
;;; <@278,#221> gap
0x351d932f912a 938 488b5d10 REX.W movq rbx,[rbp+0x10] ;; debug: position 876
;;; <@279,#221> branch
0x351d932f912e 942 493b5da8 REX.W cmpq rbx,[r13-0x58]
0x351d932f9132 946 0f84ca000000 jz 1154 (0x351d932f9202)
0x351d932f9138 952 493b5dc0 REX.W cmpq rbx,[r13-0x40]
0x351d932f913c 956 0f847b000000 jz 1085 (0x351d932f91bd)
0x351d932f9142 962 493b5dc8 REX.W cmpq rbx,[r13-0x38]
0x351d932f9146 966 0f84b6000000 jz 1154 (0x351d932f9202)
0x351d932f914c 972 493b5db8 REX.W cmpq rbx,[r13-0x48]
0x351d932f9150 976 0f84ac000000 jz 1154 (0x351d932f9202)
0x351d932f9156 982 4885db REX.W testq rbx,rbx
0x351d932f9159 985 0f84a3000000 jz 1154 (0x351d932f9202)
0x351d932f915f 991 f6c301 testb rbx,0x1
0x351d932f9162 994 0f8455000000 jz 1085 (0x351d932f91bd)
0x351d932f9168 1000 4c8b53ff REX.W movq r10,[rbx-0x1]
0x351d932f916c 1004 41f6420c10 testb [r10+0xc],0x10
0x351d932f9171 1009 0f858b000000 jnz 1154 (0x351d932f9202)
0x351d932f9177 1015 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d932f917c 1020 0f833b000000 jnc 1085 (0x351d932f91bd)
0x351d932f9182 1026 41807a0b80 cmpb [r10+0xb],0x80
0x351d932f9187 1031 7310 jnc 1049 (0x351d932f9199)
0x351d932f9189 1033 48837b0f00 REX.W cmpq [rbx+0xf],0x0
0x351d932f918e 1038 0f8529000000 jnz 1085 (0x351d932f91bd)
0x351d932f9194 1044 e969000000 jmp 1154 (0x351d932f9202)
0x351d932f9199 1049 41807a0b80 cmpb [r10+0xb],0x80
0x351d932f919e 1054 0f8419000000 jz 1085 (0x351d932f91bd)
0x351d932f91a4 1060 4d3b5500 REX.W cmpq r10,[r13+0x0]
0x351d932f91a8 1064 7513 jnz 1085 (0x351d932f91bd)
0x351d932f91aa 1066 0f57c0 xorps xmm0,xmm0
0x351d932f91ad 1069 660f2e4307 ucomisd xmm0,[rbx+0x7]
0x351d932f91b2 1074 0f844a000000 jz 1154 (0x351d932f9202)
0x351d932f91b8 1080 e900000000 jmp 1085 (0x351d932f91bd)
;;; <@280,#225> -------------------- B36 (unreachable/replaced) --------------------
;;; <@284,#238> -------------------- B37 (unreachable/replaced) --------------------
;;; <@288,#222> -------------------- B38 (unreachable/replaced) --------------------
;;; <@292,#228> -------------------- B39 --------------------
;;; <@293,#228> gap
0x351d932f91bd 1085 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 902
0x351d932f91c1 1089 488bd0 REX.W movq rdx,rax
;;; <@294,#230> load-named-generic
0x351d932f91c4 1092 48b9c10cc5bdff1f0000 REX.W movq rcx,0x1fffbdc50cc1 ;; debug: position 906
;; object: 0x1fffbdc50cc1 <String[4]: push>
0x351d932f91ce 1102 48bbd137911214170000 REX.W movq rbx,0x1714129137d1 ;; object: 0x1714129137d1 <FixedArray[27]>
0x351d932f91d8 1112 48b80000000015000000 REX.W movq rax,0x1500000000
0x351d932f91e2 1122 e8b9f0faff call 0x351d932a82a0 ;; code: LOAD_IC, DEFAULT
;;; <@296,#231> lazy-bailout
;;; <@298,#233> push-argument
0x351d932f91e7 1127 ff75e0 push [rbp-0x20]
;;; <@300,#233> push-argument
0x351d932f91ea 1130 49bac102911214170000 REX.W movq r10,0x1714129102c1 ;; object: 0x1714129102c1 <String[2]: ..>
0x351d932f91f4 1140 4152 push r10
;;; <@301,#233> gap
0x351d932f91f6 1142 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d932f91fa 1146 488bf8 REX.W movq rdi,rax
;;; <@302,#234> call-function
0x351d932f91fd 1149 e89ef2faff call 0x351d932a84a0 ;; code: STUB, CallFunctionStub, argc = 1
;;; <@304,#235> lazy-bailout
;;; <@308,#243> -------------------- B40 (unreachable/replaced) --------------------
;;; <@312,#279> -------------------- B41 (unreachable/replaced) --------------------
;;; <@316,#284> -------------------- B42 (unreachable/replaced) --------------------
;;; <@320,#80> -------------------- B43 (unreachable/replaced) --------------------
;;; <@324,#86> -------------------- B44 (unreachable/replaced) --------------------
;;; <@328,#287> -------------------- B45 --------------------
;;; <@329,#287> gap
0x351d932f9202 1154 488b45d8 REX.W movq rax,[rbp-0x28] ;; debug: position 872
;; debug: position 664
;;; <@330,#289> add-i
0x351d932f9206 1158 8d7801 leal rdi,[rax+0x1] ;; debug: position 665
;;; <@332,#292> gap
0x351d932f9209 1161 488b4d18 REX.W movq rcx,[rbp+0x18] ;; debug: position 630
0x351d932f920d 1165 4c8b4510 REX.W movq r8,[rbp+0x10]
0x351d932f9211 1169 488b5de0 REX.W movq rbx,[rbp-0x20]
;;; <@333,#292> goto
0x351d932f9215 1173 e9fcfbffff jmp 150 (0x351d932f8e16)
;;; <@334,#47> -------------------- B46 (unreachable/replaced) --------------------
;;; <@338,#293> -------------------- B47 --------------------
;;; <@339,#293> gap
0x351d932f921a 1178 488b45e0 REX.W movq rax,[rbp-0x20] ;; debug: position 978
;;; <@340,#296> return
0x351d932f921e 1182 488be5 REX.W movq rsp,rbp ;; debug: position 971
0x351d932f9221 1185 5d pop rbp
0x351d932f9222 1186 c21800 ret 0x18
;;; <@18,#13> -------------------- Deferred allocate --------------------
0x351d932f9225 1189 48bb0000000000000000 REX.W movq rbx,(nil) ;; debug: position 624
0x351d932f922f 1199 50 push rax
0x351d932f9230 1200 51 push rcx
0x351d932f9231 1201 52 push rdx
0x351d932f9232 1202 53 push rbx
0x351d932f9233 1203 56 push rsi
0x351d932f9234 1204 57 push rdi
0x351d932f9235 1205 4150 push r8
0x351d932f9237 1207 4151 push r9
0x351d932f9239 1209 4153 push r11
0x351d932f923b 1211 4154 push r12
0x351d932f923d 1213 4156 push r14
0x351d932f923f 1215 4157 push r15
0x351d932f9241 1217 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d932f9246 1222 49ba0000000020000000 REX.W movq r10,0x2000000000
0x351d932f9250 1232 4152 push r10
0x351d932f9252 1234 6a00 push 0x0
0x351d932f9254 1236 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d932f9258 1240 b802000000 movl rax,0x2
0x351d932f925d 1245 498d9d28a732ff REX.W leaq rbx,[r13-0xcd58d8]
0x351d932f9264 1252 e837d0e0ff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d932f9269 1257 4889442460 REX.W movq [rsp+0x60],rax
0x351d932f926e 1262 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d932f9273 1267 415f pop r15
0x351d932f9275 1269 415e pop r14
0x351d932f9277 1271 415c pop r12
0x351d932f9279 1273 415b pop r11
0x351d932f927b 1275 4159 pop r9
0x351d932f927d 1277 4158 pop r8
0x351d932f927f 1279 5f pop rdi
0x351d932f9280 1280 5e pop rsi
0x351d932f9281 1281 5b pop rbx
0x351d932f9282 1282 5a pop rdx
0x351d932f9283 1283 59 pop rcx
0x351d932f9284 1284 58 pop rax
0x351d932f9285 1285 e944fbffff jmp 78 (0x351d932f8dce)
;;; <@50,#52> -------------------- Deferred stack-check --------------------
0x351d932f928a 1290 50 push rax ;; debug: position 630
0x351d932f928b 1291 51 push rcx
0x351d932f928c 1292 52 push rdx
0x351d932f928d 1293 53 push rbx
0x351d932f928e 1294 56 push rsi
0x351d932f928f 1295 57 push rdi
0x351d932f9290 1296 4150 push r8
0x351d932f9292 1298 4151 push r9
0x351d932f9294 1300 4153 push r11
0x351d932f9296 1302 4154 push r12
0x351d932f9298 1304 4156 push r14
0x351d932f929a 1306 4157 push r15
0x351d932f929c 1308 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d932f92a1 1313 488b75f8 REX.W movq rsi,[rbp-0x8]
0x351d932f92a5 1317 33c0 xorl rax,rax
0x351d932f92a7 1319 498d9dc8a532ff REX.W leaq rbx,[r13-0xcd5a38]
0x351d932f92ae 1326 e8edcfe0ff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d932f92b3 1331 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d932f92b8 1336 415f pop r15
0x351d932f92ba 1338 415e pop r14
0x351d932f92bc 1340 415c pop r12
0x351d932f92be 1342 415b pop r11
0x351d932f92c0 1344 4159 pop r9
0x351d932f92c2 1346 4158 pop r8
0x351d932f92c4 1348 5f pop rdi
0x351d932f92c5 1349 5e pop rsi
0x351d932f92c6 1350 5b pop rbx
0x351d932f92c7 1351 5a pop rdx
0x351d932f92c8 1352 59 pop rcx
0x351d932f92c9 1353 58 pop rax
0x351d932f92ca 1354 e977fbffff jmp 198 (0x351d932f8e46)
;;; <@120,#268> -------------------- Deferred maybe-grow-elements --------------------
0x351d932f92cf 1359 48b80000000000000000 REX.W movq rax,(nil) ;; debug: position 949
0x351d932f92d9 1369 50 push rax
0x351d932f92da 1370 51 push rcx
0x351d932f92db 1371 52 push rdx
0x351d932f92dc 1372 53 push rbx
0x351d932f92dd 1373 56 push rsi
0x351d932f92de 1374 57 push rdi
0x351d932f92df 1375 4150 push r8
0x351d932f92e1 1377 4151 push r9
0x351d932f92e3 1379 4153 push r11
0x351d932f92e5 1381 4154 push r12
0x351d932f92e7 1383 4156 push r14
0x351d932f92e9 1385 4157 push r15
0x351d932f92eb 1387 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d932f92f0 1392 488bc3 REX.W movq rax,rbx
0x351d932f92f3 1395 488bda REX.W movq rbx,rdx
0x351d932f92f6 1398 48c1e320 REX.W shlq rbx, 32
0x351d932f92fa 1402 e861f7ffff call 0x351d932f8a60 ;; code: STUB, GrowArrayElementsStub, minor: 258
0x351d932f92ff 1407 4889442478 REX.W movq [rsp+0x78],rax
0x351d932f9304 1412 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d932f9309 1417 415f pop r15
0x351d932f930b 1419 415e pop r14
0x351d932f930d 1421 415c pop r12
0x351d932f930f 1423 415b pop r11
0x351d932f9311 1425 4159 pop r9
0x351d932f9313 1427 4158 pop r8
0x351d932f9315 1429 5f pop rdi
0x351d932f9316 1430 5e pop rsi
0x351d932f9317 1431 5b pop rbx
0x351d932f9318 1432 5a pop rdx
0x351d932f9319 1433 59 pop rcx
0x351d932f931a 1434 58 pop rax
0x351d932f931b 1435 a801 test al,0x1
0x351d932f931d 1437 0f84b3000000 jz 1622 (0x351d932f93d6)
0x351d932f9323 1443 e933fcffff jmp 475 (0x351d932f8f5b)
;;; <@208,#164> -------------------- Deferred allocate --------------------
0x351d932f9328 1448 49b80000000000000000 REX.W movq r8,(nil) ;; debug: position 852
0x351d932f9332 1458 50 push rax
0x351d932f9333 1459 51 push rcx
0x351d932f9334 1460 52 push rdx
0x351d932f9335 1461 53 push rbx
0x351d932f9336 1462 56 push rsi
0x351d932f9337 1463 57 push rdi
0x351d932f9338 1464 4150 push r8
0x351d932f933a 1466 4151 push r9
0x351d932f933c 1468 4153 push r11
0x351d932f933e 1470 4154 push r12
0x351d932f9340 1472 4156 push r14
0x351d932f9342 1474 4157 push r15
0x351d932f9344 1476 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d932f9349 1481 48c1e120 REX.W shlq rcx, 32
0x351d932f934d 1485 51 push rcx
0x351d932f934e 1486 6a00 push 0x0
0x351d932f9350 1488 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d932f9354 1492 b802000000 movl rax,0x2
0x351d932f9359 1497 498d9d28a732ff REX.W leaq rbx,[r13-0xcd58d8]
0x351d932f9360 1504 e83bcfe0ff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d932f9365 1509 4889442448 REX.W movq [rsp+0x48],rax
0x351d932f936a 1514 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d932f936f 1519 415f pop r15
0x351d932f9371 1521 415e pop r14
0x351d932f9373 1523 415c pop r12
0x351d932f9375 1525 415b pop r11
0x351d932f9377 1527 4159 pop r9
0x351d932f9379 1529 4158 pop r8
0x351d932f937b 1531 5f pop rdi
0x351d932f937c 1532 5e pop rsi
0x351d932f937d 1533 5b pop rbx
0x351d932f937e 1534 5a pop rdx
0x351d932f937f 1535 59 pop rcx
0x351d932f9380 1536 58 pop rax
0x351d932f9381 1537 e910fdffff jmp 790 (0x351d932f9096)
;;; -------------------- Jump table --------------------
0x351d932f9386 1542 e87fccb0ff call 0x351d92e0600a ;; debug: position 35328
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932f938b 1547 e884ccb0ff call 0x351d92e06014 ;; debug: position 35328
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x351d932f9390 1552 e893ccb0ff call 0x351d92e06028 ;; debug: position 52224
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 4
0x351d932f9395 1557 e898ccb0ff call 0x351d92e06032 ;; debug: position 73216
;; debug: deopt reason 'Smi'
;; deoptimization bailout 5
0x351d932f939a 1562 e89dccb0ff call 0x351d92e0603c ;; debug: position 76800
;; debug: deopt reason 'Smi'
;; deoptimization bailout 6
0x351d932f939f 1567 e8a2ccb0ff call 0x351d92e06046 ;; debug: position 76800
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 7
0x351d932f93a4 1572 e8bbccb0ff call 0x351d92e06064 ;; debug: position 185856
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 10
0x351d932f93a9 1577 e8c0ccb0ff call 0x351d92e0606e ;; debug: position 185856
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 11
0x351d932f93ae 1582 e8c5ccb0ff call 0x351d92e06078 ;; debug: position 185856
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 12
0x351d932f93b3 1587 e8caccb0ff call 0x351d92e06082 ;; debug: position 108032
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 13
0x351d932f93b8 1592 e8cfccb0ff call 0x351d92e0608c ;; debug: position 121344
;; debug: deopt reason 'overflow'
;; deoptimization bailout 14
0x351d932f93bd 1597 e8d4ccb0ff call 0x351d92e06096 ;; debug: position 115200
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 15
0x351d932f93c2 1602 e8d9ccb0ff call 0x351d92e060a0 ;; debug: position 123904
;; debug: deopt reason 'Smi'
;; deoptimization bailout 16
0x351d932f93c7 1607 e8deccb0ff call 0x351d92e060aa ;; debug: position 123904
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 17
0x351d932f93cc 1612 e8edccb0ff call 0x351d92e060be ;; debug: position 136192
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 19
0x351d932f93d1 1617 e8f2ccb0ff call 0x351d92e060c8 ;; debug: position 136192
;; debug: deopt reason 'overflow'
;; deoptimization bailout 20
0x351d932f93d6 1622 e80bcdb0ff call 0x351d92e060e6 ;; debug: position 185856
;; debug: deopt reason 'Smi'
;; deoptimization bailout 23
0x351d932f93db 1627 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 24)
index ast id argc pc
0 3 0 35
1 26 0 -1
2 26 0 -1
3 30 0 198
4 30 0 -1
5 30 0 -1
6 95 0 -1
7 95 0 -1
8 95 0 349
9 92 0 382
10 115 0 -1
11 115 0 -1
12 115 0 -1
13 114 0 -1
14 133 0 -1
15 154 0 -1
16 154 0 -1
17 154 0 -1
18 154 0 680
19 129 0 -1
20 129 0 -1
21 209 0 1127
22 202 0 1154
23 115 0 -1
Safepoints (size = 118)
0x351d932f8da3 35 00001 (sp -> fp) 0
0x351d932f8ed3 339 01011 (sp -> fp) 8
0x351d932f8ef4 372 01011 (sp -> fp) 9
0x351d932f901e 670 00011 (sp -> fp) 18
0x351d932f91e7 1127 00011 (sp -> fp) 21
0x351d932f9202 1154 00011 (sp -> fp) 22
0x351d932f9269 1257 00001 | rbx (sp -> fp) <none> argc: 2
0x351d932f92b3 1331 00011 | rcx | rbx | r8 (sp -> fp) 3
0x351d932f92ff 1407 01011 | rcx | rbx | rsi (sp -> fp) <none>
0x351d932f9365 1509 00011 | rax | rdx | r8 (sp -> fp) <none> argc: 2
RelocInfo (size = 2286)
0x351d932f8d8a position (586)
0x351d932f8d8a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932f8d8a comment (;;; <@2,#1> context)
0x351d932f8d8e comment (;;; <@3,#1> gap)
0x351d932f8d92 comment (;;; <@12,#9> -------------------- B1 --------------------)
0x351d932f8d92 comment (;;; <@13,#9> gap)
0x351d932f8d95 comment (;;; <@14,#11> stack-check)
0x351d932f8d9f code target (BUILTIN) (0x351d93134ee0)
0x351d932f8da3 comment (;;; <@16,#11> lazy-bailout)
0x351d932f8da3 comment (;;; <@18,#13> allocate)
0x351d932f8da3 position (624)
0x351d932f8dce comment (;;; <@19,#13> gap)
0x351d932f8dd2 comment (;;; <@20,#15> store-named-field)
0x351d932f8dd4 embedded object (0x1fffbdc04131 <FixedArray[0]>)
0x351d932f8de0 comment (;;; <@22,#17> store-named-field)
0x351d932f8de2 embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d932f8dee comment (;;; <@24,#19> store-named-field)
0x351d932f8df0 embedded object (0x1fffbdc04131 <FixedArray[0]>)
0x351d932f8dfc comment (;;; <@26,#21> store-named-field)
0x351d932f8e03 comment (;;; <@27,#21> gap)
0x351d932f8e07 comment (;;; <@28,#40> check-non-smi)
0x351d932f8e07 position (655)
0x351d932f8e10 comment (;;; <@30,#57> check-maps)
0x351d932f8e10 position (688)
0x351d932f8e10 comment (;;; <@32,#59> check-maps)
0x351d932f8e10 comment (;;; <@34,#36> gap)
0x351d932f8e10 position (630)
0x351d932f8e16 position (646)
0x351d932f8e16 comment (;;; <@36,#37> -------------------- B2 (loop header) --------------------)
0x351d932f8e1a comment (;;; <@38,#41> check-maps)
0x351d932f8e1a position (655)
0x351d932f8e1c embedded object (0x169082907281 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932f8e2e comment (;;; <@40,#42> load-named-field)
0x351d932f8e31 position (648)
0x351d932f8e31 comment (;;; <@43,#43> compare-numeric-and-branch)
0x351d932f8e39 comment (;;; <@44,#44> -------------------- B3 (unreachable/replaced) --------------------)
0x351d932f8e39 position (630)
0x351d932f8e39 comment (;;; <@48,#50> -------------------- B4 --------------------)
0x351d932f8e39 comment (;;; <@50,#52> stack-check)
0x351d932f8e46 comment (;;; <@52,#60> load-named-field)
0x351d932f8e46 position (688)
0x351d932f8e4a comment (;;; <@54,#62> bounds-check)
0x351d932f8e52 comment (;;; <@56,#63> load-keyed)
0x351d932f8e63 embedded object (0x1fffbdc041b9 <undefined>)
0x351d932f8e6b comment (;;; <@57,#63> gap)
0x351d932f8e6f position (729)
0x351d932f8e6f comment (;;; <@59,#66> branch)
0x351d932f8e9f position (73216)
0x351d932f8e9f deopt reason (unexpected object)
0x351d932f8ea0 runtime entry (deoptimization bailout 5)
0x351d932f8ea4 comment (;;; <@60,#70> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932f8ea4 comment (;;; <@64,#67> -------------------- B6 (unreachable/replaced) --------------------)
0x351d932f8ea4 position (734)
0x351d932f8ea4 comment (;;; <@68,#73> -------------------- B7 --------------------)
0x351d932f8ea4 comment (;;; <@70,#76> check-non-smi)
0x351d932f8ea4 position (736)
0x351d932f8eae comment (;;; <@72,#77> check-instance-type)
0x351d932f8ebd comment (;;; <@74,#75> constant-t)
0x351d932f8ebd position (740)
0x351d932f8ebf embedded object (0x1fffbdc35211 <String[1]: .>)
0x351d932f8ec7 comment (;;; <@76,#79> gap)
0x351d932f8ec7 position (736)
0x351d932f8ece comment (;;; <@77,#79> string-compare-and-branch)
0x351d932f8ecf code target (COMPARE_IC) (0x351d9311f200)
0x351d932f8edd comment (;;; <@78,#79> lazy-bailout)
0x351d932f8edd comment (;;; <@80,#83> -------------------- B8 (unreachable/replaced) --------------------)
0x351d932f8edd position (770)
0x351d932f8edd comment (;;; <@84,#89> -------------------- B9 --------------------)
0x351d932f8edd comment (;;; <@86,#91> constant-t)
0x351d932f8edd position (776)
0x351d932f8edf embedded object (0x1714129102c1 <String[2]: ..>)
0x351d932f8ee7 comment (;;; <@88,#95> gap)
0x351d932f8ee7 position (772)
0x351d932f8eef comment (;;; <@89,#95> string-compare-and-branch)
0x351d932f8ef0 code target (COMPARE_IC) (0x351d9311f200)
0x351d932f8efe comment (;;; <@90,#95> lazy-bailout)
0x351d932f8efe comment (;;; <@92,#99> -------------------- B10 (unreachable/replaced) --------------------)
0x351d932f8efe position (945)
0x351d932f8efe comment (;;; <@96,#246> -------------------- B11 --------------------)
0x351d932f8efe comment (;;; <@97,#246> gap)
0x351d932f8f02 comment (;;; <@98,#249> check-maps)
0x351d932f8f02 position (949)
0x351d932f8f04 embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d932f8f16 comment (;;; <@100,#258> load-named-field)
0x351d932f8f19 comment (;;; <@102,#261> load-named-field)
0x351d932f8f1d comment (;;; <@104,#262> check-maps)
0x351d932f8f1f embedded object (0x169082904209 <Map(FAST_SMI_ELEMENTS)>)
0x351d932f8f31 comment (;;; <@106,#263> load-named-field)
0x351d932f8f34 comment (;;; <@109,#265> compare-numeric-and-branch)
0x351d932f8f3c comment (;;; <@110,#271> -------------------- B12 --------------------)
0x351d932f8f3c comment (;;; <@112,#272> bounds-check)
0x351d932f8f44 comment (;;; <@115,#273> goto)
0x351d932f8f49 comment (;;; <@116,#266> -------------------- B13 --------------------)
0x351d932f8f49 comment (;;; <@118,#267> load-named-field)
0x351d932f8f4c comment (;;; <@119,#267> gap)
0x351d932f8f50 comment (;;; <@120,#268> maybe-grow-elements)
0x351d932f8f5b comment (;;; <@122,#269> add-i)
0x351d932f8f5e comment (;;; <@124,#298> smi-tag)
0x351d932f8f64 comment (;;; <@126,#270> store-named-field)
0x351d932f8f68 comment (;;; <@128,#274> gap)
0x351d932f8f6b comment (;;; <@130,#276> -------------------- B14 --------------------)
0x351d932f8f6b comment (;;; <@131,#276> gap)
0x351d932f8f6f comment (;;; <@132,#277> store-keyed)
0x351d932f8f9e code target (STUB) (0x351d932f69e0)
0x351d932f8fa2 position (766)
0x351d932f8fa2 comment (;;; <@135,#283> goto)
0x351d932f8fa7 position (772)
0x351d932f8fa7 comment (;;; <@136,#96> -------------------- B15 --------------------)
0x351d932f8fab position (794)
0x351d932f8fab comment (;;; <@140,#102> -------------------- B16 --------------------)
0x351d932f8fab comment (;;; <@142,#105> check-maps)
0x351d932f8fab position (797)
0x351d932f8fad embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d932f8fbf comment (;;; <@144,#106> load-named-field)
0x351d932f8fc2 comment (;;; <@147,#107> branch)
0x351d932f8fca comment (;;; <@148,#111> -------------------- B17 --------------------)
0x351d932f8fca comment (;;; <@150,#113> gap)
0x351d932f8fcd comment (;;; <@151,#113> goto)
0x351d932f8fd2 comment (;;; <@152,#108> -------------------- B18 (unreachable/replaced) --------------------)
0x351d932f8fd2 position (808)
0x351d932f8fd2 comment (;;; <@156,#114> -------------------- B19 --------------------)
0x351d932f8fd2 comment (;;; <@157,#114> gap)
0x351d932f8fd5 comment (;;; <@158,#121> sub-i)
0x351d932f8fd5 position (823)
0x351d932f8fde comment (;;; <@159,#121> gap)
0x351d932f8fe2 comment (;;; <@160,#125> load-named-field)
0x351d932f8fe2 position (811)
0x351d932f8fe6 comment (;;; <@162,#127> bounds-check)
0x351d932f8fee comment (;;; <@164,#128> load-keyed)
0x351d932f8ff3 comment (;;; <@166,#130> check-non-smi)
0x351d932f8ff3 position (828)
0x351d932f8ffc comment (;;; <@168,#131> check-instance-type)
0x351d932f900b comment (;;; <@170,#91> constant-t)
0x351d932f900b position (776)
0x351d932f900d embedded object (0x1714129102c1 <String[2]: ..>)
0x351d932f9015 comment (;;; <@172,#133> gap)
0x351d932f9015 position (828)
0x351d932f9019 comment (;;; <@173,#133> string-compare-and-branch)
0x351d932f901a code target (COMPARE_IC) (0x351d9311f200)
0x351d932f9028 comment (;;; <@174,#133> lazy-bailout)
0x351d932f9028 comment (;;; <@176,#137> -------------------- B20 (unreachable/replaced) --------------------)
0x351d932f9028 position (848)
0x351d932f9028 comment (;;; <@180,#140> -------------------- B21 --------------------)
0x351d932f9028 comment (;;; <@181,#140> gap)
0x351d932f902c comment (;;; <@182,#149> load-named-field)
0x351d932f902c position (852)
0x351d932f902f comment (;;; <@185,#151> compare-numeric-and-branch)
0x351d932f9038 comment (;;; <@186,#152> -------------------- B22 --------------------)
0x351d932f9038 comment (;;; <@188,#153> load-named-field)
0x351d932f903c comment (;;; <@191,#154> cmp-map-and-branch)
0x351d932f903e embedded object (0x169082904891 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932f9050 comment (;;; <@192,#206> -------------------- B23 (unreachable/replaced) --------------------)
0x351d932f9050 comment (;;; <@196,#155> -------------------- B24 --------------------)
0x351d932f9050 comment (;;; <@198,#156> load-named-field)
0x351d932f9053 comment (;;; <@200,#158> bounds-check)
0x351d932f905f comment (;;; <@202,#299> smi-tag)
0x351d932f9065 comment (;;; <@204,#161> mul-i)
0x351d932f9068 comment (;;; <@206,#163> add-i)
0x351d932f906b comment (;;; <@208,#164> allocate)
0x351d932f9096 comment (;;; <@210,#166> store-named-field)
0x351d932f9098 embedded object (0x169082904209 <Map(FAST_SMI_ELEMENTS)>)
0x351d932f90a4 comment (;;; <@212,#167> store-named-field)
0x351d932f90a8 comment (;;; <@214,#168> load-named-field)
0x351d932f90ac comment (;;; <@218,#179> -------------------- B25 (loop header) --------------------)
0x351d932f90ac comment (;;; <@221,#180> compare-numeric-and-branch)
0x351d932f90b4 comment (;;; <@222,#181> -------------------- B26 --------------------)
0x351d932f90b4 comment (;;; <@224,#182> sub-i)
0x351d932f90b7 comment (;;; <@226,#183> store-keyed)
0x351d932f90b9 embedded object (0x1fffbdc04179 <the hole>)
0x351d932f90c6 comment (;;; <@229,#185> goto)
0x351d932f90c8 comment (;;; <@230,#194> -------------------- B27 --------------------)
0x351d932f90c8 comment (;;; <@232,#195> gap)
0x351d932f90cb comment (;;; <@234,#196> -------------------- B28 (loop header) --------------------)
0x351d932f90cb comment (;;; <@237,#197> compare-numeric-and-branch)
0x351d932f90d4 comment (;;; <@238,#198> -------------------- B29 --------------------)
0x351d932f90d4 comment (;;; <@240,#199> sub-i)
0x351d932f90d7 comment (;;; <@242,#200> load-keyed)
0x351d932f90dc comment (;;; <@244,#201> store-keyed)
0x351d932f90e1 comment (;;; <@247,#203> goto)
0x351d932f90e3 comment (;;; <@248,#204> -------------------- B30 --------------------)
0x351d932f90e3 comment (;;; <@249,#204> gap)
0x351d932f90e6 comment (;;; <@250,#205> store-named-field)
0x351d932f90ff code target (STUB) (0x351d932f7480)
0x351d932f9103 comment (;;; <@252,#208> gap)
0x351d932f9106 comment (;;; <@254,#210> -------------------- B31 --------------------)
0x351d932f9106 comment (;;; <@256,#211> sub-i)
0x351d932f910f comment (;;; <@258,#213> store-keyed)
0x351d932f9111 embedded object (0x1fffbdc04179 <the hole>)
0x351d932f911e comment (;;; <@260,#214> store-named-field)
0x351d932f9121 comment (;;; <@263,#215> goto)
0x351d932f9126 comment (;;; <@264,#216> -------------------- B32 (unreachable/replaced) --------------------)
0x351d932f9126 comment (;;; <@268,#218> -------------------- B33 (unreachable/replaced) --------------------)
0x351d932f9126 position (828)
0x351d932f9126 comment (;;; <@272,#134> -------------------- B34 --------------------)
0x351d932f912a position (876)
0x351d932f912a comment (;;; <@276,#220> -------------------- B35 --------------------)
0x351d932f912a comment (;;; <@278,#221> gap)
0x351d932f912e comment (;;; <@279,#221> branch)
0x351d932f91bd comment (;;; <@280,#225> -------------------- B36 (unreachable/replaced) --------------------)
0x351d932f91bd comment (;;; <@284,#238> -------------------- B37 (unreachable/replaced) --------------------)
0x351d932f91bd comment (;;; <@288,#222> -------------------- B38 (unreachable/replaced) --------------------)
0x351d932f91bd position (902)
0x351d932f91bd comment (;;; <@292,#228> -------------------- B39 --------------------)
0x351d932f91bd comment (;;; <@293,#228> gap)
0x351d932f91c4 comment (;;; <@294,#230> load-named-generic)
0x351d932f91c4 position (906)
0x351d932f91c6 embedded object (0x1fffbdc50cc1 <String[4]: push>)
0x351d932f91d0 embedded object (0x1714129137d1 <FixedArray[27]>)
0x351d932f91e3 code target (LOAD_IC) (0x351d932a82a0)
0x351d932f91e7 comment (;;; <@296,#231> lazy-bailout)
0x351d932f91e7 comment (;;; <@298,#233> push-argument)
0x351d932f91ea comment (;;; <@300,#233> push-argument)
0x351d932f91ec embedded object (0x1714129102c1 <String[2]: ..>)
0x351d932f91f6 comment (;;; <@301,#233> gap)
0x351d932f91fd comment (;;; <@302,#234> call-function)
0x351d932f91fe code target (STUB) (0x351d932a84a0)
0x351d932f9202 comment (;;; <@304,#235> lazy-bailout)
0x351d932f9202 position (872)
0x351d932f9202 comment (;;; <@308,#243> -------------------- B40 (unreachable/replaced) --------------------)
0x351d932f9202 comment (;;; <@312,#279> -------------------- B41 (unreachable/replaced) --------------------)
0x351d932f9202 comment (;;; <@316,#284> -------------------- B42 (unreachable/replaced) --------------------)
0x351d932f9202 comment (;;; <@320,#80> -------------------- B43 (unreachable/replaced) --------------------)
0x351d932f9202 comment (;;; <@324,#86> -------------------- B44 (unreachable/replaced) --------------------)
0x351d932f9202 position (664)
0x351d932f9202 comment (;;; <@328,#287> -------------------- B45 --------------------)
0x351d932f9202 comment (;;; <@329,#287> gap)
0x351d932f9206 comment (;;; <@330,#289> add-i)
0x351d932f9206 position (665)
0x351d932f9209 comment (;;; <@332,#292> gap)
0x351d932f9209 position (630)
0x351d932f9215 comment (;;; <@333,#292> goto)
0x351d932f921a comment (;;; <@334,#47> -------------------- B46 (unreachable/replaced) --------------------)
0x351d932f921a position (978)
0x351d932f921a comment (;;; <@338,#293> -------------------- B47 --------------------)
0x351d932f921a comment (;;; <@339,#293> gap)
0x351d932f921e comment (;;; <@340,#296> return)
0x351d932f921e position (971)
0x351d932f9225 position (624)
0x351d932f9225 comment (;;; <@18,#13> -------------------- Deferred allocate --------------------)
0x351d932f9265 code target (STUB) (0x351d931062a0)
0x351d932f928a position (630)
0x351d932f928a comment (;;; <@50,#52> -------------------- Deferred stack-check --------------------)
0x351d932f92af code target (STUB) (0x351d931062a0)
0x351d932f92cf position (949)
0x351d932f92cf comment (;;; <@120,#268> -------------------- Deferred maybe-grow-elements --------------------)
0x351d932f92fb code target (STUB) (0x351d932f8a60)
0x351d932f9328 position (852)
0x351d932f9328 comment (;;; <@208,#164> -------------------- Deferred allocate --------------------)
0x351d932f9361 code target (STUB) (0x351d931062a0)
0x351d932f9386 comment (;;; -------------------- Jump table --------------------)
0x351d932f9386 position (35328)
0x351d932f9386 deopt reason (Smi)
0x351d932f9387 runtime entry (deoptimization bailout 1)
0x351d932f938b position (35328)
0x351d932f938b deopt reason (wrong map)
0x351d932f938c runtime entry (deoptimization bailout 2)
0x351d932f9390 position (52224)
0x351d932f9390 deopt reason (out of bounds)
0x351d932f9391 runtime entry (deoptimization bailout 4)
0x351d932f9395 position (73216)
0x351d932f9395 deopt reason (Smi)
0x351d932f9396 runtime entry (deoptimization bailout 5)
0x351d932f939a position (76800)
0x351d932f939a deopt reason (Smi)
0x351d932f939b runtime entry (deoptimization bailout 6)
0x351d932f939f position (76800)
0x351d932f939f deopt reason (wrong instance type)
0x351d932f93a0 runtime entry (deoptimization bailout 7)
0x351d932f93a4 position (185856)
0x351d932f93a4 deopt reason (wrong map)
0x351d932f93a5 runtime entry (deoptimization bailout 10)
0x351d932f93a9 position (185856)
0x351d932f93a9 deopt reason (wrong map)
0x351d932f93aa runtime entry (deoptimization bailout 11)
0x351d932f93ae position (185856)
0x351d932f93ae deopt reason (out of bounds)
0x351d932f93af runtime entry (deoptimization bailout 12)
0x351d932f93b3 position (108032)
0x351d932f93b3 deopt reason (wrong map)
0x351d932f93b4 runtime entry (deoptimization bailout 13)
0x351d932f93b8 position (121344)
0x351d932f93b8 deopt reason (overflow)
0x351d932f93b9 runtime entry (deoptimization bailout 14)
0x351d932f93bd position (115200)
0x351d932f93bd deopt reason (out of bounds)
0x351d932f93be runtime entry (deoptimization bailout 15)
0x351d932f93c2 position (123904)
0x351d932f93c2 deopt reason (Smi)
0x351d932f93c3 runtime entry (deoptimization bailout 16)
0x351d932f93c7 position (123904)
0x351d932f93c7 deopt reason (wrong instance type)
0x351d932f93c8 runtime entry (deoptimization bailout 17)
0x351d932f93cc position (136192)
0x351d932f93cc deopt reason (out of bounds)
0x351d932f93cd runtime entry (deoptimization bailout 19)
0x351d932f93d1 position (136192)
0x351d932f93d1 deopt reason (overflow)
0x351d932f93d2 runtime entry (deoptimization bailout 20)
0x351d932f93d6 position (185856)
0x351d932f93d6 deopt reason (Smi)
0x351d932f93d7 runtime entry (deoptimization bailout 23)
0x351d932f93dc comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (debugs.(anonymous function)) id{26,0} ---
() {}
--- END ---
--- Raw source ---
() {};
--- Optimized code ---
optimization_id = 26
source_position = 2660
kind = OPTIMIZED_FUNCTION
name = debugs.(anonymous function)
stack_slots = 1
compiler = crankshaft
Instructions (size = 71)
0x351d932f97e0 0 55 push rbp
0x351d932f97e1 1 4889e5 REX.W movq rbp,rsp
0x351d932f97e4 4 56 push rsi
0x351d932f97e5 5 57 push rdi
0x351d932f97e6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932f97ea 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 2660
;;; <@3,#1> gap
0x351d932f97ee 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@8,#7> -------------------- B1 --------------------
;;; <@9,#7> gap
0x351d932f97f2 18 488bf0 REX.W movq rsi,rax
;;; <@10,#9> stack-check
0x351d932f97f5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932f97fc 28 7305 jnc 35 (0x351d932f9803)
0x351d932f97fe 30 e8ddb6e3ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@12,#9> lazy-bailout
;;; <@14,#4> constant-t
0x351d932f9803 35 48b8b941c0bdff1f0000 REX.W movq rax,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
;;; <@16,#11> return
0x351d932f980d 45 488be5 REX.W movq rsp,rbp
0x351d932f9810 48 5d pop rbp
0x351d932f9811 49 c20800 ret 0x8
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 1)
index ast id argc pc
0 3 0 35
Safepoints (size = 19)
0x351d932f9803 35 1 (sp -> fp) 0
RelocInfo (size = 119)
0x351d932f97ea position (2660)
0x351d932f97ea comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932f97ea comment (;;; <@2,#1> context)
0x351d932f97ee comment (;;; <@3,#1> gap)
0x351d932f97f2 comment (;;; <@8,#7> -------------------- B1 --------------------)
0x351d932f97f2 comment (;;; <@9,#7> gap)
0x351d932f97f5 comment (;;; <@10,#9> stack-check)
0x351d932f97ff code target (BUILTIN) (0x351d93134ee0)
0x351d932f9803 comment (;;; <@12,#9> lazy-bailout)
0x351d932f9803 comment (;;; <@14,#4> constant-t)
0x351d932f9805 embedded object (0x1fffbdc041b9 <undefined>)
0x351d932f980d comment (;;; <@16,#11> return)
0x351d932f9814 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (PropertyDescriptor_HasGetter) id{27,0} ---
(){
return this.hasGetter_;
}
--- END ---
--- Raw source ---
(){
return this.hasGetter_;
},
--- Optimized code ---
optimization_id = 27
source_position = 8927
kind = OPTIMIZED_FUNCTION
name = PropertyDescriptor_HasGetter
stack_slots = 1
compiler = crankshaft
Instructions (size = 107)
0x351d932faa80 0 55 push rbp
0x351d932faa81 1 4889e5 REX.W movq rbp,rsp
0x351d932faa84 4 56 push rsi
0x351d932faa85 5 57 push rdi
0x351d932faa86 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932faa8a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 8927
;;; <@3,#1> gap
0x351d932faa8e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@8,#8> -------------------- B1 --------------------
;;; <@9,#8> gap
0x351d932faa92 18 488bf0 REX.W movq rsi,rax
;;; <@10,#10> stack-check
0x351d932faa95 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932faa9c 28 7305 jnc 35 (0x351d932faaa3)
0x351d932faa9e 30 e83da4e3ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@12,#10> lazy-bailout
;;; <@13,#10> gap
0x351d932faaa3 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@14,#14> check-non-smi
0x351d932faaa7 39 a801 test al,0x1 ;; debug: position 8942
0x351d932faaa9 41 0f841f000000 jz 78 (0x351d932faace)
;;; <@16,#15> check-maps
0x351d932faaaf 47 49bae12ea188a4140000 REX.W movq r10,0x14a488a12ee1 ;; object: 0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932faab9 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932faabd 61 0f8510000000 jnz 83 (0x351d932faad3)
;;; <@18,#16> load-named-field
0x351d932faac3 67 488b405f REX.W movq rax,[rax+0x5f]
;;; <@20,#18> return
0x351d932faac7 71 488be5 REX.W movq rsp,rbp ;; debug: position 8931
0x351d932faaca 74 5d pop rbp
0x351d932faacb 75 c20800 ret 0x8
;;; -------------------- Jump table --------------------
0x351d932faace 78 e837b5b0ff call 0x351d92e0600a ;; debug: position 7680
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932faad3 83 e83cb5b0ff call 0x351d92e06014 ;; debug: position 7680
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 3)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
Safepoints (size = 19)
0x351d932faaa3 35 1 (sp -> fp) 0
RelocInfo (size = 184)
0x351d932faa8a position (8927)
0x351d932faa8a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932faa8a comment (;;; <@2,#1> context)
0x351d932faa8e comment (;;; <@3,#1> gap)
0x351d932faa92 comment (;;; <@8,#8> -------------------- B1 --------------------)
0x351d932faa92 comment (;;; <@9,#8> gap)
0x351d932faa95 comment (;;; <@10,#10> stack-check)
0x351d932faa9f code target (BUILTIN) (0x351d93134ee0)
0x351d932faaa3 comment (;;; <@12,#10> lazy-bailout)
0x351d932faaa3 comment (;;; <@13,#10> gap)
0x351d932faaa7 comment (;;; <@14,#14> check-non-smi)
0x351d932faaa7 position (8942)
0x351d932faaaf comment (;;; <@16,#15> check-maps)
0x351d932faab1 embedded object (0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932faac3 comment (;;; <@18,#16> load-named-field)
0x351d932faac7 comment (;;; <@20,#18> return)
0x351d932faac7 position (8931)
0x351d932faace comment (;;; -------------------- Jump table --------------------)
0x351d932faace position (7680)
0x351d932faace deopt reason (Smi)
0x351d932faacf runtime entry (deoptimization bailout 1)
0x351d932faad3 position (7680)
0x351d932faad3 deopt reason (wrong map)
0x351d932faad4 runtime entry (deoptimization bailout 2)
0x351d932faad8 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (IsAccessorDescriptor) id{28,0} ---
(G){
if((G===(void 0)))return false;
return G.hasGetter()||G.hasSetter();
}
--- END ---
--- Raw source ---
(G){
if((G===(void 0)))return false;
return G.hasGetter()||G.hasSetter();
}
--- Optimized code ---
optimization_id = 28
source_position = 4683
kind = OPTIMIZED_FUNCTION
name = IsAccessorDescriptor
stack_slots = 1
compiler = crankshaft
Instructions (size = 225)
0x351d932fbde0 0 55 push rbp
0x351d932fbde1 1 4889e5 REX.W movq rbp,rsp
0x351d932fbde4 4 56 push rsi
0x351d932fbde5 5 57 push rdi
0x351d932fbde6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932fbdea 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 4683
;;; <@3,#1> gap
0x351d932fbdee 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932fbdf2 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932fbdf5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932fbdfc 28 7305 jnc 35 (0x351d932fbe03)
0x351d932fbdfe 30 e8dd90e3ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@16,#12> gap
0x351d932fbe03 35 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 4693
;;; <@17,#12> cmp-object-eq-and-branch
0x351d932fbe07 39 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d932fbe11 49 493bc2 REX.W cmpq rax,r10
0x351d932fbe14 52 0f8462000000 jz 156 (0x351d932fbe7c)
;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------
;;; <@22,#23> -------------------- B3 --------------------
;;; <@24,#24> check-non-smi
0x351d932fbe1a 58 a801 test al,0x1 ;; debug: position 4729
0x351d932fbe1c 60 0f846b000000 jz 173 (0x351d932fbe8d)
;;; <@26,#25> check-maps
0x351d932fbe22 66 49bae12ea188a4140000 REX.W movq r10,0x14a488a12ee1 ;; object: 0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932fbe2c 76 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932fbe30 80 0f855c000000 jnz 178 (0x351d932fbe92)
;;; <@28,#27> check-maps
;;; <@30,#30> push-argument
0x351d932fbe36 86 50 push rax
;;; <@32,#29> constant-t
0x351d932fbe37 87 48bf4948cabdff1f0000 REX.W movq rdi,0x1fffbdca4849 ;; object: 0x1fffbdca4849 <JS Function PropertyDescriptor_HasGetter (SharedFunctionInfo 0x1fffbdc3de29)>
;;; <@34,#31> call-js-function
0x351d932fbe41 97 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932fbe45 101 ff5717 call [rdi+0x17]
;;; <@36,#32> lazy-bailout
;;; <@39,#33> branch
0x351d932fbe48 104 493b45c0 REX.W cmpq rax,[r13-0x40] ;; debug: position 4740
0x351d932fbe4c 108 0f8423000000 jz 149 (0x351d932fbe75)
0x351d932fbe52 114 493b45c8 REX.W cmpq rax,[r13-0x38]
0x351d932fbe56 118 0f8405000000 jz 129 (0x351d932fbe61)
0x351d932fbe5c 124 e8c7a1b0ff call 0x351d92e06028 ;; debug: position 29184
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 4
;;; <@40,#34> -------------------- B4 --------------------
;;; <@42,#36> check-maps
;;; <@44,#41> push-argument
0x351d932fbe61 129 ff7510 push [rbp+0x10] ;; debug: position 4744
;;; <@46,#40> constant-t
0x351d932fbe64 132 48bf2149cabdff1f0000 REX.W movq rdi,0x1fffbdca4921 ;; object: 0x1fffbdca4921 <JS Function PropertyDescriptor_HasSetter (SharedFunctionInfo 0x1fffbdc3e169)>
;;; <@48,#42> call-js-function
0x351d932fbe6e 142 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932fbe72 146 ff5717 call [rdi+0x17]
;;; <@50,#43> lazy-bailout
;;; <@54,#44> -------------------- B5 (unreachable/replaced) --------------------
;;; <@58,#50> -------------------- B6 --------------------
;;; <@60,#52> return
0x351d932fbe75 149 488be5 REX.W movq rsp,rbp ;; debug: position 4740
;; debug: position 4720
0x351d932fbe78 152 5d pop rbp
0x351d932fbe79 153 c21000 ret 0x10
;;; <@62,#13> -------------------- B7 (unreachable/replaced) --------------------
;;; <@66,#19> -------------------- B8 --------------------
;;; <@68,#20> constant-t
0x351d932fbe7c 156 48b85142c0bdff1f0000 REX.W movq rax,0x1fffbdc04251 ;; debug: position 4713
;; object: 0x1fffbdc04251 <false>
;;; <@70,#22> return
0x351d932fbe86 166 488be5 REX.W movq rsp,rbp ;; debug: position 4706
0x351d932fbe89 169 5d pop rbp
0x351d932fbe8a 170 c21000 ret 0x10
;;; -------------------- Jump table --------------------
0x351d932fbe8d 173 e878a1b0ff call 0x351d92e0600a ;; debug: position 23552
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932fbe92 178 e87da1b0ff call 0x351d92e06014 ;; debug: position 23552
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x351d932fbe97 183 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 6)
index ast id argc pc
0 3 0 35
1 6 0 -1
2 6 0 -1
3 27 0 104
4 27 0 -1
5 41 0 149
Safepoints (size = 41)
0x351d932fbe03 35 1 (sp -> fp) 0
0x351d932fbe48 104 1 (sp -> fp) 3
0x351d932fbe75 149 1 (sp -> fp) 5
RelocInfo (size = 441)
0x351d932fbdea position (4683)
0x351d932fbdea comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932fbdea comment (;;; <@2,#1> context)
0x351d932fbdee comment (;;; <@3,#1> gap)
0x351d932fbdf2 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932fbdf2 comment (;;; <@11,#8> gap)
0x351d932fbdf5 comment (;;; <@12,#10> stack-check)
0x351d932fbdff code target (BUILTIN) (0x351d93134ee0)
0x351d932fbe03 comment (;;; <@14,#10> lazy-bailout)
0x351d932fbe03 comment (;;; <@16,#12> gap)
0x351d932fbe03 position (4693)
0x351d932fbe07 comment (;;; <@17,#12> cmp-object-eq-and-branch)
0x351d932fbe09 embedded object (0x1fffbdc041b9 <undefined>)
0x351d932fbe1a comment (;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------)
0x351d932fbe1a position (4729)
0x351d932fbe1a comment (;;; <@22,#23> -------------------- B3 --------------------)
0x351d932fbe1a comment (;;; <@24,#24> check-non-smi)
0x351d932fbe22 comment (;;; <@26,#25> check-maps)
0x351d932fbe24 embedded object (0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932fbe36 comment (;;; <@28,#27> check-maps)
0x351d932fbe36 comment (;;; <@30,#30> push-argument)
0x351d932fbe37 comment (;;; <@32,#29> constant-t)
0x351d932fbe39 embedded object (0x1fffbdca4849 <JS Function PropertyDescriptor_HasGetter (SharedFunctionInfo 0x1fffbdc3de29)>)
0x351d932fbe41 comment (;;; <@34,#31> call-js-function)
0x351d932fbe48 comment (;;; <@36,#32> lazy-bailout)
0x351d932fbe48 position (4740)
0x351d932fbe48 comment (;;; <@39,#33> branch)
0x351d932fbe5c position (29184)
0x351d932fbe5c deopt reason (unexpected object)
0x351d932fbe5d runtime entry (deoptimization bailout 4)
0x351d932fbe61 position (4744)
0x351d932fbe61 comment (;;; <@40,#34> -------------------- B4 --------------------)
0x351d932fbe61 comment (;;; <@42,#36> check-maps)
0x351d932fbe61 comment (;;; <@44,#41> push-argument)
0x351d932fbe64 comment (;;; <@46,#40> constant-t)
0x351d932fbe66 embedded object (0x1fffbdca4921 <JS Function PropertyDescriptor_HasSetter (SharedFunctionInfo 0x1fffbdc3e169)>)
0x351d932fbe6e comment (;;; <@48,#42> call-js-function)
0x351d932fbe75 comment (;;; <@50,#43> lazy-bailout)
0x351d932fbe75 position (4740)
0x351d932fbe75 comment (;;; <@54,#44> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932fbe75 position (4720)
0x351d932fbe75 comment (;;; <@58,#50> -------------------- B6 --------------------)
0x351d932fbe75 comment (;;; <@60,#52> return)
0x351d932fbe7c comment (;;; <@62,#13> -------------------- B7 (unreachable/replaced) --------------------)
0x351d932fbe7c position (4713)
0x351d932fbe7c comment (;;; <@66,#19> -------------------- B8 --------------------)
0x351d932fbe7c comment (;;; <@68,#20> constant-t)
0x351d932fbe7e embedded object (0x1fffbdc04251 <false>)
0x351d932fbe86 comment (;;; <@70,#22> return)
0x351d932fbe86 position (4706)
0x351d932fbe8d comment (;;; -------------------- Jump table --------------------)
0x351d932fbe8d position (23552)
0x351d932fbe8d deopt reason (Smi)
0x351d932fbe8e runtime entry (deoptimization bailout 1)
0x351d932fbe92 position (23552)
0x351d932fbe92 deopt reason (wrong map)
0x351d932fbe93 runtime entry (deoptimization bailout 2)
0x351d932fbe98 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (require) id{29,0} ---
(path) {
return self.require(path);
}
--- END ---
--- FUNCTION SOURCE (Module.require) id{29,1} ---
(path) {
assert(path, 'missing path');
assert(typeof path === 'string', 'path must be a string');
return Module._load(path, this);
}
--- END ---
INLINE (Module.require) id{29,1} AS 1 AT <0:25>
--- FUNCTION SOURCE (ok) id{29,2} ---
(value, message) {
if (!value) fail(value, true, message, '==', assert.ok);
}
--- END ---
INLINE (ok) id{29,2} AS 2 AT <1:11>
--- FUNCTION SOURCE (ok) id{29,3} ---
(value, message) {
if (!value) fail(value, true, message, '==', assert.ok);
}
--- END ---
INLINE (ok) id{29,3} AS 3 AT <1:43>
--- Raw source ---
(path) {
return self.require(path);
}
--- Optimized code ---
optimization_id = 29
source_position = 375
kind = OPTIMIZED_FUNCTION
name = require
stack_slots = 2
compiler = crankshaft
Instructions (size = 538)
0x351d932fc400 0 55 push rbp
0x351d932fc401 1 4889e5 REX.W movq rbp,rsp
0x351d932fc404 4 56 push rsi
0x351d932fc405 5 57 push rdi
0x351d932fc406 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932fc40a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 375
;;; <@3,#1> gap
0x351d932fc40e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932fc412 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932fc415 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932fc41c 28 7305 jnc 35 (0x351d932fc423)
0x351d932fc41e 30 e8bd8ae3ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@15,#10> gap
0x351d932fc423 35 488b55e8 REX.W movq rdx,[rbp-0x18]
;;; <@16,#11> load-context-slot
0x351d932fc427 39 488b4a37 REX.W movq rcx,[rdx+0x37] ;; debug: position 395
0x351d932fc42b 43 493b4db0 REX.W cmpq rcx,[r13-0x50]
0x351d932fc42f 47 0f8493010000 jz 456 (0x351d932fc5c8)
;;; <@17,#11> gap
0x351d932fc435 53 48894de0 REX.W movq [rbp-0x20],rcx
;;; <@18,#12> check-non-smi
0x351d932fc439 57 f6c101 testb rcx,0x1 ;; debug: position 400
0x351d932fc43c 60 0f848b010000 jz 461 (0x351d932fc5cd)
;;; <@20,#13> check-maps
0x351d932fc442 66 49ba116ca188a4140000 REX.W movq r10,0x14a488a16c11 ;; object: 0x14a488a16c11 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932fc44c 76 4c3951ff REX.W cmpq [rcx-0x1],r10
0x351d932fc450 80 0f857c010000 jnz 466 (0x351d932fc5d2)
;;; <@22,#15> check-maps
;;; <@24,#18> constant-t
0x351d932fc456 86 48b8114df3aa75320000 REX.W movq rax,0x3275aaf34d11 ;; debug: position 9928
;; object: 0x3275aaf34d11 <FixedArray[28]>
;;; <@26,#22> load-context-slot
0x351d932fc460 96 488b404f REX.W movq rax,[rax+0x4f] ;; debug: position 9939
0x351d932fc464 100 493b45b0 REX.W cmpq rax,[r13-0x50]
0x351d932fc468 104 0f8469010000 jz 471 (0x351d932fc5d7)
;;; <@28,#24> check-value
0x351d932fc46e 110 49ba91b9f7aa75320000 REX.W movq r10,0x3275aaf7b991 ;; object: 0x3275aaf7b991 <JS Function ok (SharedFunctionInfo 0x21ab181f7e31)>
0x351d932fc478 120 493bc2 REX.W cmpq rax,r10
0x351d932fc47b 123 0f855b010000 jnz 476 (0x351d932fc5dc)
;;; <@30,#29> gap
0x351d932fc481 129 4c8b4510 REX.W movq r8,[rbp+0x10] ;; debug: position 4004
;;; <@31,#29> branch
0x351d932fc485 133 4d3b45c0 REX.W cmpq r8,[r13-0x40]
0x351d932fc489 137 0f846a000000 jz 249 (0x351d932fc4f9)
0x351d932fc48f 143 4d3b45c8 REX.W cmpq r8,[r13-0x38]
0x351d932fc493 147 0f8435000000 jz 206 (0x351d932fc4ce)
0x351d932fc499 153 41f6c001 testb r8,0x1
0x351d932fc49d 157 0f843e010000 jz 481 (0x351d932fc5e1)
0x351d932fc4a3 163 4d8b50ff REX.W movq r10,[r8-0x1]
0x351d932fc4a7 167 41f6420c10 testb [r10+0xc],0x10
0x351d932fc4ac 172 0f851c000000 jnz 206 (0x351d932fc4ce)
0x351d932fc4b2 178 41807a0b80 cmpb [r10+0xb],0x80
0x351d932fc4b7 183 7310 jnc 201 (0x351d932fc4c9)
0x351d932fc4b9 185 4983780f00 REX.W cmpq [r8+0xf],0x0
0x351d932fc4be 190 0f8535000000 jnz 249 (0x351d932fc4f9)
0x351d932fc4c4 196 e905000000 jmp 206 (0x351d932fc4ce)
0x351d932fc4c9 201 e86e9bb0ff call 0x351d92e0603c ;; debug: position 13314
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 6
;;; <@32,#33> -------------------- B2 (unreachable/replaced) --------------------
;;; <@36,#36> -------------------- B3 --------------------
;;; <@38,#25> constant-t
0x351d932fc4ce 206 48bb81a5f4aa75320000 REX.W movq rbx,0x3275aaf4a581 ;; debug: position 4011
;; debug: position 3978
;; object: 0x3275aaf4a581 <FixedArray[19]>
;;; <@40,#37> load-context-slot
0x351d932fc4d8 216 488b7367 REX.W movq rsi,[rbx+0x67] ;; debug: position 4011
;;; <@42,#25> constant-t
0x351d932fc4dc 220 48bb81a5f4aa75320000 REX.W movq rbx,0x3275aaf4a581 ;; debug: position 3978
;; object: 0x3275aaf4a581 <FixedArray[19]>
;;; <@44,#40> load-context-slot
0x351d932fc4e6 230 488b5b4f REX.W movq rbx,[rbx+0x4f] ;; debug: position 4044
0x351d932fc4ea 234 493b5db0 REX.W cmpq rbx,[r13-0x50]
0x351d932fc4ee 238 0f84f2000000 jz 486 (0x351d932fc5e6)
;;; <@47,#41> deoptimize
0x351d932fc4f4 244 e8579bd0ff call 0x351d93006050 ;; debug: position 4050
;; debug: position 36866
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 8
;;; <@48,#42> -------------------- B4 (unreachable/replaced) --------------------
;;; <@72,#30> -------------------- B5 (unreachable/replaced) --------------------
;;; <@76,#50> -------------------- B6 (unreachable/replaced) --------------------
;;; <@80,#53> -------------------- B7 (unreachable/replaced) --------------------
;;; <@84,#57> -------------------- B8 --------------------
;;; <@86,#59> gap
0x351d932fc4f9 249 498bd8 REX.W movq rbx,r8 ;; debug: position 9971
;; debug: position 9990
;;; <@87,#59> typeof-is-and-branch
0x351d932fc4fc 252 f6c301 testb rbx,0x1
0x351d932fc4ff 255 7414 jz 277 (0x351d932fc515)
0x351d932fc501 257 488b5bff REX.W movq rbx,[rbx-0x1]
0x351d932fc505 261 807b0b80 cmpb [rbx+0xb],0x80
0x351d932fc509 265 730a jnc 277 (0x351d932fc515)
0x351d932fc50b 267 f6430c10 testb [rbx+0xc],0x10
0x351d932fc50f 271 0f840f000000 jz 292 (0x351d932fc524)
;;; <@88,#65> -------------------- B9 --------------------
;;; <@90,#67> gap
0x351d932fc515 277 48be5142c0bdff1f0000 REX.W movq rsi,0x1fffbdc04251 ;; object: 0x1fffbdc04251 <false>
;;; <@91,#67> goto
0x351d932fc51f 287 e90a000000 jmp 302 (0x351d932fc52e)
;;; <@92,#62> -------------------- B10 --------------------
;;; <@94,#64> gap
0x351d932fc524 292 48be1142c0bdff1f0000 REX.W movq rsi,0x1fffbdc04211 ;; object: 0x1fffbdc04211 <true>
;;; <@96,#69> -------------------- B11 --------------------
;;; <@99,#76> branch
0x351d932fc52e 302 493b75c0 REX.W cmpq rsi,[r13-0x40] ;; debug: position 10004
;; debug: position 4004
0x351d932fc532 306 0f842b000000 jz 355 (0x351d932fc563)
;;; <@100,#80> -------------------- B12 (unreachable/replaced) --------------------
;;; <@104,#83> -------------------- B13 --------------------
;;; <@106,#25> constant-t
0x351d932fc538 312 48bb81a5f4aa75320000 REX.W movq rbx,0x3275aaf4a581 ;; debug: position 4011
;; debug: position 3978
;; object: 0x3275aaf4a581 <FixedArray[19]>
;;; <@108,#84> load-context-slot
0x351d932fc542 322 488b7b67 REX.W movq rdi,[rbx+0x67] ;; debug: position 4011
;;; <@110,#25> constant-t
0x351d932fc546 326 48bb81a5f4aa75320000 REX.W movq rbx,0x3275aaf4a581 ;; debug: position 3978
;; object: 0x3275aaf4a581 <FixedArray[19]>
;;; <@112,#87> load-context-slot
0x351d932fc550 336 488b5b4f REX.W movq rbx,[rbx+0x4f] ;; debug: position 4044
0x351d932fc554 340 493b5db0 REX.W cmpq rbx,[r13-0x50]
0x351d932fc558 344 0f848d000000 jz 491 (0x351d932fc5eb)
;;; <@115,#88> deoptimize
0x351d932fc55e 350 e8019bd0ff call 0x351d93006064 ;; debug: position 4050
;; debug: position 36867
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 10
;;; <@116,#89> -------------------- B14 (unreachable/replaced) --------------------
;;; <@140,#77> -------------------- B15 (unreachable/replaced) --------------------
;;; <@144,#97> -------------------- B16 (unreachable/replaced) --------------------
;;; <@148,#100> -------------------- B17 (unreachable/replaced) --------------------
;;; <@152,#104> -------------------- B18 --------------------
;;; <@154,#18> constant-t
0x351d932fc563 355 48b8114df3aa75320000 REX.W movq rax,0x3275aaf34d11 ;; debug: position 10039
;; debug: position 9928
;; object: 0x3275aaf34d11 <FixedArray[28]>
;;; <@156,#105> load-context-slot
0x351d932fc56d 365 488b8097000000 REX.W movq rax,[rax+0x97] ;; debug: position 10039
;;; <@158,#106> check-non-smi
0x351d932fc574 372 a801 test al,0x1 ;; debug: position 10046
0x351d932fc576 374 0f8474000000 jz 496 (0x351d932fc5f0)
;;; <@160,#107> check-maps
0x351d932fc57c 380 49ba015fa188a4140000 REX.W movq r10,0x14a488a15f01 ;; object: 0x14a488a15f01 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932fc586 390 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932fc58a 394 0f8565000000 jnz 501 (0x351d932fc5f5)
;;; <@162,#109> constant-t
0x351d932fc590 400 48bf115b931214170000 REX.W movq rdi,0x171412935b11 ;; object: 0x171412935b11 <JS Function Module._load (SharedFunctionInfo 0x1714129156a1)>
;;; <@164,#111> load-named-field
0x351d932fc59a 410 488b772f REX.W movq rsi,[rdi+0x2f]
;;; <@166,#114> push-argument
0x351d932fc59e 414 50 push rax
;;; <@168,#114> push-argument
0x351d932fc59f 415 4150 push r8
;;; <@170,#114> push-argument
0x351d932fc5a1 417 51 push rcx
;;; <@172,#109> constant-t
0x351d932fc5a2 418 48bf115b931214170000 REX.W movq rdi,0x171412935b11 ;; object: 0x171412935b11 <JS Function Module._load (SharedFunctionInfo 0x1714129156a1)>
;;; <@174,#112> constant-i
0x351d932fc5ac 428 b802000000 movl rax,0x2
;;; <@176,#110> constant-i
0x351d932fc5b1 433 bb03000000 movl rbx,0x3
;;; <@178,#115> call-with-descriptor
0x351d932fc5b6 438 e845d9e0ff call ArgumentsAdaptorTrampoline (0x351d93109f00) ;; code: BUILTIN
;;; <@180,#116> lazy-bailout
;;; <@184,#120> -------------------- B19 --------------------
;;; <@186,#122> return
0x351d932fc5bb 443 488be5 REX.W movq rsp,rbp ;; debug: position 388
0x351d932fc5be 446 5d pop rbp
0x351d932fc5bf 447 c21000 ret 0x10
0x351d932fc5c2 450 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x351d932fc5c8 456 e83d9ab0ff call 0x351d92e0600a ;; debug: position 10240
;; debug: deopt reason 'hole'
;; deoptimization bailout 1
0x351d932fc5cd 461 e8429ab0ff call 0x351d92e06014 ;; debug: position 12800
;; debug: deopt reason 'Smi'
;; deoptimization bailout 2
0x351d932fc5d2 466 e8479ab0ff call 0x351d92e0601e ;; debug: position 12800
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 3
0x351d932fc5d7 471 e84c9ab0ff call 0x351d92e06028 ;; debug: position 5633
;; debug: deopt reason 'hole'
;; deoptimization bailout 4
0x351d932fc5dc 476 e8519ab0ff call 0x351d92e06032 ;; debug: position 5633
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 5
0x351d932fc5e1 481 e8569ab0ff call 0x351d92e0603c ;; debug: position 13314
;; debug: deopt reason 'Smi'
;; deoptimization bailout 6
0x351d932fc5e6 486 e85b9ab0ff call 0x351d92e06046 ;; debug: position 33794
;; debug: deopt reason 'hole'
;; deoptimization bailout 7
0x351d932fc5eb 491 e86a9ab0ff call 0x351d92e0605a ;; debug: position 33795
;; debug: deopt reason 'hole'
;; deoptimization bailout 9
0x351d932fc5f0 496 e8799ab0ff call 0x351d92e0606e ;; debug: position 60417
;; debug: deopt reason 'Smi'
;; deoptimization bailout 11
0x351d932fc5f5 501 e87e9ab0ff call 0x351d92e06078 ;; debug: position 60417
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 12
0x351d932fc5fa 506 6690 nop
;;; Safepoint table.
Inlined functions (count = 2)
0x171412915899 <SharedFunctionInfo Module.require>
0x21ab181f7e31 <SharedFunctionInfo ok>
Deoptimization Input Data (deopt points = 14)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 3 0 -1
4 2 0 -1
5 2 0 -1
6 2 0 -1
7 5 0 -1
8 5 0 -1
9 5 0 -1
10 5 0 -1
11 18 0 -1
12 18 0 -1
13 42 0 443
Safepoints (size = 30)
0x351d932fc423 35 01 (sp -> fp) 0
0x351d932fc5bb 443 11 (sp -> fp) 13
RelocInfo (size = 1043)
0x351d932fc40a position (375)
0x351d932fc40a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932fc40a comment (;;; <@2,#1> context)
0x351d932fc40e comment (;;; <@3,#1> gap)
0x351d932fc412 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932fc412 comment (;;; <@11,#8> gap)
0x351d932fc415 comment (;;; <@12,#10> stack-check)
0x351d932fc41f code target (BUILTIN) (0x351d93134ee0)
0x351d932fc423 comment (;;; <@14,#10> lazy-bailout)
0x351d932fc423 comment (;;; <@15,#10> gap)
0x351d932fc427 comment (;;; <@16,#11> load-context-slot)
0x351d932fc427 position (395)
0x351d932fc435 comment (;;; <@17,#11> gap)
0x351d932fc439 comment (;;; <@18,#12> check-non-smi)
0x351d932fc439 position (400)
0x351d932fc442 comment (;;; <@20,#13> check-maps)
0x351d932fc444 embedded object (0x14a488a16c11 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932fc456 comment (;;; <@22,#15> check-maps)
0x351d932fc456 comment (;;; <@24,#18> constant-t)
0x351d932fc456 position (9928)
0x351d932fc458 embedded object (0x3275aaf34d11 <FixedArray[28]>)
0x351d932fc460 comment (;;; <@26,#22> load-context-slot)
0x351d932fc460 position (9939)
0x351d932fc46e comment (;;; <@28,#24> check-value)
0x351d932fc470 embedded object (0x3275aaf7b991 <JS Function ok (SharedFunctionInfo 0x21ab181f7e31)>)
0x351d932fc481 comment (;;; <@30,#29> gap)
0x351d932fc481 position (4004)
0x351d932fc485 comment (;;; <@31,#29> branch)
0x351d932fc4c9 position (13314)
0x351d932fc4c9 deopt reason (unexpected object)
0x351d932fc4ca runtime entry (deoptimization bailout 6)
0x351d932fc4ce comment (;;; <@32,#33> -------------------- B2 (unreachable/replaced) --------------------)
0x351d932fc4ce position (4011)
0x351d932fc4ce comment (;;; <@36,#36> -------------------- B3 --------------------)
0x351d932fc4ce comment (;;; <@38,#25> constant-t)
0x351d932fc4ce position (3978)
0x351d932fc4d0 embedded object (0x3275aaf4a581 <FixedArray[19]>)
0x351d932fc4d8 comment (;;; <@40,#37> load-context-slot)
0x351d932fc4d8 position (4011)
0x351d932fc4dc comment (;;; <@42,#25> constant-t)
0x351d932fc4dc position (3978)
0x351d932fc4de embedded object (0x3275aaf4a581 <FixedArray[19]>)
0x351d932fc4e6 comment (;;; <@44,#40> load-context-slot)
0x351d932fc4e6 position (4044)
0x351d932fc4f4 position (4050)
0x351d932fc4f4 comment (;;; <@47,#41> deoptimize)
0x351d932fc4f4 position (36866)
0x351d932fc4f4 deopt reason (Insufficient type feedback for generic named access)
0x351d932fc4f5 runtime entry
0x351d932fc4f9 comment (;;; <@48,#42> -------------------- B4 (unreachable/replaced) --------------------)
0x351d932fc4f9 comment (;;; <@72,#30> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932fc4f9 comment (;;; <@76,#50> -------------------- B6 (unreachable/replaced) --------------------)
0x351d932fc4f9 comment (;;; <@80,#53> -------------------- B7 (unreachable/replaced) --------------------)
0x351d932fc4f9 position (9971)
0x351d932fc4f9 comment (;;; <@84,#57> -------------------- B8 --------------------)
0x351d932fc4f9 comment (;;; <@86,#59> gap)
0x351d932fc4f9 position (9990)
0x351d932fc4fc comment (;;; <@87,#59> typeof-is-and-branch)
0x351d932fc515 comment (;;; <@88,#65> -------------------- B9 --------------------)
0x351d932fc515 comment (;;; <@90,#67> gap)
0x351d932fc517 embedded object (0x1fffbdc04251 <false>)
0x351d932fc51f comment (;;; <@91,#67> goto)
0x351d932fc524 comment (;;; <@92,#62> -------------------- B10 --------------------)
0x351d932fc524 comment (;;; <@94,#64> gap)
0x351d932fc526 embedded object (0x1fffbdc04211 <true>)
0x351d932fc52e position (10004)
0x351d932fc52e comment (;;; <@96,#69> -------------------- B11 --------------------)
0x351d932fc52e position (4004)
0x351d932fc52e comment (;;; <@99,#76> branch)
0x351d932fc538 comment (;;; <@100,#80> -------------------- B12 (unreachable/replaced) --------------------)
0x351d932fc538 position (4011)
0x351d932fc538 comment (;;; <@104,#83> -------------------- B13 --------------------)
0x351d932fc538 comment (;;; <@106,#25> constant-t)
0x351d932fc538 position (3978)
0x351d932fc53a embedded object (0x3275aaf4a581 <FixedArray[19]>)
0x351d932fc542 comment (;;; <@108,#84> load-context-slot)
0x351d932fc542 position (4011)
0x351d932fc546 comment (;;; <@110,#25> constant-t)
0x351d932fc546 position (3978)
0x351d932fc548 embedded object (0x3275aaf4a581 <FixedArray[19]>)
0x351d932fc550 comment (;;; <@112,#87> load-context-slot)
0x351d932fc550 position (4044)
0x351d932fc55e position (4050)
0x351d932fc55e comment (;;; <@115,#88> deoptimize)
0x351d932fc55e position (36867)
0x351d932fc55e deopt reason (Insufficient type feedback for generic named access)
0x351d932fc55f runtime entry
0x351d932fc563 comment (;;; <@116,#89> -------------------- B14 (unreachable/replaced) --------------------)
0x351d932fc563 comment (;;; <@140,#77> -------------------- B15 (unreachable/replaced) --------------------)
0x351d932fc563 comment (;;; <@144,#97> -------------------- B16 (unreachable/replaced) --------------------)
0x351d932fc563 comment (;;; <@148,#100> -------------------- B17 (unreachable/replaced) --------------------)
0x351d932fc563 position (10039)
0x351d932fc563 comment (;;; <@152,#104> -------------------- B18 --------------------)
0x351d932fc563 comment (;;; <@154,#18> constant-t)
0x351d932fc563 position (9928)
0x351d932fc565 embedded object (0x3275aaf34d11 <FixedArray[28]>)
0x351d932fc56d comment (;;; <@156,#105> load-context-slot)
0x351d932fc56d position (10039)
0x351d932fc574 comment (;;; <@158,#106> check-non-smi)
0x351d932fc574 position (10046)
0x351d932fc57c comment (;;; <@160,#107> check-maps)
0x351d932fc57e embedded object (0x14a488a15f01 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932fc590 comment (;;; <@162,#109> constant-t)
0x351d932fc592 embedded object (0x171412935b11 <JS Function Module._load (SharedFunctionInfo 0x1714129156a1)>)
0x351d932fc59a comment (;;; <@164,#111> load-named-field)
0x351d932fc59e comment (;;; <@166,#114> push-argument)
0x351d932fc59f comment (;;; <@168,#114> push-argument)
0x351d932fc5a1 comment (;;; <@170,#114> push-argument)
0x351d932fc5a2 comment (;;; <@172,#109> constant-t)
0x351d932fc5a4 embedded object (0x171412935b11 <JS Function Module._load (SharedFunctionInfo 0x1714129156a1)>)
0x351d932fc5ac comment (;;; <@174,#112> constant-i)
0x351d932fc5b1 comment (;;; <@176,#110> constant-i)
0x351d932fc5b6 comment (;;; <@178,#115> call-with-descriptor)
0x351d932fc5b7 code target (BUILTIN) (0x351d93109f00)
0x351d932fc5bb comment (;;; <@180,#116> lazy-bailout)
0x351d932fc5bb position (388)
0x351d932fc5bb comment (;;; <@184,#120> -------------------- B19 --------------------)
0x351d932fc5bb comment (;;; <@186,#122> return)
0x351d932fc5c8 comment (;;; -------------------- Jump table --------------------)
0x351d932fc5c8 position (10240)
0x351d932fc5c8 deopt reason (hole)
0x351d932fc5c9 runtime entry (deoptimization bailout 1)
0x351d932fc5cd position (12800)
0x351d932fc5cd deopt reason (Smi)
0x351d932fc5ce runtime entry (deoptimization bailout 2)
0x351d932fc5d2 position (12800)
0x351d932fc5d2 deopt reason (wrong map)
0x351d932fc5d3 runtime entry (deoptimization bailout 3)
0x351d932fc5d7 position (5633)
0x351d932fc5d7 deopt reason (hole)
0x351d932fc5d8 runtime entry (deoptimization bailout 4)
0x351d932fc5dc position (5633)
0x351d932fc5dc deopt reason (value mismatch)
0x351d932fc5dd runtime entry (deoptimization bailout 5)
0x351d932fc5e1 position (13314)
0x351d932fc5e1 deopt reason (Smi)
0x351d932fc5e2 runtime entry (deoptimization bailout 6)
0x351d932fc5e6 position (33794)
0x351d932fc5e6 deopt reason (hole)
0x351d932fc5e7 runtime entry (deoptimization bailout 7)
0x351d932fc5eb position (33795)
0x351d932fc5eb deopt reason (hole)
0x351d932fc5ec runtime entry (deoptimization bailout 9)
0x351d932fc5f0 position (60417)
0x351d932fc5f0 deopt reason (Smi)
0x351d932fc5f1 runtime entry (deoptimization bailout 11)
0x351d932fc5f5 position (60417)
0x351d932fc5f5 deopt reason (wrong map)
0x351d932fc5f6 runtime entry (deoptimization bailout 12)
0x351d932fc5fc comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (Module.require) id{30,0} ---
(path) {
assert(path, 'missing path');
assert(typeof path === 'string', 'path must be a string');
return Module._load(path, this);
}
--- END ---
--- FUNCTION SOURCE (ok) id{30,1} ---
(value, message) {
if (!value) fail(value, true, message, '==', assert.ok);
}
--- END ---
INLINE (ok) id{30,1} AS 1 AT <0:11>
--- FUNCTION SOURCE (ok) id{30,2} ---
(value, message) {
if (!value) fail(value, true, message, '==', assert.ok);
}
--- END ---
INLINE (ok) id{30,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);
};
--- Optimized code ---
optimization_id = 30
source_position = 9928
kind = OPTIMIZED_FUNCTION
name = Module.require
stack_slots = 1
compiler = crankshaft
Instructions (size = 458)
0x351d932fc680 0 55 push rbp
0x351d932fc681 1 4889e5 REX.W movq rbp,rsp
0x351d932fc684 4 56 push rsi
0x351d932fc685 5 57 push rdi
0x351d932fc686 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932fc68a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 9928
;;; <@3,#1> gap
0x351d932fc68e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d932fc692 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d932fc695 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932fc69c 28 7305 jnc 35 (0x351d932fc6a3)
0x351d932fc69e 30 e83d88e3ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@15,#10> gap
0x351d932fc6a3 35 488b55e8 REX.W movq rdx,[rbp-0x18]
;;; <@16,#11> load-context-slot
0x351d932fc6a7 39 488b424f REX.W movq rax,[rdx+0x4f] ;; debug: position 9939
0x351d932fc6ab 43 493b45b0 REX.W cmpq rax,[r13-0x50]
0x351d932fc6af 47 0f8453010000 jz 392 (0x351d932fc808)
;;; <@18,#14> check-value
0x351d932fc6b5 53 49ba91b9f7aa75320000 REX.W movq r10,0x3275aaf7b991 ;; object: 0x3275aaf7b991 <JS Function ok (SharedFunctionInfo 0x21ab181f7e31)>
0x351d932fc6bf 63 493bc2 REX.W cmpq rax,r10
0x351d932fc6c2 66 0f8545010000 jnz 397 (0x351d932fc80d)
;;; <@20,#19> gap
0x351d932fc6c8 72 488b4d10 REX.W movq rcx,[rbp+0x10] ;; debug: position 4004
;;; <@21,#19> branch
0x351d932fc6cc 76 493b4dc0 REX.W cmpq rcx,[r13-0x40]
0x351d932fc6d0 80 0f8469000000 jz 191 (0x351d932fc73f)
0x351d932fc6d6 86 493b4dc8 REX.W cmpq rcx,[r13-0x38]
0x351d932fc6da 90 0f8434000000 jz 148 (0x351d932fc714)
0x351d932fc6e0 96 f6c101 testb rcx,0x1
0x351d932fc6e3 99 0f8429010000 jz 402 (0x351d932fc812)
0x351d932fc6e9 105 4c8b51ff REX.W movq r10,[rcx-0x1]
0x351d932fc6ed 109 41f6420c10 testb [r10+0xc],0x10
0x351d932fc6f2 114 0f851c000000 jnz 148 (0x351d932fc714)
0x351d932fc6f8 120 41807a0b80 cmpb [r10+0xb],0x80
0x351d932fc6fd 125 7310 jnc 143 (0x351d932fc70f)
0x351d932fc6ff 127 4883790f00 REX.W cmpq [rcx+0xf],0x0
0x351d932fc704 132 0f8535000000 jnz 191 (0x351d932fc73f)
0x351d932fc70a 138 e905000000 jmp 148 (0x351d932fc714)
0x351d932fc70f 143 e80a99b0ff call 0x351d92e0601e ;; debug: position 13313
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 3
;;; <@22,#23> -------------------- B2 (unreachable/replaced) --------------------
;;; <@26,#26> -------------------- B3 --------------------
;;; <@28,#15> constant-t
0x351d932fc714 148 48bb81a5f4aa75320000 REX.W movq rbx,0x3275aaf4a581 ;; debug: position 4011
;; debug: position 3978
;; object: 0x3275aaf4a581 <FixedArray[19]>
;;; <@30,#27> load-context-slot
0x351d932fc71e 158 488b7367 REX.W movq rsi,[rbx+0x67] ;; debug: position 4011
;;; <@32,#15> constant-t
0x351d932fc722 162 48bb81a5f4aa75320000 REX.W movq rbx,0x3275aaf4a581 ;; debug: position 3978
;; object: 0x3275aaf4a581 <FixedArray[19]>
;;; <@34,#30> load-context-slot
0x351d932fc72c 172 488b5b4f REX.W movq rbx,[rbx+0x4f] ;; debug: position 4044
0x351d932fc730 176 493b5db0 REX.W cmpq rbx,[r13-0x50]
0x351d932fc734 180 0f84dd000000 jz 407 (0x351d932fc817)
;;; <@37,#31> deoptimize
0x351d932fc73a 186 e8f398d0ff call 0x351d93006032 ;; debug: position 4050
;; debug: position 36865
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 5
;;; <@38,#32> -------------------- B4 (unreachable/replaced) --------------------
;;; <@62,#20> -------------------- B5 (unreachable/replaced) --------------------
;;; <@66,#40> -------------------- B6 (unreachable/replaced) --------------------
;;; <@70,#43> -------------------- B7 (unreachable/replaced) --------------------
;;; <@74,#47> -------------------- B8 --------------------
;;; <@76,#49> gap
0x351d932fc73f 191 488bd9 REX.W movq rbx,rcx ;; debug: position 9971
;; debug: position 9990
;;; <@77,#49> typeof-is-and-branch
0x351d932fc742 194 f6c301 testb rbx,0x1
0x351d932fc745 197 7414 jz 219 (0x351d932fc75b)
0x351d932fc747 199 488b5bff REX.W movq rbx,[rbx-0x1]
0x351d932fc74b 203 807b0b80 cmpb [rbx+0xb],0x80
0x351d932fc74f 207 730a jnc 219 (0x351d932fc75b)
0x351d932fc751 209 f6430c10 testb [rbx+0xc],0x10
0x351d932fc755 213 0f840f000000 jz 234 (0x351d932fc76a)
;;; <@78,#55> -------------------- B9 --------------------
;;; <@80,#57> gap
0x351d932fc75b 219 48be5142c0bdff1f0000 REX.W movq rsi,0x1fffbdc04251 ;; object: 0x1fffbdc04251 <false>
;;; <@81,#57> goto
0x351d932fc765 229 e90a000000 jmp 244 (0x351d932fc774)
;;; <@82,#52> -------------------- B10 --------------------
;;; <@84,#54> gap
0x351d932fc76a 234 48be1142c0bdff1f0000 REX.W movq rsi,0x1fffbdc04211 ;; object: 0x1fffbdc04211 <true>
;;; <@86,#59> -------------------- B11 --------------------
;;; <@89,#66> branch
0x351d932fc774 244 493b75c0 REX.W cmpq rsi,[r13-0x40] ;; debug: position 10004
;; debug: position 4004
0x351d932fc778 248 0f842b000000 jz 297 (0x351d932fc7a9)
;;; <@90,#70> -------------------- B12 (unreachable/replaced) --------------------
;;; <@94,#73> -------------------- B13 --------------------
;;; <@96,#15> constant-t
0x351d932fc77e 254 48bb81a5f4aa75320000 REX.W movq rbx,0x3275aaf4a581 ;; debug: position 4011
;; debug: position 3978
;; object: 0x3275aaf4a581 <FixedArray[19]>
;;; <@98,#74> load-context-slot
0x351d932fc788 264 488b7b67 REX.W movq rdi,[rbx+0x67] ;; debug: position 4011
;;; <@100,#15> constant-t
0x351d932fc78c 268 48bb81a5f4aa75320000 REX.W movq rbx,0x3275aaf4a581 ;; debug: position 3978
;; object: 0x3275aaf4a581 <FixedArray[19]>
;;; <@102,#77> load-context-slot
0x351d932fc796 278 488b5b4f REX.W movq rbx,[rbx+0x4f] ;; debug: position 4044
0x351d932fc79a 282 493b5db0 REX.W cmpq rbx,[r13-0x50]
0x351d932fc79e 286 0f8478000000 jz 412 (0x351d932fc81c)
;;; <@105,#78> deoptimize
0x351d932fc7a4 292 e89d98d0ff call 0x351d93006046 ;; debug: position 4050
;; debug: position 36866
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 7
;;; <@106,#79> -------------------- B14 (unreachable/replaced) --------------------
;;; <@130,#67> -------------------- B15 (unreachable/replaced) --------------------
;;; <@134,#87> -------------------- B16 (unreachable/replaced) --------------------
;;; <@138,#90> -------------------- B17 (unreachable/replaced) --------------------
;;; <@142,#94> -------------------- B18 --------------------
;;; <@144,#95> load-context-slot
0x351d932fc7a9 297 488b8297000000 REX.W movq rax,[rdx+0x97] ;; debug: position 10039
;;; <@146,#96> check-non-smi
0x351d932fc7b0 304 a801 test al,0x1 ;; debug: position 10046
0x351d932fc7b2 306 0f8469000000 jz 417 (0x351d932fc821)
;;; <@148,#97> check-maps
0x351d932fc7b8 312 49ba015fa188a4140000 REX.W movq r10,0x14a488a15f01 ;; object: 0x14a488a15f01 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932fc7c2 322 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932fc7c6 326 0f855a000000 jnz 422 (0x351d932fc826)
;;; <@150,#99> constant-t
0x351d932fc7cc 332 48bf115b931214170000 REX.W movq rdi,0x171412935b11 ;; object: 0x171412935b11 <JS Function Module._load (SharedFunctionInfo 0x1714129156a1)>
;;; <@152,#101> load-named-field
0x351d932fc7d6 342 488b772f REX.W movq rsi,[rdi+0x2f]
;;; <@154,#104> push-argument
0x351d932fc7da 346 50 push rax
;;; <@156,#104> push-argument
0x351d932fc7db 347 51 push rcx
;;; <@157,#104> gap
0x351d932fc7dc 348 4c8b4518 REX.W movq r8,[rbp+0x18]
;;; <@158,#104> push-argument
0x351d932fc7e0 352 4150 push r8
;;; <@160,#99> constant-t
0x351d932fc7e2 354 48bf115b931214170000 REX.W movq rdi,0x171412935b11 ;; object: 0x171412935b11 <JS Function Module._load (SharedFunctionInfo 0x1714129156a1)>
;;; <@162,#102> constant-i
0x351d932fc7ec 364 b802000000 movl rax,0x2
;;; <@164,#100> constant-i
0x351d932fc7f1 369 bb03000000 movl rbx,0x3
;;; <@166,#105> call-with-descriptor
0x351d932fc7f6 374 e805d7e0ff call ArgumentsAdaptorTrampoline (0x351d93109f00) ;; code: BUILTIN
;;; <@168,#106> lazy-bailout
;;; <@170,#108> return
0x351d932fc7fb 379 488be5 REX.W movq rsp,rbp ;; debug: position 10032
0x351d932fc7fe 382 5d pop rbp
0x351d932fc7ff 383 c21000 ret 0x10
0x351d932fc802 386 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x351d932fc808 392 e8fd97b0ff call 0x351d92e0600a ;; debug: position 5632
;; debug: deopt reason 'hole'
;; deoptimization bailout 1
0x351d932fc80d 397 e80298b0ff call 0x351d92e06014 ;; debug: position 5632
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 2
0x351d932fc812 402 e80798b0ff call 0x351d92e0601e ;; debug: position 13313
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x351d932fc817 407 e80c98b0ff call 0x351d92e06028 ;; debug: position 33793
;; debug: deopt reason 'hole'
;; deoptimization bailout 4
0x351d932fc81c 412 e81b98b0ff call 0x351d92e0603c ;; debug: position 33794
;; debug: deopt reason 'hole'
;; deoptimization bailout 6
0x351d932fc821 417 e82a98b0ff call 0x351d92e06050 ;; debug: position 60416
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x351d932fc826 422 e82f98b0ff call 0x351d92e0605a ;; debug: position 60416
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 9
0x351d932fc82b 427 90 nop
;;; Safepoint table.
Inlined functions (count = 1)
0x21ab181f7e31 <SharedFunctionInfo ok>
Deoptimization Input Data (deopt points = 11)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 2 0 -1
4 5 0 -1
5 5 0 -1
6 5 0 -1
7 5 0 -1
8 18 0 -1
9 18 0 -1
10 42 0 379
Safepoints (size = 30)
0x351d932fc6a3 35 1 (sp -> fp) 0
0x351d932fc7fb 379 1 (sp -> fp) 10
RelocInfo (size = 905)
0x351d932fc68a position (9928)
0x351d932fc68a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932fc68a comment (;;; <@2,#1> context)
0x351d932fc68e comment (;;; <@3,#1> gap)
0x351d932fc692 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d932fc692 comment (;;; <@11,#8> gap)
0x351d932fc695 comment (;;; <@12,#10> stack-check)
0x351d932fc69f code target (BUILTIN) (0x351d93134ee0)
0x351d932fc6a3 comment (;;; <@14,#10> lazy-bailout)
0x351d932fc6a3 comment (;;; <@15,#10> gap)
0x351d932fc6a7 comment (;;; <@16,#11> load-context-slot)
0x351d932fc6a7 position (9939)
0x351d932fc6b5 comment (;;; <@18,#14> check-value)
0x351d932fc6b7 embedded object (0x3275aaf7b991 <JS Function ok (SharedFunctionInfo 0x21ab181f7e31)>)
0x351d932fc6c8 comment (;;; <@20,#19> gap)
0x351d932fc6c8 position (4004)
0x351d932fc6cc comment (;;; <@21,#19> branch)
0x351d932fc70f position (13313)
0x351d932fc70f deopt reason (unexpected object)
0x351d932fc710 runtime entry (deoptimization bailout 3)
0x351d932fc714 comment (;;; <@22,#23> -------------------- B2 (unreachable/replaced) --------------------)
0x351d932fc714 position (4011)
0x351d932fc714 comment (;;; <@26,#26> -------------------- B3 --------------------)
0x351d932fc714 comment (;;; <@28,#15> constant-t)
0x351d932fc714 position (3978)
0x351d932fc716 embedded object (0x3275aaf4a581 <FixedArray[19]>)
0x351d932fc71e comment (;;; <@30,#27> load-context-slot)
0x351d932fc71e position (4011)
0x351d932fc722 comment (;;; <@32,#15> constant-t)
0x351d932fc722 position (3978)
0x351d932fc724 embedded object (0x3275aaf4a581 <FixedArray[19]>)
0x351d932fc72c comment (;;; <@34,#30> load-context-slot)
0x351d932fc72c position (4044)
0x351d932fc73a position (4050)
0x351d932fc73a comment (;;; <@37,#31> deoptimize)
0x351d932fc73a position (36865)
0x351d932fc73a deopt reason (Insufficient type feedback for generic named access)
0x351d932fc73b runtime entry
0x351d932fc73f comment (;;; <@38,#32> -------------------- B4 (unreachable/replaced) --------------------)
0x351d932fc73f comment (;;; <@62,#20> -------------------- B5 (unreachable/replaced) --------------------)
0x351d932fc73f comment (;;; <@66,#40> -------------------- B6 (unreachable/replaced) --------------------)
0x351d932fc73f comment (;;; <@70,#43> -------------------- B7 (unreachable/replaced) --------------------)
0x351d932fc73f position (9971)
0x351d932fc73f comment (;;; <@74,#47> -------------------- B8 --------------------)
0x351d932fc73f comment (;;; <@76,#49> gap)
0x351d932fc73f position (9990)
0x351d932fc742 comment (;;; <@77,#49> typeof-is-and-branch)
0x351d932fc75b comment (;;; <@78,#55> -------------------- B9 --------------------)
0x351d932fc75b comment (;;; <@80,#57> gap)
0x351d932fc75d embedded object (0x1fffbdc04251 <false>)
0x351d932fc765 comment (;;; <@81,#57> goto)
0x351d932fc76a comment (;;; <@82,#52> -------------------- B10 --------------------)
0x351d932fc76a comment (;;; <@84,#54> gap)
0x351d932fc76c embedded object (0x1fffbdc04211 <true>)
0x351d932fc774 position (10004)
0x351d932fc774 comment (;;; <@86,#59> -------------------- B11 --------------------)
0x351d932fc774 position (4004)
0x351d932fc774 comment (;;; <@89,#66> branch)
0x351d932fc77e comment (;;; <@90,#70> -------------------- B12 (unreachable/replaced) --------------------)
0x351d932fc77e position (4011)
0x351d932fc77e comment (;;; <@94,#73> -------------------- B13 --------------------)
0x351d932fc77e comment (;;; <@96,#15> constant-t)
0x351d932fc77e position (3978)
0x351d932fc780 embedded object (0x3275aaf4a581 <FixedArray[19]>)
0x351d932fc788 comment (;;; <@98,#74> load-context-slot)
0x351d932fc788 position (4011)
0x351d932fc78c comment (;;; <@100,#15> constant-t)
0x351d932fc78c position (3978)
0x351d932fc78e embedded object (0x3275aaf4a581 <FixedArray[19]>)
0x351d932fc796 comment (;;; <@102,#77> load-context-slot)
0x351d932fc796 position (4044)
0x351d932fc7a4 position (4050)
0x351d932fc7a4 comment (;;; <@105,#78> deoptimize)
0x351d932fc7a4 position (36866)
0x351d932fc7a4 deopt reason (Insufficient type feedback for generic named access)
0x351d932fc7a5 runtime entry
0x351d932fc7a9 comment (;;; <@106,#79> -------------------- B14 (unreachable/replaced) --------------------)
0x351d932fc7a9 comment (;;; <@130,#67> -------------------- B15 (unreachable/replaced) --------------------)
0x351d932fc7a9 comment (;;; <@134,#87> -------------------- B16 (unreachable/replaced) --------------------)
0x351d932fc7a9 comment (;;; <@138,#90> -------------------- B17 (unreachable/replaced) --------------------)
0x351d932fc7a9 position (10039)
0x351d932fc7a9 comment (;;; <@142,#94> -------------------- B18 --------------------)
0x351d932fc7a9 comment (;;; <@144,#95> load-context-slot)
0x351d932fc7b0 comment (;;; <@146,#96> check-non-smi)
0x351d932fc7b0 position (10046)
0x351d932fc7b8 comment (;;; <@148,#97> check-maps)
0x351d932fc7ba embedded object (0x14a488a15f01 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932fc7cc comment (;;; <@150,#99> constant-t)
0x351d932fc7ce embedded object (0x171412935b11 <JS Function Module._load (SharedFunctionInfo 0x1714129156a1)>)
0x351d932fc7d6 comment (;;; <@152,#101> load-named-field)
0x351d932fc7da comment (;;; <@154,#104> push-argument)
0x351d932fc7db comment (;;; <@156,#104> push-argument)
0x351d932fc7dc comment (;;; <@157,#104> gap)
0x351d932fc7e0 comment (;;; <@158,#104> push-argument)
0x351d932fc7e2 comment (;;; <@160,#99> constant-t)
0x351d932fc7e4 embedded object (0x171412935b11 <JS Function Module._load (SharedFunctionInfo 0x1714129156a1)>)
0x351d932fc7ec comment (;;; <@162,#102> constant-i)
0x351d932fc7f1 comment (;;; <@164,#100> constant-i)
0x351d932fc7f6 comment (;;; <@166,#105> call-with-descriptor)
0x351d932fc7f7 code target (BUILTIN) (0x351d93109f00)
0x351d932fc7fb comment (;;; <@168,#106> lazy-bailout)
0x351d932fc7fb comment (;;; <@170,#108> return)
0x351d932fc7fb position (10032)
0x351d932fc808 comment (;;; -------------------- Jump table --------------------)
0x351d932fc808 position (5632)
0x351d932fc808 deopt reason (hole)
0x351d932fc809 runtime entry (deoptimization bailout 1)
0x351d932fc80d position (5632)
0x351d932fc80d deopt reason (value mismatch)
0x351d932fc80e runtime entry (deoptimization bailout 2)
0x351d932fc812 position (13313)
0x351d932fc812 deopt reason (Smi)
0x351d932fc813 runtime entry (deoptimization bailout 3)
0x351d932fc817 position (33793)
0x351d932fc817 deopt reason (hole)
0x351d932fc818 runtime entry (deoptimization bailout 4)
0x351d932fc81c position (33794)
0x351d932fc81c deopt reason (hole)
0x351d932fc81d runtime entry (deoptimization bailout 6)
0x351d932fc821 position (60416)
0x351d932fc821 deopt reason (Smi)
0x351d932fc822 runtime entry (deoptimization bailout 8)
0x351d932fc826 position (60416)
0x351d932fc826 deopt reason (wrong map)
0x351d932fc827 runtime entry (deoptimization bailout 9)
0x351d932fc82c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (hasProp) id{31,0} ---
(obj, prop) {
return hasOwn.call(obj, prop);
}
--- END ---
--- Raw source ---
(obj, prop) {
return hasOwn.call(obj, prop);
}
--- Optimized code ---
optimization_id = 31
source_position = 11725
kind = OPTIMIZED_FUNCTION
name = hasProp
stack_slots = 1
compiler = crankshaft
Instructions (size = 269)
0x351d932fdac0 0 55 push rbp
0x351d932fdac1 1 4889e5 REX.W movq rbp,rsp
0x351d932fdac4 4 56 push rsi
0x351d932fdac5 5 57 push rdi
0x351d932fdac6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932fdaca 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 11725
;;; <@3,#1> gap
0x351d932fdace 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@12,#9> -------------------- B1 --------------------
;;; <@13,#9> gap
0x351d932fdad2 18 488bf0 REX.W movq rsi,rax
;;; <@14,#11> stack-check
0x351d932fdad5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932fdadc 28 7305 jnc 35 (0x351d932fdae3)
0x351d932fdade 30 e8fd73e3ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@16,#11> lazy-bailout
;;; <@17,#11> gap
0x351d932fdae3 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@18,#12> load-context-slot
0x351d932fdae7 39 488bb8cf000000 REX.W movq rdi,[rax+0xcf] ;; debug: position 11754
;;; <@20,#13> check-non-smi
0x351d932fdaee 46 40f6c701 testb rdi,0x1 ;; debug: position 11761
0x351d932fdaf2 50 0f8496000000 jz 206 (0x351d932fdb8e)
;;; <@22,#14> check-maps
0x351d932fdaf8 56 49ba8167908290160000 REX.W movq r10,0x169082906781 ;; object: 0x169082906781 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932fdb02 66 4c3957ff REX.W cmpq [rdi-0x1],r10
0x351d932fdb06 70 0f8587000000 jnz 211 (0x351d932fdb93)
;;; <@24,#16> check-maps
;;; <@25,#16> gap
0x351d932fdb0c 76 488b5d18 REX.W movq rbx,[rbp+0x18]
;;; <@26,#21> wrap-receiver
0x351d932fdb10 80 4c8b5727 REX.W movq r10,[rdi+0x27]
0x351d932fdb14 84 41f6427b08 testb [r10+0x7b],0x8
0x351d932fdb19 89 7539 jnz 148 (0x351d932fdb54)
0x351d932fdb1b 91 41f6427c01 testb [r10+0x7c],0x1
0x351d932fdb20 96 7532 jnz 148 (0x351d932fdb54)
0x351d932fdb22 98 493b5db8 REX.W cmpq rbx,[r13-0x48]
0x351d932fdb26 102 7420 jz 136 (0x351d932fdb48)
0x351d932fdb28 104 493b5da8 REX.W cmpq rbx,[r13-0x58]
0x351d932fdb2c 108 741a jz 136 (0x351d932fdb48)
0x351d932fdb2e 110 f6c301 testb rbx,0x1
0x351d932fdb31 113 0f8461000000 jz 216 (0x351d932fdb98)
0x351d932fdb37 119 4c8b53ff REX.W movq r10,[rbx-0x1]
0x351d932fdb3b 123 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d932fdb40 128 0f8257000000 jc 221 (0x351d932fdb9d)
0x351d932fdb46 134 eb0c jmp 148 (0x351d932fdb54)
0x351d932fdb48 136 488b5f2f REX.W movq rbx,[rdi+0x2f]
0x351d932fdb4c 140 488b5b27 REX.W movq rbx,[rbx+0x27]
0x351d932fdb50 144 488b5b27 REX.W movq rbx,[rbx+0x27]
;;; <@28,#22> push-argument
0x351d932fdb54 148 53 push rbx
;;; <@29,#22> gap
0x351d932fdb55 149 488b5d10 REX.W movq rbx,[rbp+0x10]
;;; <@30,#22> push-argument
0x351d932fdb59 153 53 push rbx
;;; <@31,#22> gap
0x351d932fdb5a 154 488bf0 REX.W movq rsi,rax
;;; <@32,#23> invoke-function
0x351d932fdb5d 157 488b5727 REX.W movq rdx,[rdi+0x27]
0x351d932fdb61 161 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d932fdb65 165 48635a63 REX.W movsxlq rbx,[rdx+0x63]
0x351d932fdb69 169 488b5717 REX.W movq rdx,[rdi+0x17]
0x351d932fdb6d 173 4883fb01 REX.W cmpq rbx,0x1
0x351d932fdb71 177 740c jz 191 (0x351d932fdb7f)
0x351d932fdb73 179 b801000000 movl rax,0x1
0x351d932fdb78 184 e883c3e0ff call ArgumentsAdaptorTrampoline (0x351d93109f00) ;; code: BUILTIN
0x351d932fdb7d 189 eb02 jmp 193 (0x351d932fdb81)
0x351d932fdb7f 191 ffd2 call rdx
;;; <@34,#24> lazy-bailout
;;; <@36,#26> return
0x351d932fdb81 193 488be5 REX.W movq rsp,rbp ;; debug: position 11747
0x351d932fdb84 196 5d pop rbp
0x351d932fdb85 197 c21800 ret 0x18
0x351d932fdb88 200 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x351d932fdb8e 206 e87784b0ff call 0x351d92e0600a ;; debug: position 18432
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932fdb93 211 e87c84b0ff call 0x351d92e06014 ;; debug: position 18432
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x351d932fdb98 216 e88184b0ff call 0x351d92e0601e ;; debug: position 18432
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x351d932fdb9d 221 e87c84b0ff call 0x351d92e0601e ;; debug: position 18432
;; debug: deopt reason 'not a JavaScript object'
;; deoptimization bailout 3
0x351d932fdba2 226 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 5)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 3 0 -1
4 4 0 193
Safepoints (size = 41)
0x351d932fdae3 35 1 (sp -> fp) 0
0x351d932fdb7d 189 1 (sp -> fp) 4
0x351d932fdb81 193 1 (sp -> fp) 4
RelocInfo (size = 300)
0x351d932fdaca position (11725)
0x351d932fdaca comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932fdaca comment (;;; <@2,#1> context)
0x351d932fdace comment (;;; <@3,#1> gap)
0x351d932fdad2 comment (;;; <@12,#9> -------------------- B1 --------------------)
0x351d932fdad2 comment (;;; <@13,#9> gap)
0x351d932fdad5 comment (;;; <@14,#11> stack-check)
0x351d932fdadf code target (BUILTIN) (0x351d93134ee0)
0x351d932fdae3 comment (;;; <@16,#11> lazy-bailout)
0x351d932fdae3 comment (;;; <@17,#11> gap)
0x351d932fdae7 comment (;;; <@18,#12> load-context-slot)
0x351d932fdae7 position (11754)
0x351d932fdaee comment (;;; <@20,#13> check-non-smi)
0x351d932fdaee position (11761)
0x351d932fdaf8 comment (;;; <@22,#14> check-maps)
0x351d932fdafa embedded object (0x169082906781 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932fdb0c comment (;;; <@24,#16> check-maps)
0x351d932fdb0c comment (;;; <@25,#16> gap)
0x351d932fdb10 comment (;;; <@26,#21> wrap-receiver)
0x351d932fdb54 comment (;;; <@28,#22> push-argument)
0x351d932fdb55 comment (;;; <@29,#22> gap)
0x351d932fdb59 comment (;;; <@30,#22> push-argument)
0x351d932fdb5a comment (;;; <@31,#22> gap)
0x351d932fdb5d comment (;;; <@32,#23> invoke-function)
0x351d932fdb79 code target (BUILTIN) (0x351d93109f00)
0x351d932fdb81 comment (;;; <@34,#24> lazy-bailout)
0x351d932fdb81 comment (;;; <@36,#26> return)
0x351d932fdb81 position (11747)
0x351d932fdb8e comment (;;; -------------------- Jump table --------------------)
0x351d932fdb8e position (18432)
0x351d932fdb8e deopt reason (Smi)
0x351d932fdb8f runtime entry (deoptimization bailout 1)
0x351d932fdb93 position (18432)
0x351d932fdb93 deopt reason (wrong map)
0x351d932fdb94 runtime entry (deoptimization bailout 2)
0x351d932fdb98 position (18432)
0x351d932fdb98 deopt reason (Smi)
0x351d932fdb99 runtime entry (deoptimization bailout 3)
0x351d932fdb9d position (18432)
0x351d932fdb9d deopt reason (not a JavaScript object)
0x351d932fdb9e runtime entry (deoptimization bailout 3)
0x351d932fdba4 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (PropertyDescriptor_IsEnumerable) id{32,0} ---
(){
return this.enumerable_;
}
--- END ---
--- Raw source ---
(){
return this.enumerable_;
},
--- Optimized code ---
optimization_id = 32
source_position = 8013
kind = OPTIMIZED_FUNCTION
name = PropertyDescriptor_IsEnumerable
stack_slots = 1
compiler = crankshaft
Instructions (size = 107)
0x351d932fee60 0 55 push rbp
0x351d932fee61 1 4889e5 REX.W movq rbp,rsp
0x351d932fee64 4 56 push rsi
0x351d932fee65 5 57 push rdi
0x351d932fee66 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d932fee6a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 8013
;;; <@3,#1> gap
0x351d932fee6e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@8,#8> -------------------- B1 --------------------
;;; <@9,#8> gap
0x351d932fee72 18 488bf0 REX.W movq rsi,rax
;;; <@10,#10> stack-check
0x351d932fee75 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d932fee7c 28 7305 jnc 35 (0x351d932fee83)
0x351d932fee7e 30 e85d60e3ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@12,#10> lazy-bailout
;;; <@13,#10> gap
0x351d932fee83 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@14,#14> check-non-smi
0x351d932fee87 39 a801 test al,0x1 ;; debug: position 8028
0x351d932fee89 41 0f841f000000 jz 78 (0x351d932feeae)
;;; <@16,#15> check-maps
0x351d932fee8f 47 49bae12ea188a4140000 REX.W movq r10,0x14a488a12ee1 ;; object: 0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>
0x351d932fee99 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d932fee9d 61 0f8510000000 jnz 83 (0x351d932feeb3)
;;; <@18,#16> load-named-field
0x351d932feea3 67 488b4037 REX.W movq rax,[rax+0x37]
;;; <@20,#18> return
0x351d932feea7 71 488be5 REX.W movq rsp,rbp ;; debug: position 8017
0x351d932feeaa 74 5d pop rbp
0x351d932feeab 75 c20800 ret 0x8
;;; -------------------- Jump table --------------------
0x351d932feeae 78 e85771b0ff call 0x351d92e0600a ;; debug: position 7680
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d932feeb3 83 e85c71b0ff call 0x351d92e06014 ;; debug: position 7680
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 3)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
Safepoints (size = 19)
0x351d932fee83 35 1 (sp -> fp) 0
RelocInfo (size = 184)
0x351d932fee6a position (8013)
0x351d932fee6a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d932fee6a comment (;;; <@2,#1> context)
0x351d932fee6e comment (;;; <@3,#1> gap)
0x351d932fee72 comment (;;; <@8,#8> -------------------- B1 --------------------)
0x351d932fee72 comment (;;; <@9,#8> gap)
0x351d932fee75 comment (;;; <@10,#10> stack-check)
0x351d932fee7f code target (BUILTIN) (0x351d93134ee0)
0x351d932fee83 comment (;;; <@12,#10> lazy-bailout)
0x351d932fee83 comment (;;; <@13,#10> gap)
0x351d932fee87 comment (;;; <@14,#14> check-non-smi)
0x351d932fee87 position (8028)
0x351d932fee8f comment (;;; <@16,#15> check-maps)
0x351d932fee91 embedded object (0x14a488a12ee1 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d932feea3 comment (;;; <@18,#16> load-named-field)
0x351d932feea7 comment (;;; <@20,#18> return)
0x351d932feea7 position (8017)
0x351d932feeae comment (;;; -------------------- Jump table --------------------)
0x351d932feeae position (7680)
0x351d932feeae deopt reason (Smi)
0x351d932feeaf runtime entry (deoptimization bailout 1)
0x351d932feeb3 position (7680)
0x351d932feeb3 deopt reason (wrong map)
0x351d932feeb4 runtime entry (deoptimization bailout 2)
0x351d932feeb8 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE () id{33,0} ---
(depMap, i) {
var depId = depMap.id,
dep = getOwn(registry, depId);
//Only force things that have not completed
//being defined, so still in the registry,
//and only if it has not been matched up
//in the module already.
if (dep && !mod.depMatched[i] && !processed[depId]) {
if (getOwn(traced, depId)) {
mod.defineDep(i, defined[depId]);
mod.check(); //pass false?
} else {
breakCycle(dep, traced, processed);
}
}
}
--- END ---
--- FUNCTION SOURCE (getOwn) id{33,1} ---
(obj, prop) {
return hasProp(obj, prop) && obj[prop];
}
--- END ---
INLINE (getOwn) id{33,1} AS 1 AT <0:87>
--- FUNCTION SOURCE (hasProp) id{33,2} ---
(obj, prop) {
return hasOwn.call(obj, prop);
}
--- END ---
INLINE (hasProp) id{33,2} AS 2 AT <1:29>
--- FUNCTION SOURCE (getOwn) id{33,3} ---
(obj, prop) {
return hasProp(obj, prop) && obj[prop];
}
--- END ---
INLINE (getOwn) id{33,3} AS 3 AT <0:448>
--- FUNCTION SOURCE (hasProp) id{33,4} ---
(obj, prop) {
return hasOwn.call(obj, prop);
}
--- END ---
INLINE (hasProp) id{33,4} AS 4 AT <3:29>
--- Raw source ---
(depMap, i) {
var depId = depMap.id,
dep = getOwn(registry, depId);
//Only force things that have not completed
//being defined, so still in the registry,
//and only if it has not been matched up
//in the module already.
if (dep && !mod.depMatched[i] && !processed[depId]) {
if (getOwn(traced, depId)) {
mod.defineDep(i, defined[depId]);
mod.check(); //pass false?
} else {
breakCycle(dep, traced, processed);
}
}
})
--- Optimized code ---
optimization_id = 33
source_position = 31679
kind = OPTIMIZED_FUNCTION
stack_slots = 10
compiler = crankshaft
Instructions (size = 1572)
0x351d93306060 0 55 push rbp
0x351d93306061 1 4889e5 REX.W movq rbp,rsp
0x351d93306064 4 56 push rsi
0x351d93306065 5 57 push rdi
0x351d93306066 6 4883ec50 REX.W subq rsp,0x50
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d9330606a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 31679
;;; <@3,#1> gap
0x351d9330606e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@12,#9> -------------------- B1 --------------------
;;; <@13,#9> gap
0x351d93306072 18 488bf0 REX.W movq rsi,rax
;;; <@14,#11> stack-check
0x351d93306075 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d9330607c 28 7305 jnc 35 (0x351d93306083)
0x351d9330607e 30 e85deee2ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@16,#11> lazy-bailout
;;; <@17,#11> gap
0x351d93306083 35 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@18,#13> check-non-smi
0x351d93306087 39 a801 test al,0x1 ;; debug: position 31731
0x351d93306089 41 0f8411050000 jz 1344 (0x351d933065a0)
;;; <@21,#14> cmp-map-and-branch
0x351d9330608f 47 49ba8182a288a4140000 REX.W movq r10,0x14a488a28281 ;; object: 0x14a488a28281 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93306099 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d9330609d 61 0f842d000000 jz 112 (0x351d933060d0)
;;; <@22,#19> -------------------- B2 --------------------
;;; <@25,#20> is-string-and-branch
0x351d933060a3 67 a801 test al,0x1
0x351d933060a5 69 0f8411000000 jz 92 (0x351d933060bc)
0x351d933060ab 75 488b58ff REX.W movq rbx,[rax-0x1]
0x351d933060af 79 0fb65b0b movzxbl rbx,[rbx+0xb]
0x351d933060b3 83 f6c380 testb rbx,0x80
0x351d933060b6 86 0f8405000000 jz 97 (0x351d933060c1)
;;; <@26,#29> -------------------- B3 --------------------
;;; <@29,#30> deoptimize
0x351d933060bc 92 e853ffafff call 0x351d92e06014 ;; debug: position 26624
;; debug: deopt reason 'Unknown map in polymorphic access'
;; deoptimization bailout 2
;;; <@30,#31> -------------------- B4 (unreachable/replaced) --------------------
;;; <@32,#21> -------------------- B5 --------------------
;;; <@34,#23> check-maps
;;; <@36,#25> check-maps
;;; <@38,#27> gap
0x351d933060c1 97 48bbb941c0bdff1f0000 REX.W movq rbx,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
;;; <@39,#27> goto
0x351d933060cb 107 e907000000 jmp 119 (0x351d933060d7)
;;; <@40,#15> -------------------- B6 --------------------
;;; <@42,#16> load-named-field
0x351d933060d0 112 488b484f REX.W movq rcx,[rax+0x4f]
;;; <@44,#18> gap
0x351d933060d4 116 488bd9 REX.W movq rbx,rcx
;;; <@46,#33> -------------------- B7 --------------------
0x351d933060d7 119 48895de0 REX.W movq [rbp-0x20],rbx ;; debug: position 31713
;;; <@47,#33> gap
0x351d933060db 123 488b55e8 REX.W movq rdx,[rbp-0x18]
;;; <@48,#35> load-named-field
0x351d933060df 127 488b4a17 REX.W movq rcx,[rdx+0x17] ;; debug: position 31766
;;; <@50,#36> load-named-field
0x351d933060e3 131 488b7117 REX.W movq rsi,[rcx+0x17]
;;; <@52,#37> load-context-slot
0x351d933060e7 135 4c8b864f010000 REX.W movq r8,[rsi+0x14f]
;;; <@53,#37> gap
0x351d933060ee 142 4c8945d8 REX.W movq [rbp-0x28],r8
;;; <@54,#39> load-context-slot
0x351d933060f2 146 488b495f REX.W movq rcx,[rcx+0x5f] ;; debug: position 31773
;;; <@55,#39> gap
0x351d933060f6 150 48894dd0 REX.W movq [rbp-0x30],rcx
;;; <@56,#41> check-value
0x351d933060fa 154 49ba6187f9aa75320000 REX.W movq r10,0x3275aaf98761 ;; debug: position 31766
;; object: 0x3275aaf98761 <JS Function getOwn (SharedFunctionInfo 0x1714129ba0c1)>
0x351d93306104 164 4d3bc2 REX.W cmpq r8,r10
0x351d93306107 167 0f8598040000 jnz 1349 (0x351d933065a5)
;;; <@58,#43> constant-t
0x351d9330610d 173 48bef954f3aa75320000 REX.W movq rsi,0x3275aaf354f9 ;; debug: position 11804
;; object: 0x3275aaf354f9 <FixedArray[50]>
;;; <@60,#47> load-context-slot
0x351d93306117 183 4c8b8e47010000 REX.W movq r9,[rsi+0x147] ;; debug: position 11833
;;; <@61,#47> gap
0x351d9330611e 190 4c894dc8 REX.W movq [rbp-0x38],r9
;;; <@62,#48> check-value
0x351d93306122 194 49baa987f9aa75320000 REX.W movq r10,0x3275aaf987a9 ;; object: 0x3275aaf987a9 <JS Function hasProp (SharedFunctionInfo 0x1714129ba019)>
0x351d9330612c 204 4d3bca REX.W cmpq r9,r10
0x351d9330612f 207 0f8575040000 jnz 1354 (0x351d933065aa)
;;; <@64,#43> constant-t
0x351d93306135 213 48bef954f3aa75320000 REX.W movq rsi,0x3275aaf354f9 ;; debug: position 11804
;; object: 0x3275aaf354f9 <FixedArray[50]>
;;; <@66,#54> load-context-slot
0x351d9330613f 223 488bbecf000000 REX.W movq rdi,[rsi+0xcf] ;; debug: position 11754
;;; <@68,#55> check-non-smi
0x351d93306146 230 40f6c701 testb rdi,0x1 ;; debug: position 11761
0x351d9330614a 234 0f845f040000 jz 1359 (0x351d933065af)
;;; <@70,#56> check-maps
0x351d93306150 240 49ba8167908290160000 REX.W movq r10,0x169082906781 ;; object: 0x169082906781 <Map(FAST_HOLEY_ELEMENTS)>
0x351d9330615a 250 4c3957ff REX.W cmpq [rdi-0x1],r10
0x351d9330615e 254 0f8550040000 jnz 1364 (0x351d933065b4)
;;; <@72,#58> check-maps
;;; <@73,#58> gap
0x351d93306164 260 488bf1 REX.W movq rsi,rcx
;;; <@74,#62> wrap-receiver
0x351d93306167 263 4c8b5727 REX.W movq r10,[rdi+0x27]
0x351d9330616b 267 41f6427b08 testb [r10+0x7b],0x8
0x351d93306170 272 753a jnz 332 (0x351d933061ac)
0x351d93306172 274 41f6427c01 testb [r10+0x7c],0x1
0x351d93306177 279 7533 jnz 332 (0x351d933061ac)
0x351d93306179 281 493b75b8 REX.W cmpq rsi,[r13-0x48]
0x351d9330617d 285 7421 jz 320 (0x351d933061a0)
0x351d9330617f 287 493b75a8 REX.W cmpq rsi,[r13-0x58]
0x351d93306183 291 741b jz 320 (0x351d933061a0)
0x351d93306185 293 40f6c601 testb rsi,0x1
0x351d93306189 297 0f842a040000 jz 1369 (0x351d933065b9)
0x351d9330618f 303 4c8b56ff REX.W movq r10,[rsi-0x1]
0x351d93306193 307 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d93306198 312 0f8220040000 jc 1374 (0x351d933065be)
0x351d9330619e 318 eb0c jmp 332 (0x351d933061ac)
0x351d933061a0 320 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d933061a4 324 488b7627 REX.W movq rsi,[rsi+0x27]
0x351d933061a8 328 488b7627 REX.W movq rsi,[rsi+0x27]
;;; <@76,#63> push-argument
0x351d933061ac 332 56 push rsi
;;; <@78,#63> push-argument
0x351d933061ad 333 53 push rbx
;;; <@80,#43> constant-t
0x351d933061ae 334 48bef954f3aa75320000 REX.W movq rsi,0x3275aaf354f9 ;; debug: position 11804
;; object: 0x3275aaf354f9 <FixedArray[50]>
;;; <@82,#64> invoke-function
0x351d933061b8 344 488b5727 REX.W movq rdx,[rdi+0x27] ;; debug: position 11761
0x351d933061bc 348 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d933061c0 352 48635a63 REX.W movsxlq rbx,[rdx+0x63]
0x351d933061c4 356 488b5717 REX.W movq rdx,[rdi+0x17]
0x351d933061c8 360 4883fb01 REX.W cmpq rbx,0x1
0x351d933061cc 364 740c jz 378 (0x351d933061da)
0x351d933061ce 366 b801000000 movl rax,0x1
0x351d933061d3 371 e8283de0ff call ArgumentsAdaptorTrampoline (0x351d93109f00) ;; code: BUILTIN
0x351d933061d8 376 eb02 jmp 380 (0x351d933061dc)
0x351d933061da 378 ffd2 call rdx
;;; <@84,#65> lazy-bailout
;;; <@88,#69> -------------------- B8 --------------------
;;; <@91,#70> branch
0x351d933061dc 380 493b45c0 REX.W cmpq rax,[r13-0x40] ;; debug: position 11852
0x351d933061e0 384 0f840f000000 jz 405 (0x351d933061f5)
0x351d933061e6 390 493b45c8 REX.W cmpq rax,[r13-0x38]
0x351d933061ea 394 0f841c000000 jz 428 (0x351d9330620c)
0x351d933061f0 400 e865feafff call 0x351d92e0605a ;; debug: position 24577
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 9
;;; <@92,#74> -------------------- B9 (unreachable/replaced) --------------------
;;; <@96,#71> -------------------- B10 --------------------
;;; <@98,#43> constant-t
0x351d933061f5 405 48bef954f3aa75320000 REX.W movq rsi,0x3275aaf354f9 ;; debug: position 11858
;; debug: position 11804
;; object: 0x3275aaf354f9 <FixedArray[50]>
;;; <@99,#43> gap
0x351d933061ff 415 488b55d0 REX.W movq rdx,[rbp-0x30]
0x351d93306203 419 488b4de0 REX.W movq rcx,[rbp-0x20]
;;; <@100,#72> load-keyed-generic
0x351d93306207 423 e874f4e1ff call KeyedLoadIC_Megamorphic (0x351d93125680) ;; debug: position 11858
;; code: KEYED_LOAD_IC, MEGAMORPHIC
;;; <@102,#73> lazy-bailout
;;; <@106,#80> -------------------- B11 --------------------
0x351d9330620c 428 488945c0 REX.W movq [rbp-0x40],rax ;; debug: position 11826
;;; <@110,#84> -------------------- B12 --------------------
;;; <@113,#87> branch
0x351d93306210 432 493b45c0 REX.W cmpq rax,[r13-0x40] ;; debug: position 31713
;; debug: position 32049
0x351d93306214 436 0f8431000000 jz 491 (0x351d9330624b)
0x351d9330621a 442 493b45c8 REX.W cmpq rax,[r13-0x38]
0x351d9330621e 446 0f846b030000 jz 1327 (0x351d9330658f)
0x351d93306224 452 a801 test al,0x1
0x351d93306226 454 0f8497030000 jz 1379 (0x351d933065c3)
0x351d9330622c 460 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d93306230 464 41f6420c10 testb [r10+0xc],0x10
0x351d93306235 469 0f8554030000 jnz 1327 (0x351d9330658f)
0x351d9330623b 475 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d93306240 480 0f8305000000 jnc 491 (0x351d9330624b)
0x351d93306246 486 e823feafff call 0x351d92e0606e ;; debug: position 189440
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 11
;;; <@114,#91> -------------------- B13 (unreachable/replaced) --------------------
;;; <@118,#88> -------------------- B14 (unreachable/replaced) --------------------
;;; <@122,#94> -------------------- B15 --------------------
;;; <@123,#94> gap
0x351d9330624b 491 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 32057
;;; <@124,#95> load-context-slot
0x351d9330624f 495 488b533f REX.W movq rdx,[rbx+0x3f]
;;; <@126,#96> check-non-smi
0x351d93306253 499 f6c201 testb rdx,0x1 ;; debug: position 32060
0x351d93306256 502 0f846c030000 jz 1384 (0x351d933065c8)
;;; <@128,#97> check-maps
0x351d9330625c 508 49ba51a5a388a4140000 REX.W movq r10,0x14a488a3a551 ;; object: 0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93306266 518 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d9330626a 522 7414 jz 544 (0x351d93306280)
0x351d9330626c 524 49baa9bba388a4140000 REX.W movq r10,0x14a488a3bba9 ;; object: 0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93306276 534 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d9330627a 538 0f854d030000 jnz 1389 (0x351d933065cd)
;;; <@130,#98> load-named-field
0x351d93306280 544 488b523f REX.W movq rdx,[rdx+0x3f]
;;; <@131,#98> gap
0x351d93306284 548 488bf3 REX.W movq rsi,rbx
0x351d93306287 551 488b4d10 REX.W movq rcx,[rbp+0x10]
;;; <@132,#99> load-keyed-generic
0x351d9330628b 555 e8f0f3e1ff call KeyedLoadIC_Megamorphic (0x351d93125680) ;; debug: position 32071
;; code: KEYED_LOAD_IC, MEGAMORPHIC
;;; <@134,#100> lazy-bailout
;;; <@137,#101> branch
0x351d93306290 560 493b45a8 REX.W cmpq rax,[r13-0x58]
0x351d93306294 564 0f8405000000 jz 575 (0x351d9330629f)
0x351d9330629a 570 e8f7fdafff call 0x351d92e06096 ;; debug: position 200704
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 15
;;; <@138,#105> -------------------- B16 (unreachable/replaced) --------------------
;;; <@142,#108> -------------------- B17 --------------------
;;; <@143,#108> gap
0x351d9330629f 575 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 32079
;;; <@144,#109> load-context-slot
0x351d933062a3 579 488b502f REX.W movq rdx,[rax+0x2f]
;;; <@145,#109> gap
0x351d933062a7 583 488bf0 REX.W movq rsi,rax
0x351d933062aa 586 488b4de0 REX.W movq rcx,[rbp-0x20]
;;; <@146,#111> load-keyed-generic
0x351d933062ae 590 e8cdf3e1ff call KeyedLoadIC_Megamorphic (0x351d93125680) ;; debug: position 32088
;; code: KEYED_LOAD_IC, MEGAMORPHIC
;;; <@148,#112> lazy-bailout
;;; <@151,#113> branch
0x351d933062b3 595 493b45a8 REX.W cmpq rax,[r13-0x58]
0x351d933062b7 599 0f8405000000 jz 610 (0x351d933062c2)
0x351d933062bd 605 e8e8fdafff call 0x351d92e060aa ;; debug: position 209408
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 17
;;; <@152,#117> -------------------- B18 (unreachable/replaced) --------------------
;;; <@156,#120> -------------------- B19 --------------------
;;; <@157,#120> gap
0x351d933062c2 610 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 32127
;;; <@158,#121> load-named-field
0x351d933062c6 614 488b5817 REX.W movq rbx,[rax+0x17]
;;; <@160,#122> load-named-field
0x351d933062ca 618 488b5b17 REX.W movq rbx,[rbx+0x17]
;;; <@162,#123> load-context-slot
0x351d933062ce 622 488b9b4f010000 REX.W movq rbx,[rbx+0x14f]
;;; <@163,#123> gap
0x351d933062d5 629 48895db8 REX.W movq [rbp-0x48],rbx
;;; <@164,#124> load-context-slot
0x351d933062d9 633 488b5037 REX.W movq rdx,[rax+0x37] ;; debug: position 32134
;;; <@165,#124> gap
0x351d933062dd 637 488955b0 REX.W movq [rbp-0x50],rdx
;;; <@166,#126> check-value
0x351d933062e1 641 49ba6187f9aa75320000 REX.W movq r10,0x3275aaf98761 ;; debug: position 32127
;; object: 0x3275aaf98761 <JS Function getOwn (SharedFunctionInfo 0x1714129ba0c1)>
0x351d933062eb 651 493bda REX.W cmpq rbx,r10
0x351d933062ee 654 0f85de020000 jnz 1394 (0x351d933065d2)
;;; <@168,#43> constant-t
0x351d933062f4 660 48bef954f3aa75320000 REX.W movq rsi,0x3275aaf354f9 ;; debug: position 11804
;; object: 0x3275aaf354f9 <FixedArray[50]>
;;; <@170,#132> load-context-slot
0x351d933062fe 670 488b8e47010000 REX.W movq rcx,[rsi+0x147] ;; debug: position 11833
;;; <@171,#132> gap
0x351d93306305 677 48894da8 REX.W movq [rbp-0x58],rcx
;;; <@172,#133> check-value
0x351d93306309 681 49baa987f9aa75320000 REX.W movq r10,0x3275aaf987a9 ;; object: 0x3275aaf987a9 <JS Function hasProp (SharedFunctionInfo 0x1714129ba019)>
0x351d93306313 691 493bca REX.W cmpq rcx,r10
0x351d93306316 694 0f85bb020000 jnz 1399 (0x351d933065d7)
;;; <@174,#43> constant-t
0x351d9330631c 700 48bef954f3aa75320000 REX.W movq rsi,0x3275aaf354f9 ;; debug: position 11804
;; object: 0x3275aaf354f9 <FixedArray[50]>
;;; <@176,#139> load-context-slot
0x351d93306326 710 488bbecf000000 REX.W movq rdi,[rsi+0xcf] ;; debug: position 11754
;;; <@178,#140> check-non-smi
0x351d9330632d 717 40f6c701 testb rdi,0x1 ;; debug: position 11761
0x351d93306331 721 0f84a5020000 jz 1404 (0x351d933065dc)
;;; <@180,#141> check-maps
0x351d93306337 727 49ba8167908290160000 REX.W movq r10,0x169082906781 ;; object: 0x169082906781 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93306341 737 4c3957ff REX.W cmpq [rdi-0x1],r10
0x351d93306345 741 0f8596020000 jnz 1409 (0x351d933065e1)
;;; <@181,#141> gap
0x351d9330634b 747 488bf2 REX.W movq rsi,rdx
;;; <@182,#147> wrap-receiver
0x351d9330634e 750 4c8b5727 REX.W movq r10,[rdi+0x27]
0x351d93306352 754 41f6427b08 testb [r10+0x7b],0x8
0x351d93306357 759 753a jnz 819 (0x351d93306393)
0x351d93306359 761 41f6427c01 testb [r10+0x7c],0x1
0x351d9330635e 766 7533 jnz 819 (0x351d93306393)
0x351d93306360 768 493b75b8 REX.W cmpq rsi,[r13-0x48]
0x351d93306364 772 7421 jz 807 (0x351d93306387)
0x351d93306366 774 493b75a8 REX.W cmpq rsi,[r13-0x58]
0x351d9330636a 778 741b jz 807 (0x351d93306387)
0x351d9330636c 780 40f6c601 testb rsi,0x1
0x351d93306370 784 0f8470020000 jz 1414 (0x351d933065e6)
0x351d93306376 790 4c8b56ff REX.W movq r10,[rsi-0x1]
0x351d9330637a 794 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d9330637f 799 0f8266020000 jc 1419 (0x351d933065eb)
0x351d93306385 805 eb0c jmp 819 (0x351d93306393)
0x351d93306387 807 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d9330638b 811 488b7627 REX.W movq rsi,[rsi+0x27]
0x351d9330638f 815 488b7627 REX.W movq rsi,[rsi+0x27]
;;; <@184,#148> push-argument
0x351d93306393 819 56 push rsi
;;; <@186,#148> push-argument
0x351d93306394 820 ff75e0 push [rbp-0x20]
;;; <@188,#43> constant-t
0x351d93306397 823 48bef954f3aa75320000 REX.W movq rsi,0x3275aaf354f9 ;; debug: position 11804
;; object: 0x3275aaf354f9 <FixedArray[50]>
;;; <@190,#149> invoke-function
0x351d933063a1 833 488b5727 REX.W movq rdx,[rdi+0x27] ;; debug: position 11761
0x351d933063a5 837 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d933063a9 841 48635a63 REX.W movsxlq rbx,[rdx+0x63]
0x351d933063ad 845 488b5717 REX.W movq rdx,[rdi+0x17]
0x351d933063b1 849 4883fb01 REX.W cmpq rbx,0x1
0x351d933063b5 853 740c jz 867 (0x351d933063c3)
0x351d933063b7 855 b801000000 movl rax,0x1
0x351d933063bc 860 e83f3be0ff call ArgumentsAdaptorTrampoline (0x351d93109f00) ;; code: BUILTIN
0x351d933063c1 865 eb02 jmp 869 (0x351d933063c5)
0x351d933063c3 867 ffd2 call rdx
;;; <@192,#150> lazy-bailout
;;; <@195,#151> branch
0x351d933063c5 869 493b45a8 REX.W cmpq rax,[r13-0x58]
0x351d933063c9 873 0f8429010000 jz 1176 (0x351d933064f8)
0x351d933063cf 879 493b45c0 REX.W cmpq rax,[r13-0x40]
0x351d933063d3 883 0f847a000000 jz 1011 (0x351d93306453)
0x351d933063d9 889 493b45c8 REX.W cmpq rax,[r13-0x38]
0x351d933063dd 893 0f8415010000 jz 1176 (0x351d933064f8)
0x351d933063e3 899 493b45b8 REX.W cmpq rax,[r13-0x48]
0x351d933063e7 903 0f840b010000 jz 1176 (0x351d933064f8)
0x351d933063ed 909 4885c0 REX.W testq rax,rax
0x351d933063f0 912 0f8402010000 jz 1176 (0x351d933064f8)
0x351d933063f6 918 a801 test al,0x1
0x351d933063f8 920 0f8455000000 jz 1011 (0x351d93306453)
0x351d933063fe 926 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d93306402 930 41f6420c10 testb [r10+0xc],0x10
0x351d93306407 935 0f85eb000000 jnz 1176 (0x351d933064f8)
0x351d9330640d 941 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d93306412 946 0f833b000000 jnc 1011 (0x351d93306453)
0x351d93306418 952 41807a0b80 cmpb [r10+0xb],0x80
0x351d9330641d 957 7310 jnc 975 (0x351d9330642f)
0x351d9330641f 959 4883780f00 REX.W cmpq [rax+0xf],0x0
0x351d93306424 964 0f8529000000 jnz 1011 (0x351d93306453)
0x351d9330642a 970 e9c9000000 jmp 1176 (0x351d933064f8)
0x351d9330642f 975 41807a0b80 cmpb [r10+0xb],0x80
0x351d93306434 980 0f8419000000 jz 1011 (0x351d93306453)
0x351d9330643a 986 4d3b5500 REX.W cmpq r10,[r13+0x0]
0x351d9330643e 990 7513 jnz 1011 (0x351d93306453)
0x351d93306440 992 0f57c0 xorps xmm0,xmm0
0x351d93306443 995 660f2e4007 ucomisd xmm0,[rax+0x7]
0x351d93306448 1000 0f84aa000000 jz 1176 (0x351d933064f8)
0x351d9330644e 1006 e900000000 jmp 1011 (0x351d93306453)
;;; <@196,#156> -------------------- B20 (unreachable/replaced) --------------------
;;; <@200,#163> -------------------- B21 (unreachable/replaced) --------------------
;;; <@204,#152> -------------------- B22 (unreachable/replaced) --------------------
;;; <@208,#160> -------------------- B23 (unreachable/replaced) --------------------
;;; <@212,#167> -------------------- B24 --------------------
;;; <@214,#43> constant-t
0x351d93306453 1011 48bef954f3aa75320000 REX.W movq rsi,0x3275aaf354f9 ;; debug: position 11858
;; debug: position 11804
;; object: 0x3275aaf354f9 <FixedArray[50]>
;;; <@215,#43> gap
0x351d9330645d 1021 488b55b0 REX.W movq rdx,[rbp-0x50]
0x351d93306461 1025 488b4de0 REX.W movq rcx,[rbp-0x20]
;;; <@216,#168> load-keyed-generic
0x351d93306465 1029 e816f2e1ff call KeyedLoadIC_Megamorphic (0x351d93125680) ;; debug: position 11858
;; code: KEYED_LOAD_IC, MEGAMORPHIC
;;; <@218,#169> lazy-bailout
;;; <@221,#170> branch
0x351d9330646a 1034 493b45a8 REX.W cmpq rax,[r13-0x58]
0x351d9330646e 1038 0f8484000000 jz 1176 (0x351d933064f8)
0x351d93306474 1044 493b45c0 REX.W cmpq rax,[r13-0x40]
0x351d93306478 1048 0f84cb000000 jz 1257 (0x351d93306549)
0x351d9330647e 1054 493b45c8 REX.W cmpq rax,[r13-0x38]
0x351d93306482 1058 0f8470000000 jz 1176 (0x351d933064f8)
0x351d93306488 1064 493b45b8 REX.W cmpq rax,[r13-0x48]
0x351d9330648c 1068 0f8466000000 jz 1176 (0x351d933064f8)
0x351d93306492 1074 4885c0 REX.W testq rax,rax
0x351d93306495 1077 0f845d000000 jz 1176 (0x351d933064f8)
0x351d9330649b 1083 a801 test al,0x1
0x351d9330649d 1085 0f84a6000000 jz 1257 (0x351d93306549)
0x351d933064a3 1091 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d933064a7 1095 41f6420c10 testb [r10+0xc],0x10
0x351d933064ac 1100 0f8546000000 jnz 1176 (0x351d933064f8)
0x351d933064b2 1106 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d933064b7 1111 0f838c000000 jnc 1257 (0x351d93306549)
0x351d933064bd 1117 41807a0b80 cmpb [r10+0xb],0x80
0x351d933064c2 1122 7310 jnc 1140 (0x351d933064d4)
0x351d933064c4 1124 4883780f00 REX.W cmpq [rax+0xf],0x0
0x351d933064c9 1129 0f857a000000 jnz 1257 (0x351d93306549)
0x351d933064cf 1135 e924000000 jmp 1176 (0x351d933064f8)
0x351d933064d4 1140 41807a0b80 cmpb [r10+0xb],0x80
0x351d933064d9 1145 0f846a000000 jz 1257 (0x351d93306549)
0x351d933064df 1151 4d3b5500 REX.W cmpq r10,[r13+0x0]
0x351d933064e3 1155 7513 jnz 1176 (0x351d933064f8)
0x351d933064e5 1157 0f57c0 xorps xmm0,xmm0
0x351d933064e8 1160 660f2e4007 ucomisd xmm0,[rax+0x7]
0x351d933064ed 1165 0f8405000000 jz 1176 (0x351d933064f8)
0x351d933064f3 1171 e951000000 jmp 1257 (0x351d93306549)
;;; <@222,#175> -------------------- B25 (unreachable/replaced) --------------------
;;; <@226,#182> -------------------- B26 (unreachable/replaced) --------------------
;;; <@230,#205> -------------------- B27 --------------------
;;; <@231,#205> gap
0x351d933064f8 1176 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 32330
;;; <@232,#206> load-named-field
0x351d933064fc 1180 488b5817 REX.W movq rbx,[rax+0x17]
;;; <@234,#207> load-context-slot
0x351d93306500 1184 488b9bff000000 REX.W movq rbx,[rbx+0xff]
;;; <@236,#209> load-context-slot
0x351d93306507 1191 488b5037 REX.W movq rdx,[rax+0x37] ;; debug: position 32346
;;; <@238,#210> load-context-slot
0x351d9330650b 1195 488b482f REX.W movq rcx,[rax+0x2f] ;; debug: position 32354
;;; <@240,#211> check-value
0x351d9330650f 1199 49bae9f0f9aa75320000 REX.W movq r10,0x3275aaf9f0e9 ;; debug: position 32330
;; object: 0x3275aaf9f0e9 <JS Function breakCycle (SharedFunctionInfo 0x1714129de169)>
0x351d93306519 1209 493bda REX.W cmpq rbx,r10
0x351d9330651c 1212 0f85ce000000 jnz 1424 (0x351d933065f0)
;;; <@242,#213> push-argument
0x351d93306522 1218 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; object: 0x21ab18105f49 <JS Global Object>
0x351d9330652c 1228 4152 push r10
;;; <@244,#213> push-argument
0x351d9330652e 1230 ff75c0 push [rbp-0x40]
;;; <@246,#213> push-argument
0x351d93306531 1233 52 push rdx
;;; <@248,#213> push-argument
0x351d93306532 1234 51 push rcx
;;; <@250,#214> constant-t
0x351d93306533 1235 48bfe9f0f9aa75320000 REX.W movq rdi,0x3275aaf9f0e9 ;; object: 0x3275aaf9f0e9 <JS Function breakCycle (SharedFunctionInfo 0x1714129de169)>
;;; <@252,#215> call-js-function
0x351d9330653d 1245 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d93306541 1249 ff5717 call [rdi+0x17]
;;; <@254,#216> lazy-bailout
;;; <@257,#220> goto
0x351d93306544 1252 e946000000 jmp 1327 (0x351d9330658f) ;; debug: position 32123
;;; <@258,#171> -------------------- B28 (unreachable/replaced) --------------------
;;; <@262,#179> -------------------- B29 (unreachable/replaced) --------------------
;;; <@266,#185> -------------------- B30 --------------------
;;; <@267,#185> gap
0x351d93306549 1257 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 32180
;;; <@268,#186> load-context-slot
0x351d9330654d 1261 488b583f REX.W movq rbx,[rax+0x3f]
;;; <@269,#186> gap
0x351d93306551 1265 48895da0 REX.W movq [rbp-0x60],rbx
0x351d93306555 1269 488bf0 REX.W movq rsi,rax
0x351d93306558 1272 488bd3 REX.W movq rdx,rbx
;;; <@270,#187> load-named-generic
0x351d9330655b 1275 48b9f1b7941214170000 REX.W movq rcx,0x17141294b7f1 ;; debug: position 32184
;; object: 0x17141294b7f1 <String[9]: defineDep>
0x351d93306565 1285 48bb81c68a74df290000 REX.W movq rbx,0x29df748ac681 ;; object: 0x29df748ac681 <FixedArray[29]>
0x351d9330656f 1295 48b80000000013000000 REX.W movq rax,0x1300000000
0x351d93306579 1305 e8e29bfeff call 0x351d932f0160 ;; code: LOAD_IC, DEFAULT
;;; <@272,#188> lazy-bailout
;;; <@273,#188> gap
0x351d9330657e 1310 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@274,#189> load-named-field
0x351d93306582 1314 488b5317 REX.W movq rdx,[rbx+0x17] ;; debug: position 32197
;;; <@276,#190> load-context-slot
0x351d93306586 1318 488b527f REX.W movq rdx,[rdx+0x7f]
;;; <@279,#192> deoptimize
0x351d9330658a 1322 e889fbcfff call 0x351d93006118 ;; debug: position 32204
;; debug: position 268800
;; debug: deopt reason 'Insufficient type feedback for keyed load'
;; soft deoptimization bailout 28
;;; <@280,#193> -------------------- B31 (unreachable/replaced) --------------------
;;; <@312,#221> -------------------- B32 (unreachable/replaced) --------------------
;;; <@316,#114> -------------------- B33 (unreachable/replaced) --------------------
;;; <@320,#102> -------------------- B34 (unreachable/replaced) --------------------
;;; <@324,#224> -------------------- B35 (unreachable/replaced) --------------------
;;; <@328,#227> -------------------- B36 --------------------
;;; <@330,#6> constant-t
0x351d9330658f 1327 48b8b941c0bdff1f0000 REX.W movq rax,0x1fffbdc041b9 ;; debug: position 31679
;; object: 0x1fffbdc041b9 <undefined>
;;; <@332,#229> return
0x351d93306599 1337 488be5 REX.W movq rsp,rbp
0x351d9330659c 1340 5d pop rbp
0x351d9330659d 1341 c21800 ret 0x18
;;; -------------------- Jump table --------------------
0x351d933065a0 1344 e865faafff call 0x351d92e0600a ;; debug: position 26624
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d933065a5 1349 e874faafff call 0x351d92e0601e ;; debug: position 44544
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 3
0x351d933065aa 1354 e879faafff call 0x351d92e06028 ;; debug: position 14849
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 4
0x351d933065af 1359 e87efaafff call 0x351d92e06032 ;; debug: position 18434
;; debug: deopt reason 'Smi'
;; deoptimization bailout 5
0x351d933065b4 1364 e883faafff call 0x351d92e0603c ;; debug: position 18434
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 6
0x351d933065b9 1369 e888faafff call 0x351d92e06046 ;; debug: position 18434
;; debug: deopt reason 'Smi'
;; deoptimization bailout 7
0x351d933065be 1374 e883faafff call 0x351d92e06046 ;; debug: position 18434
;; debug: deopt reason 'not a JavaScript object'
;; deoptimization bailout 7
0x351d933065c3 1379 e8a6faafff call 0x351d92e0606e ;; debug: position 189440
;; debug: deopt reason 'Smi'
;; deoptimization bailout 11
0x351d933065c8 1384 e8abfaafff call 0x351d92e06078 ;; debug: position 195072
;; debug: deopt reason 'Smi'
;; deoptimization bailout 12
0x351d933065cd 1389 e8b0faafff call 0x351d92e06082 ;; debug: position 195072
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 13
0x351d933065d2 1394 e8ddfaafff call 0x351d92e060b4 ;; debug: position 229376
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 18
0x351d933065d7 1399 e8e2faafff call 0x351d92e060be ;; debug: position 14851
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 19
0x351d933065dc 1404 e8e7faafff call 0x351d92e060c8 ;; debug: position 18436
;; debug: deopt reason 'Smi'
;; deoptimization bailout 20
0x351d933065e1 1409 e8ecfaafff call 0x351d92e060d2 ;; debug: position 18436
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 21
0x351d933065e6 1414 e8f1faafff call 0x351d92e060dc ;; debug: position 18436
;; debug: deopt reason 'Smi'
;; deoptimization bailout 22
0x351d933065eb 1419 e8ecfaafff call 0x351d92e060dc ;; debug: position 18436
;; debug: deopt reason 'not a JavaScript object'
;; deoptimization bailout 22
0x351d933065f0 1424 e805fbafff call 0x351d92e060fa ;; debug: position 333312
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 25
0x351d933065f5 1429 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 2)
0x1714129ba0c1 <SharedFunctionInfo getOwn>
0x1714129ba019 <SharedFunctionInfo hasProp>
Deoptimization Input Data (deopt points = 29)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 20 0 -1
4 2 0 -1
5 2 0 -1
6 2 0 -1
7 2 0 -1
8 4 0 380
9 8 0 -1
10 22 0 428
11 36 0 -1
12 59 0 -1
13 59 0 -1
14 68 0 560
15 68 0 -1
16 87 0 595
17 87 0 -1
18 51 0 -1
19 2 0 -1
20 2 0 -1
21 2 0 -1
22 2 0 -1
23 4 0 869
24 22 0 1034
25 101 0 -1
26 162 0 1252
27 126 0 1310
28 126 0 -1
Safepoints (size = 140)
0x351d93306083 35 0000000001 (sp -> fp) 0
0x351d933061d8 376 0000011111 (sp -> fp) 8
0x351d933061dc 380 0000011111 (sp -> fp) 8
0x351d9330620c 428 0000001111 (sp -> fp) 10
0x351d93306290 560 0000100011 (sp -> fp) 14
0x351d933062b3 595 0000100011 (sp -> fp) 16
0x351d933063c1 865 0111100011 (sp -> fp) 23
0x351d933063c5 869 0111100011 (sp -> fp) 23
0x351d9330646a 1034 0011100011 (sp -> fp) 24
0x351d93306544 1252 0000000011 (sp -> fp) 26
0x351d9330657e 1310 1000100011 (sp -> fp) 27
RelocInfo (size = 2188)
0x351d9330606a position (31679)
0x351d9330606a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d9330606a comment (;;; <@2,#1> context)
0x351d9330606e comment (;;; <@3,#1> gap)
0x351d93306072 comment (;;; <@12,#9> -------------------- B1 --------------------)
0x351d93306072 comment (;;; <@13,#9> gap)
0x351d93306075 comment (;;; <@14,#11> stack-check)
0x351d9330607f code target (BUILTIN) (0x351d93134ee0)
0x351d93306083 comment (;;; <@16,#11> lazy-bailout)
0x351d93306083 comment (;;; <@17,#11> gap)
0x351d93306087 comment (;;; <@18,#13> check-non-smi)
0x351d93306087 position (31731)
0x351d9330608f comment (;;; <@21,#14> cmp-map-and-branch)
0x351d93306091 embedded object (0x14a488a28281 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d933060a3 comment (;;; <@22,#19> -------------------- B2 --------------------)
0x351d933060a3 comment (;;; <@25,#20> is-string-and-branch)
0x351d933060bc comment (;;; <@26,#29> -------------------- B3 --------------------)
0x351d933060bc comment (;;; <@29,#30> deoptimize)
0x351d933060bc position (26624)
0x351d933060bc deopt reason (Unknown map in polymorphic access)
0x351d933060bd runtime entry (deoptimization bailout 2)
0x351d933060c1 comment (;;; <@30,#31> -------------------- B4 (unreachable/replaced) --------------------)
0x351d933060c1 comment (;;; <@32,#21> -------------------- B5 --------------------)
0x351d933060c1 comment (;;; <@34,#23> check-maps)
0x351d933060c1 comment (;;; <@36,#25> check-maps)
0x351d933060c1 comment (;;; <@38,#27> gap)
0x351d933060c3 embedded object (0x1fffbdc041b9 <undefined>)
0x351d933060cb comment (;;; <@39,#27> goto)
0x351d933060d0 comment (;;; <@40,#15> -------------------- B6 --------------------)
0x351d933060d0 comment (;;; <@42,#16> load-named-field)
0x351d933060d4 comment (;;; <@44,#18> gap)
0x351d933060d7 position (31713)
0x351d933060d7 comment (;;; <@46,#33> -------------------- B7 --------------------)
0x351d933060db comment (;;; <@47,#33> gap)
0x351d933060df comment (;;; <@48,#35> load-named-field)
0x351d933060df position (31766)
0x351d933060e3 comment (;;; <@50,#36> load-named-field)
0x351d933060e7 comment (;;; <@52,#37> load-context-slot)
0x351d933060ee comment (;;; <@53,#37> gap)
0x351d933060f2 comment (;;; <@54,#39> load-context-slot)
0x351d933060f2 position (31773)
0x351d933060f6 comment (;;; <@55,#39> gap)
0x351d933060fa comment (;;; <@56,#41> check-value)
0x351d933060fa position (31766)
0x351d933060fc embedded object (0x3275aaf98761 <JS Function getOwn (SharedFunctionInfo 0x1714129ba0c1)>)
0x351d9330610d comment (;;; <@58,#43> constant-t)
0x351d9330610d position (11804)
0x351d9330610f embedded object (0x3275aaf354f9 <FixedArray[50]>)
0x351d93306117 comment (;;; <@60,#47> load-context-slot)
0x351d93306117 position (11833)
0x351d9330611e comment (;;; <@61,#47> gap)
0x351d93306122 comment (;;; <@62,#48> check-value)
0x351d93306124 embedded object (0x3275aaf987a9 <JS Function hasProp (SharedFunctionInfo 0x1714129ba019)>)
0x351d93306135 comment (;;; <@64,#43> constant-t)
0x351d93306135 position (11804)
0x351d93306137 embedded object (0x3275aaf354f9 <FixedArray[50]>)
0x351d9330613f comment (;;; <@66,#54> load-context-slot)
0x351d9330613f position (11754)
0x351d93306146 comment (;;; <@68,#55> check-non-smi)
0x351d93306146 position (11761)
0x351d93306150 comment (;;; <@70,#56> check-maps)
0x351d93306152 embedded object (0x169082906781 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93306164 comment (;;; <@72,#58> check-maps)
0x351d93306164 comment (;;; <@73,#58> gap)
0x351d93306167 comment (;;; <@74,#62> wrap-receiver)
0x351d933061ac comment (;;; <@76,#63> push-argument)
0x351d933061ad comment (;;; <@78,#63> push-argument)
0x351d933061ae comment (;;; <@80,#43> constant-t)
0x351d933061ae position (11804)
0x351d933061b0 embedded object (0x3275aaf354f9 <FixedArray[50]>)
0x351d933061b8 comment (;;; <@82,#64> invoke-function)
0x351d933061b8 position (11761)
0x351d933061d4 code target (BUILTIN) (0x351d93109f00)
0x351d933061dc comment (;;; <@84,#65> lazy-bailout)
0x351d933061dc position (11852)
0x351d933061dc comment (;;; <@88,#69> -------------------- B8 --------------------)
0x351d933061dc comment (;;; <@91,#70> branch)
0x351d933061f0 position (24577)
0x351d933061f0 deopt reason (unexpected object)
0x351d933061f1 runtime entry (deoptimization bailout 9)
0x351d933061f5 comment (;;; <@92,#74> -------------------- B9 (unreachable/replaced) --------------------)
0x351d933061f5 position (11858)
0x351d933061f5 comment (;;; <@96,#71> -------------------- B10 --------------------)
0x351d933061f5 comment (;;; <@98,#43> constant-t)
0x351d933061f5 position (11804)
0x351d933061f7 embedded object (0x3275aaf354f9 <FixedArray[50]>)
0x351d933061ff comment (;;; <@99,#43> gap)
0x351d93306207 comment (;;; <@100,#72> load-keyed-generic)
0x351d93306207 position (11858)
0x351d93306208 code target (KEYED_LOAD_IC) (0x351d93125680)
0x351d9330620c comment (;;; <@102,#73> lazy-bailout)
0x351d9330620c position (11826)
0x351d9330620c comment (;;; <@106,#80> -------------------- B11 --------------------)
0x351d93306210 position (31713)
0x351d93306210 comment (;;; <@110,#84> -------------------- B12 --------------------)
0x351d93306210 position (32049)
0x351d93306210 comment (;;; <@113,#87> branch)
0x351d93306246 position (189440)
0x351d93306246 deopt reason (unexpected object)
0x351d93306247 runtime entry (deoptimization bailout 11)
0x351d9330624b comment (;;; <@114,#91> -------------------- B13 (unreachable/replaced) --------------------)
0x351d9330624b comment (;;; <@118,#88> -------------------- B14 (unreachable/replaced) --------------------)
0x351d9330624b position (32057)
0x351d9330624b comment (;;; <@122,#94> -------------------- B15 --------------------)
0x351d9330624b comment (;;; <@123,#94> gap)
0x351d9330624f comment (;;; <@124,#95> load-context-slot)
0x351d93306253 comment (;;; <@126,#96> check-non-smi)
0x351d93306253 position (32060)
0x351d9330625c comment (;;; <@128,#97> check-maps)
0x351d9330625e embedded object (0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d9330626e embedded object (0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93306280 comment (;;; <@130,#98> load-named-field)
0x351d93306284 comment (;;; <@131,#98> gap)
0x351d9330628b comment (;;; <@132,#99> load-keyed-generic)
0x351d9330628b position (32071)
0x351d9330628c code target (KEYED_LOAD_IC) (0x351d93125680)
0x351d93306290 comment (;;; <@134,#100> lazy-bailout)
0x351d93306290 comment (;;; <@137,#101> branch)
0x351d9330629a position (200704)
0x351d9330629a deopt reason (unexpected object)
0x351d9330629b runtime entry (deoptimization bailout 15)
0x351d9330629f comment (;;; <@138,#105> -------------------- B16 (unreachable/replaced) --------------------)
0x351d9330629f position (32079)
0x351d9330629f comment (;;; <@142,#108> -------------------- B17 --------------------)
0x351d9330629f comment (;;; <@143,#108> gap)
0x351d933062a3 comment (;;; <@144,#109> load-context-slot)
0x351d933062a7 comment (;;; <@145,#109> gap)
0x351d933062ae comment (;;; <@146,#111> load-keyed-generic)
0x351d933062ae position (32088)
0x351d933062af code target (KEYED_LOAD_IC) (0x351d93125680)
0x351d933062b3 comment (;;; <@148,#112> lazy-bailout)
0x351d933062b3 comment (;;; <@151,#113> branch)
0x351d933062bd position (209408)
0x351d933062bd deopt reason (unexpected object)
0x351d933062be runtime entry (deoptimization bailout 17)
0x351d933062c2 comment (;;; <@152,#117> -------------------- B18 (unreachable/replaced) --------------------)
0x351d933062c2 position (32127)
0x351d933062c2 comment (;;; <@156,#120> -------------------- B19 --------------------)
0x351d933062c2 comment (;;; <@157,#120> gap)
0x351d933062c6 comment (;;; <@158,#121> load-named-field)
0x351d933062ca comment (;;; <@160,#122> load-named-field)
0x351d933062ce comment (;;; <@162,#123> load-context-slot)
0x351d933062d5 comment (;;; <@163,#123> gap)
0x351d933062d9 comment (;;; <@164,#124> load-context-slot)
0x351d933062d9 position (32134)
0x351d933062dd comment (;;; <@165,#124> gap)
0x351d933062e1 comment (;;; <@166,#126> check-value)
0x351d933062e1 position (32127)
0x351d933062e3 embedded object (0x3275aaf98761 <JS Function getOwn (SharedFunctionInfo 0x1714129ba0c1)>)
0x351d933062f4 comment (;;; <@168,#43> constant-t)
0x351d933062f4 position (11804)
0x351d933062f6 embedded object (0x3275aaf354f9 <FixedArray[50]>)
0x351d933062fe comment (;;; <@170,#132> load-context-slot)
0x351d933062fe position (11833)
0x351d93306305 comment (;;; <@171,#132> gap)
0x351d93306309 comment (;;; <@172,#133> check-value)
0x351d9330630b embedded object (0x3275aaf987a9 <JS Function hasProp (SharedFunctionInfo 0x1714129ba019)>)
0x351d9330631c comment (;;; <@174,#43> constant-t)
0x351d9330631c position (11804)
0x351d9330631e embedded object (0x3275aaf354f9 <FixedArray[50]>)
0x351d93306326 comment (;;; <@176,#139> load-context-slot)
0x351d93306326 position (11754)
0x351d9330632d comment (;;; <@178,#140> check-non-smi)
0x351d9330632d position (11761)
0x351d93306337 comment (;;; <@180,#141> check-maps)
0x351d93306339 embedded object (0x169082906781 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d9330634b comment (;;; <@181,#141> gap)
0x351d9330634e comment (;;; <@182,#147> wrap-receiver)
0x351d93306393 comment (;;; <@184,#148> push-argument)
0x351d93306394 comment (;;; <@186,#148> push-argument)
0x351d93306397 comment (;;; <@188,#43> constant-t)
0x351d93306397 position (11804)
0x351d93306399 embedded object (0x3275aaf354f9 <FixedArray[50]>)
0x351d933063a1 comment (;;; <@190,#149> invoke-function)
0x351d933063a1 position (11761)
0x351d933063bd code target (BUILTIN) (0x351d93109f00)
0x351d933063c5 comment (;;; <@192,#150> lazy-bailout)
0x351d933063c5 comment (;;; <@195,#151> branch)
0x351d93306453 comment (;;; <@196,#156> -------------------- B20 (unreachable/replaced) --------------------)
0x351d93306453 comment (;;; <@200,#163> -------------------- B21 (unreachable/replaced) --------------------)
0x351d93306453 comment (;;; <@204,#152> -------------------- B22 (unreachable/replaced) --------------------)
0x351d93306453 comment (;;; <@208,#160> -------------------- B23 (unreachable/replaced) --------------------)
0x351d93306453 position (11858)
0x351d93306453 comment (;;; <@212,#167> -------------------- B24 --------------------)
0x351d93306453 comment (;;; <@214,#43> constant-t)
0x351d93306453 position (11804)
0x351d93306455 embedded object (0x3275aaf354f9 <FixedArray[50]>)
0x351d9330645d comment (;;; <@215,#43> gap)
0x351d93306465 comment (;;; <@216,#168> load-keyed-generic)
0x351d93306465 position (11858)
0x351d93306466 code target (KEYED_LOAD_IC) (0x351d93125680)
0x351d9330646a comment (;;; <@218,#169> lazy-bailout)
0x351d9330646a comment (;;; <@221,#170> branch)
0x351d933064f8 comment (;;; <@222,#175> -------------------- B25 (unreachable/replaced) --------------------)
0x351d933064f8 comment (;;; <@226,#182> -------------------- B26 (unreachable/replaced) --------------------)
0x351d933064f8 position (32330)
0x351d933064f8 comment (;;; <@230,#205> -------------------- B27 --------------------)
0x351d933064f8 comment (;;; <@231,#205> gap)
0x351d933064fc comment (;;; <@232,#206> load-named-field)
0x351d93306500 comment (;;; <@234,#207> load-context-slot)
0x351d93306507 comment (;;; <@236,#209> load-context-slot)
0x351d93306507 position (32346)
0x351d9330650b comment (;;; <@238,#210> load-context-slot)
0x351d9330650b position (32354)
0x351d9330650f comment (;;; <@240,#211> check-value)
0x351d9330650f position (32330)
0x351d93306511 embedded object (0x3275aaf9f0e9 <JS Function breakCycle (SharedFunctionInfo 0x1714129de169)>)
0x351d93306522 comment (;;; <@242,#213> push-argument)
0x351d93306524 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d9330652e comment (;;; <@244,#213> push-argument)
0x351d93306531 comment (;;; <@246,#213> push-argument)
0x351d93306532 comment (;;; <@248,#213> push-argument)
0x351d93306533 comment (;;; <@250,#214> constant-t)
0x351d93306535 embedded object (0x3275aaf9f0e9 <JS Function breakCycle (SharedFunctionInfo 0x1714129de169)>)
0x351d9330653d comment (;;; <@252,#215> call-js-function)
0x351d93306544 comment (;;; <@254,#216> lazy-bailout)
0x351d93306544 position (32123)
0x351d93306544 comment (;;; <@257,#220> goto)
0x351d93306549 comment (;;; <@258,#171> -------------------- B28 (unreachable/replaced) --------------------)
0x351d93306549 comment (;;; <@262,#179> -------------------- B29 (unreachable/replaced) --------------------)
0x351d93306549 position (32180)
0x351d93306549 comment (;;; <@266,#185> -------------------- B30 --------------------)
0x351d93306549 comment (;;; <@267,#185> gap)
0x351d9330654d comment (;;; <@268,#186> load-context-slot)
0x351d93306551 comment (;;; <@269,#186> gap)
0x351d9330655b comment (;;; <@270,#187> load-named-generic)
0x351d9330655b position (32184)
0x351d9330655d embedded object (0x17141294b7f1 <String[9]: defineDep>)
0x351d93306567 embedded object (0x29df748ac681 <FixedArray[29]>)
0x351d9330657a code target (LOAD_IC) (0x351d932f0160)
0x351d9330657e comment (;;; <@272,#188> lazy-bailout)
0x351d9330657e comment (;;; <@273,#188> gap)
0x351d93306582 comment (;;; <@274,#189> load-named-field)
0x351d93306582 position (32197)
0x351d93306586 comment (;;; <@276,#190> load-context-slot)
0x351d9330658a position (32204)
0x351d9330658a comment (;;; <@279,#192> deoptimize)
0x351d9330658a position (268800)
0x351d9330658a deopt reason (Insufficient type feedback for keyed load)
0x351d9330658b runtime entry
0x351d9330658f comment (;;; <@280,#193> -------------------- B31 (unreachable/replaced) --------------------)
0x351d9330658f comment (;;; <@312,#221> -------------------- B32 (unreachable/replaced) --------------------)
0x351d9330658f comment (;;; <@316,#114> -------------------- B33 (unreachable/replaced) --------------------)
0x351d9330658f comment (;;; <@320,#102> -------------------- B34 (unreachable/replaced) --------------------)
0x351d9330658f comment (;;; <@324,#224> -------------------- B35 (unreachable/replaced) --------------------)
0x351d9330658f position (31679)
0x351d9330658f comment (;;; <@328,#227> -------------------- B36 --------------------)
0x351d9330658f comment (;;; <@330,#6> constant-t)
0x351d93306591 embedded object (0x1fffbdc041b9 <undefined>)
0x351d93306599 comment (;;; <@332,#229> return)
0x351d933065a0 comment (;;; -------------------- Jump table --------------------)
0x351d933065a0 position (26624)
0x351d933065a0 deopt reason (Smi)
0x351d933065a1 runtime entry (deoptimization bailout 1)
0x351d933065a5 position (44544)
0x351d933065a5 deopt reason (value mismatch)
0x351d933065a6 runtime entry (deoptimization bailout 3)
0x351d933065aa position (14849)
0x351d933065aa deopt reason (value mismatch)
0x351d933065ab runtime entry (deoptimization bailout 4)
0x351d933065af position (18434)
0x351d933065af deopt reason (Smi)
0x351d933065b0 runtime entry (deoptimization bailout 5)
0x351d933065b4 position (18434)
0x351d933065b4 deopt reason (wrong map)
0x351d933065b5 runtime entry (deoptimization bailout 6)
0x351d933065b9 position (18434)
0x351d933065b9 deopt reason (Smi)
0x351d933065ba runtime entry (deoptimization bailout 7)
0x351d933065be position (18434)
0x351d933065be deopt reason (not a JavaScript object)
0x351d933065bf runtime entry (deoptimization bailout 7)
0x351d933065c3 position (189440)
0x351d933065c3 deopt reason (Smi)
0x351d933065c4 runtime entry (deoptimization bailout 11)
0x351d933065c8 position (195072)
0x351d933065c8 deopt reason (Smi)
0x351d933065c9 runtime entry (deoptimization bailout 12)
0x351d933065cd position (195072)
0x351d933065cd deopt reason (wrong map)
0x351d933065ce runtime entry (deoptimization bailout 13)
0x351d933065d2 position (229376)
0x351d933065d2 deopt reason (value mismatch)
0x351d933065d3 runtime entry (deoptimization bailout 18)
0x351d933065d7 position (14851)
0x351d933065d7 deopt reason (value mismatch)
0x351d933065d8 runtime entry (deoptimization bailout 19)
0x351d933065dc position (18436)
0x351d933065dc deopt reason (Smi)
0x351d933065dd runtime entry (deoptimization bailout 20)
0x351d933065e1 position (18436)
0x351d933065e1 deopt reason (wrong map)
0x351d933065e2 runtime entry (deoptimization bailout 21)
0x351d933065e6 position (18436)
0x351d933065e6 deopt reason (Smi)
0x351d933065e7 runtime entry (deoptimization bailout 22)
0x351d933065eb position (18436)
0x351d933065eb deopt reason (not a JavaScript object)
0x351d933065ec runtime entry (deoptimization bailout 22)
0x351d933065f0 position (333312)
0x351d933065f0 deopt reason (value mismatch)
0x351d933065f1 runtime entry (deoptimization bailout 25)
0x351d933065f8 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (splitPrefix) id{34,0} ---
(name) {
var prefix,
index = name ? name.indexOf('!') : -1;
if (index > -1) {
prefix = name.substring(0, index);
name = name.substring(index + 1, name.length);
}
return [prefix, name];
}
--- END ---
--- Raw source ---
(name) {
var prefix,
index = name ? name.indexOf('!') : -1;
if (index > -1) {
prefix = name.substring(0, index);
name = name.substring(index + 1, name.length);
}
return [prefix, name];
}
--- Optimized code ---
optimization_id = 34
source_position = 23264
kind = OPTIMIZED_FUNCTION
name = splitPrefix
stack_slots = 3
compiler = crankshaft
Instructions (size = 890)
0x351d933251a0 0 55 push rbp
0x351d933251a1 1 4889e5 REX.W movq rbp,rsp
0x351d933251a4 4 56 push rsi
0x351d933251a5 5 57 push rdi
0x351d933251a6 6 4883ec18 REX.W subq rsp,0x18
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d933251aa 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 23264
;;; <@3,#1> gap
0x351d933251ae 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d933251b2 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d933251b5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d933251bc 28 7305 jnc 35 (0x351d933251c3)
0x351d933251be 30 e81dfde0ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@16,#12> gap
0x351d933251c3 35 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 23321
;;; <@17,#12> branch
0x351d933251c7 39 a801 test al,0x1
0x351d933251c9 41 0f84e1020000 jz 784 (0x351d933254b0)
0x351d933251cf 47 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d933251d3 51 41f6420c10 testb [r10+0xc],0x10
0x351d933251d8 56 0f851c000000 jnz 90 (0x351d933251fa)
0x351d933251de 62 41807a0b80 cmpb [r10+0xb],0x80
0x351d933251e3 67 7310 jnc 85 (0x351d933251f5)
0x351d933251e5 69 4883780f00 REX.W cmpq [rax+0xf],0x0
0x351d933251ea 74 0f8519000000 jnz 105 (0x351d93325209)
0x351d933251f0 80 e905000000 jmp 90 (0x351d933251fa)
0x351d933251f5 85 e8100eaeff call 0x351d92e0600a ;; debug: position 29184
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 1
;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------
;;; <@22,#30> -------------------- B3 --------------------
;;; <@24,#35> gap
0x351d933251fa 90 48b800000000ffffffff REX.W movq rax,0xffffffff00000000 ;; debug: position 23348
;; debug: position 23321
;;; <@25,#35> goto
0x351d93325204 100 e935000000 jmp 158 (0x351d9332523e)
;;; <@26,#13> -------------------- B4 (unreachable/replaced) --------------------
;;; <@30,#19> -------------------- B5 --------------------
;;; <@32,#20> check-non-smi
0x351d93325209 105 a801 test al,0x1 ;; debug: position 23333
0x351d9332520b 107 0f84a4020000 jz 789 (0x351d933254b5)
;;; <@34,#21> check-instance-type
0x351d93325211 113 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d93325215 117 41f6420b80 testb [r10+0xb],0x80
0x351d9332521a 122 0f859a020000 jnz 794 (0x351d933254ba)
;;; <@36,#23> check-maps
;;; <@38,#27> push-argument
0x351d93325220 128 50 push rax
;;; <@40,#27> push-argument
0x351d93325221 129 49bae9b2941214170000 REX.W movq r10,0x17141294b2e9 ;; object: 0x17141294b2e9 <String[1]: !>
0x351d9332522b 139 4152 push r10
;;; <@42,#26> constant-t
0x351d9332522d 141 48bf2962c9bdff1f0000 REX.W movq rdi,0x1fffbdc96229 ;; object: 0x1fffbdc96229 <JS Function indexOf (SharedFunctionInfo 0x1fffbdc4bea1)>
;;; <@44,#28> call-js-function
0x351d93325237 151 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d9332523b 155 ff5717 call [rdi+0x17]
;;; <@46,#29> lazy-bailout
;;; <@50,#37> -------------------- B6 --------------------
0x351d9332523e 158 488945e0 REX.W movq [rbp-0x20],rax ;; debug: position 23285
;;; <@51,#37> gap
0x351d93325242 162 488bd8 REX.W movq rbx,rax
;;; <@52,#119> tagged-to-i
0x351d93325245 165 f6c301 testb rbx,0x1 ;; debug: position 23368
0x351d93325248 168 0f85ca010000 jnz 632 (0x351d93325418)
0x351d9332524e 174 48c1eb20 REX.W shrq rbx, 32
;;; <@55,#41> compare-numeric-and-branch
0x351d93325252 178 83fbff cmpl rbx,0xff ;; debug: position 23374
0x351d93325255 181 0f8f13000000 jg 206 (0x351d9332526e)
;;; <@56,#45> -------------------- B7 (unreachable/replaced) --------------------
;;; <@60,#75> -------------------- B8 --------------------
;;; <@62,#77> gap
0x351d9332525b 187 488b5d10 REX.W movq rbx,[rbp+0x10] ;; debug: position 23364
0x351d9332525f 191 48b8b941c0bdff1f0000 REX.W movq rax,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
;;; <@63,#77> goto
0x351d93325269 201 e978000000 jmp 326 (0x351d933252e6)
;;; <@64,#42> -------------------- B9 (unreachable/replaced) --------------------
;;; <@68,#48> -------------------- B10 --------------------
;;; <@69,#48> gap
0x351d9332526e 206 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 23412
0x351d93325272 210 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@70,#49> load-named-generic
0x351d93325276 214 48b9a1cac4bdff1f0000 REX.W movq rcx,0x1fffbdc4caa1 ;; object: 0x1fffbdc4caa1 <String[9]: substring>
0x351d93325280 224 48bb31809e1214170000 REX.W movq rbx,0x1714129e8031 ;; object: 0x1714129e8031 <FixedArray[18]>
0x351d9332528a 234 48b8000000000a000000 REX.W movq rax,0xa00000000
0x351d93325294 244 e8c7aefcff call 0x351d932f0160 ;; code: LOAD_IC, DEFAULT
;;; <@72,#50> lazy-bailout
;;; <@74,#54> push-argument
0x351d93325299 249 ff7510 push [rbp+0x10]
;;; <@76,#54> push-argument
0x351d9332529c 252 6a00 push 0x0
;;; <@78,#54> push-argument
0x351d9332529e 254 ff75e0 push [rbp-0x20]
;;; <@79,#54> gap
0x351d933252a1 257 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d933252a5 261 488bf8 REX.W movq rdi,rax
;;; <@80,#55> call-function
0x351d933252a8 264 e8b3e8ffff call 0x351d93323b60 ;; code: STUB, CallFunctionStub, argc = 2
;;; <@81,#55> gap
0x351d933252ad 269 488945d8 REX.W movq [rbp-0x28],rax
;;; <@82,#56> lazy-bailout
;;; <@83,#56> gap
0x351d933252b1 273 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d933252b5 277 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@84,#58> load-named-generic
0x351d933252b9 281 0f1f440000 nop
0x351d933252be 286 48b9a1cac4bdff1f0000 REX.W movq rcx,0x1fffbdc4caa1 ;; debug: position 23461
;; object: 0x1fffbdc4caa1 <String[9]: substring>
0x351d933252c8 296 48bb31809e1214170000 REX.W movq rbx,0x1714129e8031 ;; object: 0x1714129e8031 <FixedArray[18]>
0x351d933252d2 306 48b8000000000e000000 REX.W movq rax,0xe00000000
0x351d933252dc 316 e87faefcff call 0x351d932f0160 ;; code: LOAD_IC, DEFAULT
;;; <@86,#59> lazy-bailout
;;; <@89,#62> deoptimize
0x351d933252e1 321 e86a0dceff call 0x351d93006050 ;; debug: position 23477
;; debug: position 109056
;; debug: deopt reason 'Insufficient type feedback for LHS of binary operation'
;; soft deoptimization bailout 8
;;; <@90,#63> -------------------- B11 (unreachable/replaced) --------------------
;;; <@100,#67> -------------------- B12 (unreachable/replaced) --------------------
;;; <@118,#80> -------------------- B13 --------------------
;;; <@120,#82> allocate
0x351d933252e6 326 498b8d400b0000 REX.W movq rcx,[r13+0xb40] ;; debug: position 23529
0x351d933252ed 333 488bd1 REX.W movq rdx,rcx
0x351d933252f0 336 4883c240 REX.W addq rdx,0x40
0x351d933252f4 340 0f8251010000 jc 683 (0x351d9332544b)
0x351d933252fa 346 493b95480b0000 REX.W cmpq rdx,[r13+0xb48]
0x351d93325301 353 0f8744010000 ja 683 (0x351d9332544b)
0x351d93325307 359 498995400b0000 REX.W movq [r13+0xb40],rdx
0x351d9332530e 366 48ffc1 REX.W incq rcx
;;; <@122,#126> store-named-field
0x351d93325311 369 c7411f00000000 movl [rcx+0x1f],0x0
;;; <@124,#84> store-named-field
0x351d93325318 376 49ba3141c0bdff1f0000 REX.W movq r10,0x1fffbdc04131 ;; object: 0x1fffbdc04131 <FixedArray[0]>
0x351d93325322 386 4c89510f REX.W movq [rcx+0xf],r10
;;; <@126,#86> store-named-field
0x351d93325326 390 49bac16f908290160000 REX.W movq r10,0x169082906fc1 ;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d93325330 400 4c8951ff REX.W movq [rcx-0x1],r10
;;; <@128,#88> store-named-field
0x351d93325334 404 49ba3141c0bdff1f0000 REX.W movq r10,0x1fffbdc04131 ;; object: 0x1fffbdc04131 <FixedArray[0]>
0x351d9332533e 414 4c895107 REX.W movq [rcx+0x7],r10
;;; <@130,#90> store-named-field
0x351d93325342 418 49ba0000000002000000 REX.W movq r10,0x200000000
0x351d9332534c 428 4c895117 REX.W movq [rcx+0x17],r10
;;; <@132,#128> inner-allocated-object
0x351d93325350 432 488d5120 REX.W leaq rdx,[rcx+0x20]
;;; <@134,#95> store-named-field
0x351d93325354 436 49ba0942908290160000 REX.W movq r10,0x169082904209 ;; object: 0x169082904209 <Map(FAST_SMI_ELEMENTS)>
0x351d9332535e 446 4c8952ff REX.W movq [rdx-0x1],r10
;;; <@136,#96> store-named-field
0x351d93325362 450 49ba0000000002000000 REX.W movq r10,0x200000000
0x351d9332536c 460 4c895207 REX.W movq [rdx+0x7],r10
;;; <@138,#97> constant-t
0x351d93325370 464 48bea1b7faaa75320000 REX.W movq rsi,0x3275aafab7a1 ;; object: 0x3275aafab7a1 <FixedArray[2]>
;;; <@140,#99> load-keyed
0x351d9332537a 474 488b760f REX.W movq rsi,[rsi+0xf]
;;; <@142,#100> store-keyed
0x351d9332537e 478 4889720f REX.W movq [rdx+0xf],rsi
;;; <@144,#97> constant-t
0x351d93325382 482 48bea1b7faaa75320000 REX.W movq rsi,0x3275aafab7a1 ;; object: 0x3275aafab7a1 <FixedArray[2]>
;;; <@146,#102> load-keyed
0x351d9332538c 492 488b7617 REX.W movq rsi,[rsi+0x17]
;;; <@148,#103> store-keyed
0x351d93325390 496 48897217 REX.W movq [rdx+0x17],rsi
;;; <@150,#104> store-named-field
0x351d93325394 500 4889510f REX.W movq [rcx+0xf],rdx
;;; <@152,#107> load-named-field
0x351d93325398 504 488b510f REX.W movq rdx,[rcx+0xf]
;;; <@154,#117> constant-i
0x351d9332539c 508 33f6 xorl rsi,rsi ;; debug: position 23264
;;; <@155,#117> gap
0x351d9332539e 510 488bfa REX.W movq rdi,rdx
;;; <@156,#109> store-keyed
0x351d933253a1 513 488944f70f REX.W movq [rdi+rsi*8+0xf],rax ;; debug: position 23529
0x351d933253a6 518 488d74f70f REX.W leaq rsi,[rdi+rsi*8+0xf]
0x351d933253ab 523 a801 test al,0x1
0x351d933253ad 525 0f8421000000 jz 564 (0x351d933253d4)
0x351d933253b3 531 48250000f0ff REX.W and rax,0xfffffffffff00000
0x351d933253b9 537 f6400804 testb [rax+0x8],0x4
0x351d933253bd 541 7415 jz 564 (0x351d933253d4)
0x351d933253bf 543 48c7c00000f0ff REX.W movq rax,0xfff00000
0x351d933253c6 550 4823c7 REX.W andq rax,rdi
0x351d933253c9 553 f6400808 testb [rax+0x8],0x8
0x351d933253cd 557 7405 jz 564 (0x351d933253d4)
0x351d933253cf 559 e8ece8ffff call 0x351d93323cc0 ;; code: STUB, RecordWriteStub, minor: 9735
;;; <@158,#112> constant-i
0x351d933253d4 564 b801000000 movl rax,0x1
;;; <@160,#113> store-keyed
0x351d933253d9 569 48895cc20f REX.W movq [rdx+rax*8+0xf],rbx
0x351d933253de 574 488d44c20f REX.W leaq rax,[rdx+rax*8+0xf]
0x351d933253e3 579 f6c301 testb rbx,0x1
0x351d933253e6 582 0f8422000000 jz 622 (0x351d9332540e)
0x351d933253ec 588 4881e30000f0ff REX.W andq rbx,0xfffffffffff00000
0x351d933253f3 595 f6430804 testb [rbx+0x8],0x4
0x351d933253f7 599 7415 jz 622 (0x351d9332540e)
0x351d933253f9 601 48c7c30000f0ff REX.W movq rbx,0xfff00000
0x351d93325400 608 4823da REX.W andq rbx,rdx
0x351d93325403 611 f6430808 testb [rbx+0x8],0x8
0x351d93325407 615 7405 jz 622 (0x351d9332540e)
0x351d93325409 617 e812f3ffff call 0x351d93324720 ;; code: STUB, RecordWriteStub, minor: 8242
;;; <@161,#113> gap
0x351d9332540e 622 488bc1 REX.W movq rax,rcx
;;; <@162,#116> return
0x351d93325411 625 488be5 REX.W movq rsp,rbp ;; debug: position 23522
0x351d93325414 628 5d pop rbp
0x351d93325415 629 c21000 ret 0x10
;;; <@52,#119> -------------------- Deferred tagged-to-i --------------------
0x351d93325418 632 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 23368
0x351d9332541c 636 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d93325420 640 0f8599000000 jnz 799 (0x351d933254bf)
0x351d93325426 646 f20f104307 movsd xmm0,[rbx+0x7]
0x351d9332542b 651 f20f2cd8 cvttsd2sil rbx,xmm0
0x351d9332542f 655 0f57c9 xorps xmm1,xmm1
0x351d93325432 658 f20f2acb cvtsi2sd xmm1,rbx
0x351d93325436 662 660f2ec1 ucomisd xmm0,xmm1
0x351d9332543a 666 0f8584000000 jnz 804 (0x351d933254c4)
0x351d93325440 672 0f8a83000000 jpe 809 (0x351d933254c9)
0x351d93325446 678 e907feffff jmp 178 (0x351d93325252)
;;; <@120,#82> -------------------- Deferred allocate --------------------
0x351d9332544b 683 48b90000000000000000 REX.W movq rcx,(nil) ;; debug: position 23529
0x351d93325455 693 50 push rax
0x351d93325456 694 51 push rcx
0x351d93325457 695 52 push rdx
0x351d93325458 696 53 push rbx
0x351d93325459 697 56 push rsi
0x351d9332545a 698 57 push rdi
0x351d9332545b 699 4150 push r8
0x351d9332545d 701 4151 push r9
0x351d9332545f 703 4153 push r11
0x351d93325461 705 4154 push r12
0x351d93325463 707 4156 push r14
0x351d93325465 709 4157 push r15
0x351d93325467 711 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d9332546c 716 49ba0000000040000000 REX.W movq r10,0x4000000000
0x351d93325476 726 4152 push r10
0x351d93325478 728 6a00 push 0x0
0x351d9332547a 730 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d9332547e 734 b802000000 movl rax,0x2
0x351d93325483 739 498d9d28a732ff REX.W leaq rbx,[r13-0xcd58d8]
0x351d9332548a 746 e8110edeff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d9332548f 751 4889442470 REX.W movq [rsp+0x70],rax
0x351d93325494 756 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d93325499 761 415f pop r15
0x351d9332549b 763 415e pop r14
0x351d9332549d 765 415c pop r12
0x351d9332549f 767 415b pop r11
0x351d933254a1 769 4159 pop r9
0x351d933254a3 771 4158 pop r8
0x351d933254a5 773 5f pop rdi
0x351d933254a6 774 5e pop rsi
0x351d933254a7 775 5b pop rbx
0x351d933254a8 776 5a pop rdx
0x351d933254a9 777 59 pop rcx
0x351d933254aa 778 58 pop rax
0x351d933254ab 779 e961feffff jmp 369 (0x351d93325311)
;;; -------------------- Jump table --------------------
0x351d933254b0 784 e8550baeff call 0x351d92e0600a ;; debug: position 29184
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d933254b5 789 e85a0baeff call 0x351d92e06014 ;; debug: position 35328
;; debug: deopt reason 'Smi'
;; deoptimization bailout 2
0x351d933254ba 794 e85f0baeff call 0x351d92e0601e ;; debug: position 35328
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 3
0x351d933254bf 799 e8960baeff call 0x351d92e0605a ;; debug: position 53248
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 9
0x351d933254c4 804 e8910baeff call 0x351d92e0605a ;; debug: position 53248
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 9
0x351d933254c9 809 e88c0baeff call 0x351d92e0605a ;; debug: position 53248
;; debug: deopt reason 'NaN'
;; deoptimization bailout 9
0x351d933254ce 814 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 10)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 22 0 -1
3 22 0 -1
4 27 0 158
5 76 0 249
6 69 0 273
7 103 0 321
8 103 0 -1
9 20 0 -1
Safepoints (size = 74)
0x351d933251c3 35 001 (sp -> fp) 0
0x351d9332523e 158 001 (sp -> fp) 4
0x351d93325299 249 011 (sp -> fp) 5
0x351d933252ad 269 011 (sp -> fp) 6
0x351d933252e1 321 111 (sp -> fp) 7
0x351d9332548f 751 001 | rax | rcx | rbx (sp -> fp) <none> argc: 2
RelocInfo (size = 1049)
0x351d933251aa position (23264)
0x351d933251aa comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d933251aa comment (;;; <@2,#1> context)
0x351d933251ae comment (;;; <@3,#1> gap)
0x351d933251b2 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d933251b2 comment (;;; <@11,#8> gap)
0x351d933251b5 comment (;;; <@12,#10> stack-check)
0x351d933251bf code target (BUILTIN) (0x351d93134ee0)
0x351d933251c3 comment (;;; <@14,#10> lazy-bailout)
0x351d933251c3 comment (;;; <@16,#12> gap)
0x351d933251c3 position (23321)
0x351d933251c7 comment (;;; <@17,#12> branch)
0x351d933251f5 position (29184)
0x351d933251f5 deopt reason (unexpected object)
0x351d933251f6 runtime entry (deoptimization bailout 1)
0x351d933251fa comment (;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------)
0x351d933251fa position (23348)
0x351d933251fa comment (;;; <@22,#30> -------------------- B3 --------------------)
0x351d933251fa comment (;;; <@24,#35> gap)
0x351d933251fa position (23321)
0x351d93325204 comment (;;; <@25,#35> goto)
0x351d93325209 comment (;;; <@26,#13> -------------------- B4 (unreachable/replaced) --------------------)
0x351d93325209 position (23333)
0x351d93325209 comment (;;; <@30,#19> -------------------- B5 --------------------)
0x351d93325209 comment (;;; <@32,#20> check-non-smi)
0x351d93325211 comment (;;; <@34,#21> check-instance-type)
0x351d93325220 comment (;;; <@36,#23> check-maps)
0x351d93325220 comment (;;; <@38,#27> push-argument)
0x351d93325221 comment (;;; <@40,#27> push-argument)
0x351d93325223 embedded object (0x17141294b2e9 <String[1]: !>)
0x351d9332522d comment (;;; <@42,#26> constant-t)
0x351d9332522f embedded object (0x1fffbdc96229 <JS Function indexOf (SharedFunctionInfo 0x1fffbdc4bea1)>)
0x351d93325237 comment (;;; <@44,#28> call-js-function)
0x351d9332523e comment (;;; <@46,#29> lazy-bailout)
0x351d9332523e position (23285)
0x351d9332523e comment (;;; <@50,#37> -------------------- B6 --------------------)
0x351d93325242 comment (;;; <@51,#37> gap)
0x351d93325245 comment (;;; <@52,#119> tagged-to-i)
0x351d93325245 position (23368)
0x351d93325252 position (23374)
0x351d93325252 comment (;;; <@55,#41> compare-numeric-and-branch)
0x351d9332525b comment (;;; <@56,#45> -------------------- B7 (unreachable/replaced) --------------------)
0x351d9332525b position (23364)
0x351d9332525b comment (;;; <@60,#75> -------------------- B8 --------------------)
0x351d9332525b comment (;;; <@62,#77> gap)
0x351d93325261 embedded object (0x1fffbdc041b9 <undefined>)
0x351d93325269 comment (;;; <@63,#77> goto)
0x351d9332526e comment (;;; <@64,#42> -------------------- B9 (unreachable/replaced) --------------------)
0x351d9332526e position (23412)
0x351d9332526e comment (;;; <@68,#48> -------------------- B10 --------------------)
0x351d9332526e comment (;;; <@69,#48> gap)
0x351d93325276 comment (;;; <@70,#49> load-named-generic)
0x351d93325278 embedded object (0x1fffbdc4caa1 <String[9]: substring>)
0x351d93325282 embedded object (0x1714129e8031 <FixedArray[18]>)
0x351d93325295 code target (LOAD_IC) (0x351d932f0160)
0x351d93325299 comment (;;; <@72,#50> lazy-bailout)
0x351d93325299 comment (;;; <@74,#54> push-argument)
0x351d9332529c comment (;;; <@76,#54> push-argument)
0x351d9332529e comment (;;; <@78,#54> push-argument)
0x351d933252a1 comment (;;; <@79,#54> gap)
0x351d933252a8 comment (;;; <@80,#55> call-function)
0x351d933252a9 code target (STUB) (0x351d93323b60)
0x351d933252ad comment (;;; <@81,#55> gap)
0x351d933252b1 comment (;;; <@82,#56> lazy-bailout)
0x351d933252b1 comment (;;; <@83,#56> gap)
0x351d933252b9 comment (;;; <@84,#58> load-named-generic)
0x351d933252be position (23461)
0x351d933252c0 embedded object (0x1fffbdc4caa1 <String[9]: substring>)
0x351d933252ca embedded object (0x1714129e8031 <FixedArray[18]>)
0x351d933252dd code target (LOAD_IC) (0x351d932f0160)
0x351d933252e1 comment (;;; <@86,#59> lazy-bailout)
0x351d933252e1 position (23477)
0x351d933252e1 comment (;;; <@89,#62> deoptimize)
0x351d933252e1 position (109056)
0x351d933252e1 deopt reason (Insufficient type feedback for LHS of binary operation)
0x351d933252e2 runtime entry
0x351d933252e6 comment (;;; <@90,#63> -------------------- B11 (unreachable/replaced) --------------------)
0x351d933252e6 comment (;;; <@100,#67> -------------------- B12 (unreachable/replaced) --------------------)
0x351d933252e6 position (23529)
0x351d933252e6 comment (;;; <@118,#80> -------------------- B13 --------------------)
0x351d933252e6 comment (;;; <@120,#82> allocate)
0x351d93325311 comment (;;; <@122,#126> store-named-field)
0x351d93325318 comment (;;; <@124,#84> store-named-field)
0x351d9332531a embedded object (0x1fffbdc04131 <FixedArray[0]>)
0x351d93325326 comment (;;; <@126,#86> store-named-field)
0x351d93325328 embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d93325334 comment (;;; <@128,#88> store-named-field)
0x351d93325336 embedded object (0x1fffbdc04131 <FixedArray[0]>)
0x351d93325342 comment (;;; <@130,#90> store-named-field)
0x351d93325350 comment (;;; <@132,#128> inner-allocated-object)
0x351d93325354 comment (;;; <@134,#95> store-named-field)
0x351d93325356 embedded object (0x169082904209 <Map(FAST_SMI_ELEMENTS)>)
0x351d93325362 comment (;;; <@136,#96> store-named-field)
0x351d93325370 comment (;;; <@138,#97> constant-t)
0x351d93325372 embedded object (0x3275aafab7a1 <FixedArray[2]>)
0x351d9332537a comment (;;; <@140,#99> load-keyed)
0x351d9332537e comment (;;; <@142,#100> store-keyed)
0x351d93325382 comment (;;; <@144,#97> constant-t)
0x351d93325384 embedded object (0x3275aafab7a1 <FixedArray[2]>)
0x351d9332538c comment (;;; <@146,#102> load-keyed)
0x351d93325390 comment (;;; <@148,#103> store-keyed)
0x351d93325394 comment (;;; <@150,#104> store-named-field)
0x351d93325398 comment (;;; <@152,#107> load-named-field)
0x351d9332539c comment (;;; <@154,#117> constant-i)
0x351d9332539c position (23264)
0x351d9332539e comment (;;; <@155,#117> gap)
0x351d933253a1 comment (;;; <@156,#109> store-keyed)
0x351d933253a1 position (23529)
0x351d933253d0 code target (STUB) (0x351d93323cc0)
0x351d933253d4 comment (;;; <@158,#112> constant-i)
0x351d933253d9 comment (;;; <@160,#113> store-keyed)
0x351d9332540a code target (STUB) (0x351d93324720)
0x351d9332540e comment (;;; <@161,#113> gap)
0x351d93325411 comment (;;; <@162,#116> return)
0x351d93325411 position (23522)
0x351d93325418 position (23368)
0x351d93325418 comment (;;; <@52,#119> -------------------- Deferred tagged-to-i --------------------)
0x351d9332544b position (23529)
0x351d9332544b comment (;;; <@120,#82> -------------------- Deferred allocate --------------------)
0x351d9332548b code target (STUB) (0x351d931062a0)
0x351d933254b0 comment (;;; -------------------- Jump table --------------------)
0x351d933254b0 position (29184)
0x351d933254b0 deopt reason (Smi)
0x351d933254b1 runtime entry (deoptimization bailout 1)
0x351d933254b5 position (35328)
0x351d933254b5 deopt reason (Smi)
0x351d933254b6 runtime entry (deoptimization bailout 2)
0x351d933254ba position (35328)
0x351d933254ba deopt reason (wrong instance type)
0x351d933254bb runtime entry (deoptimization bailout 3)
0x351d933254bf position (53248)
0x351d933254bf deopt reason (not a heap number)
0x351d933254c0 runtime entry (deoptimization bailout 9)
0x351d933254c4 position (53248)
0x351d933254c4 deopt reason (lost precision)
0x351d933254c5 runtime entry (deoptimization bailout 9)
0x351d933254c9 position (53248)
0x351d933254c9 deopt reason (NaN)
0x351d933254ca runtime entry (deoptimization bailout 9)
0x351d933254d0 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (bind) id{35,0} ---
(obj, fn) {
return function () {
return fn.apply(obj, arguments);
};
}
--- END ---
--- Raw source ---
(obj, fn) {
return function () {
return fn.apply(obj, arguments);
};
}
--- Optimized code ---
optimization_id = 35
source_position = 13389
kind = OPTIMIZED_FUNCTION
name = bind
stack_slots = 1
compiler = crankshaft
Instructions (size = 145)
0x351d93325680 0 55 push rbp
0x351d93325681 1 4889e5 REX.W movq rbp,rsp
0x351d93325684 4 56 push rsi
0x351d93325685 5 57 push rdi
0x351d93325686 6 4883ec08 REX.W subq rsp,0x8
;;; Allocate local context
0x351d9332568a 10 e851badfff call 0x351d931210e0 ;; code: STUB, FastNewContextStub, minor: 2
0x351d9332568f 15 488bf0 REX.W movq rsi,rax
0x351d93325692 18 488945f8 REX.W movq [rbp-0x8],rax
0x351d93325696 22 488b4518 REX.W movq rax,[rbp+0x18]
0x351d9332569a 26 48894637 REX.W movq [rsi+0x37],rax
0x351d9332569e 30 488b4510 REX.W movq rax,[rbp+0x10]
0x351d933256a2 34 4889462f REX.W movq [rsi+0x2f],rax
;;; End allocate local context
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d933256a6 38 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 13389
;;; <@3,#1> gap
0x351d933256aa 42 488945e8 REX.W movq [rbp-0x18],rax
;;; <@12,#9> -------------------- B1 --------------------
;;; <@13,#9> gap
0x351d933256ae 46 488bf0 REX.W movq rsi,rax
;;; <@14,#11> stack-check
0x351d933256b1 49 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d933256b8 56 7305 jnc 63 (0x351d933256bf)
0x351d933256ba 58 e821f8e0ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@16,#11> lazy-bailout
;;; <@17,#11> gap
0x351d933256bf 63 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@18,#12> function-literal
0x351d933256c3 67 660f1f840000000000 nop
0x351d933256cc 76 48bb811c9f1214170000 REX.W movq rbx,0x1714129f1c81 ;; debug: position 13416
;; object: 0x1714129f1c81 <SharedFunctionInfo>
0x351d933256d6 86 e8052ae0ff call 0x351d931280e0 ;; code: STUB, FastNewClosureStub, minor: 0
;;; <@20,#12> lazy-bailout
;;; <@22,#14> return
0x351d933256db 91 488be5 REX.W movq rsp,rbp ;; debug: position 13409
0x351d933256de 94 5d pop rbp
0x351d933256df 95 c21800 ret 0x18
0x351d933256e2 98 660f1f440000 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 2)
index ast id argc pc
0 3 0 63
1 3 0 91
Safepoints (size = 41)
0x351d9332568f 15 0 (sp -> fp) <none>
0x351d933256bf 63 1 (sp -> fp) 0
0x351d933256db 91 1 (sp -> fp) 1
RelocInfo (size = 169)
0x351d9332568a comment (;;; Allocate local context)
0x351d9332568b code target (STUB) (0x351d931210e0)
0x351d933256a6 comment (;;; End allocate local context)
0x351d933256a6 position (13389)
0x351d933256a6 comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d933256a6 comment (;;; <@2,#1> context)
0x351d933256aa comment (;;; <@3,#1> gap)
0x351d933256ae comment (;;; <@12,#9> -------------------- B1 --------------------)
0x351d933256ae comment (;;; <@13,#9> gap)
0x351d933256b1 comment (;;; <@14,#11> stack-check)
0x351d933256bb code target (BUILTIN) (0x351d93134ee0)
0x351d933256bf comment (;;; <@16,#11> lazy-bailout)
0x351d933256bf comment (;;; <@17,#11> gap)
0x351d933256c3 comment (;;; <@18,#12> function-literal)
0x351d933256cc position (13416)
0x351d933256ce embedded object (0x1714129f1c81 <SharedFunctionInfo>)
0x351d933256d7 code target (STUB) (0x351d931280e0)
0x351d933256db comment (;;; <@20,#12> lazy-bailout)
0x351d933256db comment (;;; <@22,#14> return)
0x351d933256db position (13409)
0x351d933256e8 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (breakCycle) id{36,0} ---
(mod, traced, processed) {
var id = mod.map.id;
if (mod.error) {
mod.emit('error', mod.error);
} else {
traced[id] = true;
each(mod.depMaps, function (depMap, i) {
var depId = depMap.id,
dep = getOwn(registry, depId);
//Only force things that have not completed
//being defined, so still in the registry,
//and only if it has not been matched up
//in the module already.
if (dep && !mod.depMatched[i] && !processed[depId]) {
if (getOwn(traced, depId)) {
mod.defineDep(i, defined[depId]);
mod.check(); //pass false?
} else {
breakCycle(dep, traced, processed);
}
}
});
processed[id] = true;
}
}
--- END ---
--- FUNCTION SOURCE (each) id{36,1} ---
(ary, func) {
if (ary) {
var i;
for (i = 0; i < ary.length; i += 1) {
if (ary[i] && func(ary[i], i, ary)) {
break;
}
}
}
}
--- END ---
INLINE (each) id{36,1} AS 1 AT <0:208>
--- Raw source ---
(mod, traced, processed) {
var id = mod.map.id;
if (mod.error) {
mod.emit('error', mod.error);
} else {
traced[id] = true;
each(mod.depMaps, function (depMap, i) {
var depId = depMap.id,
dep = getOwn(registry, depId);
//Only force things that have not completed
//being defined, so still in the registry,
//and only if it has not been matched up
//in the module already.
if (dep && !mod.depMatched[i] && !processed[depId]) {
if (getOwn(traced, depId)) {
mod.defineDep(i, defined[depId]);
mod.check(); //pass false?
} else {
breakCycle(dep, traced, processed);
}
}
});
processed[id] = true;
}
}
--- Optimized code ---
optimization_id = 36
source_position = 31444
kind = OPTIMIZED_FUNCTION
name = breakCycle
stack_slots = 6
compiler = crankshaft
Instructions (size = 841)
0x351d93327ba0 0 55 push rbp
0x351d93327ba1 1 4889e5 REX.W movq rbp,rsp
0x351d93327ba4 4 56 push rsi
0x351d93327ba5 5 57 push rdi
0x351d93327ba6 6 4883ec30 REX.W subq rsp,0x30
;;; Allocate local context
0x351d93327baa 10 e8d1c2deff call 0x351d93113e80 ;; code: STUB, FastNewContextStub, minor: 3
0x351d93327baf 15 488bf0 REX.W movq rsi,rax
0x351d93327bb2 18 488945f8 REX.W movq [rbp-0x8],rax
0x351d93327bb6 22 488b4520 REX.W movq rax,[rbp+0x20]
0x351d93327bba 26 4889463f REX.W movq [rsi+0x3f],rax
0x351d93327bbe 30 488b4518 REX.W movq rax,[rbp+0x18]
0x351d93327bc2 34 48894637 REX.W movq [rsi+0x37],rax
0x351d93327bc6 38 488b4510 REX.W movq rax,[rbp+0x10]
0x351d93327bca 42 4889462f REX.W movq [rsi+0x2f],rax
;;; End allocate local context
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d93327bce 46 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 31444
;;; <@3,#1> gap
0x351d93327bd2 50 488945e8 REX.W movq [rbp-0x18],rax
;;; <@14,#10> -------------------- B1 --------------------
;;; <@15,#10> gap
0x351d93327bd6 54 488bf0 REX.W movq rsi,rax
;;; <@16,#12> stack-check
0x351d93327bd9 57 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d93327be0 64 7305 jnc 71 (0x351d93327be7)
0x351d93327be2 66 e8f9d2e0ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@18,#12> lazy-bailout
;;; <@19,#12> gap
0x351d93327be7 71 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@20,#13> load-context-slot
0x351d93327beb 75 488b433f REX.W movq rax,[rbx+0x3f] ;; debug: position 31492
;;; <@22,#14> check-non-smi
0x351d93327bef 79 a801 test al,0x1 ;; debug: position 31495
0x351d93327bf1 81 0f8468020000 jz 703 (0x351d93327e5f)
;;; <@24,#15> check-maps
0x351d93327bf7 87 49ba51a5a388a4140000 REX.W movq r10,0x14a488a3a551 ;; object: 0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93327c01 97 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d93327c05 101 7414 jz 123 (0x351d93327c1b)
0x351d93327c07 103 49baa9bba388a4140000 REX.W movq r10,0x14a488a3bba9 ;; object: 0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93327c11 113 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d93327c15 117 0f8549020000 jnz 708 (0x351d93327e64)
;;; <@26,#16> load-named-field
0x351d93327c1b 123 488b501f REX.W movq rdx,[rax+0x1f]
;;; <@28,#17> check-maps
;;; <@30,#18> load-named-field
0x351d93327c1f 127 488b7a4f REX.W movq rdi,[rdx+0x4f] ;; debug: position 31499
;;; <@31,#18> gap
0x351d93327c23 131 48897de0 REX.W movq [rbp-0x20],rdi
;;; <@32,#24> check-maps
;;; <@34,#26> check-maps
;;; <@38,#31> -------------------- B2 (unreachable/replaced) --------------------
;;; <@42,#47> -------------------- B3 --------------------
;;; <@44,#48> load-context-slot
0x351d93327c27 135 488b5337 REX.W movq rdx,[rbx+0x37] ;; debug: position 31524
;; debug: position 31617
;;; <@46,#51> constant-t
0x351d93327c2b 139 48b81142c0bdff1f0000 REX.W movq rax,0x1fffbdc04211 ;; debug: position 31630
;; object: 0x1fffbdc04211 <true>
;;; <@47,#51> gap
0x351d93327c35 149 488bf3 REX.W movq rsi,rbx
0x351d93327c38 152 488bcf REX.W movq rcx,rdi
;;; <@48,#52> store-keyed-generic
0x351d93327c3b 155 e820ace0ff call KeyedStoreIC_PreMonomorphic (0x351d93132860) ;; debug: position 31628
;; code: KEYED_STORE_IC, PREMONOMORPHIC
;;; <@50,#53> lazy-bailout
;;; <@51,#53> gap
0x351d93327c40 160 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@52,#54> load-named-field
0x351d93327c44 164 488b5817 REX.W movq rbx,[rax+0x17] ;; debug: position 31652
;;; <@54,#55> load-named-field
0x351d93327c48 168 488b5b17 REX.W movq rbx,[rbx+0x17]
;;; <@56,#56> load-context-slot
0x351d93327c4c 172 488b9b37010000 REX.W movq rbx,[rbx+0x137]
;;; <@57,#56> gap
0x351d93327c53 179 48895dd8 REX.W movq [rbp-0x28],rbx
;;; <@58,#57> load-context-slot
0x351d93327c57 183 488b503f REX.W movq rdx,[rax+0x3f] ;; debug: position 31657
;;; <@60,#58> check-non-smi
0x351d93327c5b 187 f6c201 testb rdx,0x1 ;; debug: position 31660
0x351d93327c5e 190 0f8405020000 jz 713 (0x351d93327e69)
;;; <@62,#59> check-maps
0x351d93327c64 196 49ba51a5a388a4140000 REX.W movq r10,0x14a488a3a551 ;; object: 0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93327c6e 206 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d93327c72 210 7414 jz 232 (0x351d93327c88)
0x351d93327c74 212 49baa9bba388a4140000 REX.W movq r10,0x14a488a3bba9 ;; object: 0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93327c7e 222 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d93327c82 226 0f85e6010000 jnz 718 (0x351d93327e6e)
;;; <@64,#60> load-named-field
0x351d93327c88 232 488b5237 REX.W movq rdx,[rdx+0x37]
;;; <@65,#60> gap
0x351d93327c8c 236 488955d0 REX.W movq [rbp-0x30],rdx
0x351d93327c90 240 488bf0 REX.W movq rsi,rax
;;; <@66,#61> function-literal
0x351d93327c93 243 48bb79c48a74df290000 REX.W movq rbx,0x29df748ac479 ;; debug: position 31670
;; object: 0x29df748ac479 <SharedFunctionInfo>
0x351d93327c9d 253 e83e04e0ff call 0x351d931280e0 ;; code: STUB, FastNewClosureStub, minor: 0
;;; <@67,#61> gap
0x351d93327ca2 258 488945c8 REX.W movq [rbp-0x38],rax
;;; <@68,#61> lazy-bailout
;;; <@69,#61> gap
0x351d93327ca6 262 488b5dd8 REX.W movq rbx,[rbp-0x28]
;;; <@70,#62> check-value
0x351d93327caa 266 49bab154f3aa75320000 REX.W movq r10,0x3275aaf354b1 ;; debug: position 31652
;; object: 0x3275aaf354b1 <JS Function each (SharedFunctionInfo 0x1714129b9ec9)>
0x351d93327cb4 276 493bda REX.W cmpq rbx,r10
0x351d93327cb7 279 0f85b6010000 jnz 723 (0x351d93327e73)
;;; <@72,#68> gap
0x351d93327cbd 285 488b55d0 REX.W movq rdx,[rbp-0x30] ;; debug: position 11088
;;; <@73,#68> branch
0x351d93327cc1 289 493b55a8 REX.W cmpq rdx,[r13-0x58]
0x351d93327cc5 293 0f8420010000 jz 587 (0x351d93327deb)
0x351d93327ccb 299 f6c201 testb rdx,0x1
0x351d93327cce 302 0f84a4010000 jz 728 (0x351d93327e78)
0x351d93327cd4 308 4c8b52ff REX.W movq r10,[rdx-0x1]
0x351d93327cd8 312 41f6420c10 testb [r10+0xc],0x10
0x351d93327cdd 317 0f8508010000 jnz 587 (0x351d93327deb)
0x351d93327ce3 323 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d93327ce8 328 0f8305000000 jnc 339 (0x351d93327cf3)
0x351d93327cee 334 e85de3adff call 0x351d92e06050 ;; debug: position 13313
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 8
;;; <@74,#72> -------------------- B4 (unreachable/replaced) --------------------
;;; <@78,#150> -------------------- B5 (unreachable/replaced) --------------------
;;; <@82,#69> -------------------- B6 (unreachable/replaced) --------------------
;;; <@86,#75> -------------------- B7 --------------------
;;; <@88,#84> gap
0x351d93327cf3 339 33c9 xorl rcx,rcx ;; debug: position 11135
;; debug: position 11126
;;; <@90,#85> -------------------- B8 (loop header) --------------------
0x351d93327cf5 341 48894dc0 REX.W movq [rbp-0x40],rcx ;; debug: position 11138
;;; <@92,#88> check-maps
0x351d93327cf9 345 49bac16f908290160000 REX.W movq r10,0x169082906fc1 ;; debug: position 11145
;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d93327d03 355 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d93327d07 359 7414 jz 381 (0x351d93327d1d)
0x351d93327d09 361 49bac970908290160000 REX.W movq r10,0x1690829070c9 ;; object: 0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>
0x351d93327d13 371 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d93327d17 375 0f8560010000 jnz 733 (0x351d93327e7d)
;;; <@94,#89> load-named-field
0x351d93327d1d 381 8b721b movl rsi,[rdx+0x1b]
;;; <@97,#90> compare-numeric-and-branch
0x351d93327d20 384 3bce cmpl rcx,rsi ;; debug: position 11140
0x351d93327d22 386 0f8dc3000000 jge 587 (0x351d93327deb)
;;; <@98,#91> -------------------- B9 (unreachable/replaced) --------------------
;;; <@102,#97> -------------------- B10 --------------------
;;; <@104,#99> stack-check
0x351d93327d28 392 493ba548080000 REX.W cmpq rsp,[r13+0x848] ;; debug: position 11126
0x351d93327d2f 399 0f82e5000000 jc 634 (0x351d93327e1a)
;;; <@106,#102> check-maps
0x351d93327d35 405 49bac16f908290160000 REX.W movq r10,0x169082906fc1 ;; debug: position 11187
;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d93327d3f 415 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d93327d43 419 0f8539010000 jnz 738 (0x351d93327e82)
;;; <@108,#103> load-named-field
0x351d93327d49 425 488b720f REX.W movq rsi,[rdx+0xf]
;;; <@110,#104> load-named-field
0x351d93327d4d 429 8b7a1b movl rdi,[rdx+0x1b]
;;; <@112,#105> bounds-check
0x351d93327d50 432 3bf9 cmpl rdi,rcx
0x351d93327d52 434 0f862f010000 jna 743 (0x351d93327e87)
;;; <@114,#106> load-keyed
0x351d93327d58 440 488b74ce0f REX.W movq rsi,[rsi+rcx*8+0xf]
;;; <@117,#107> branch
0x351d93327d5d 445 40f6c601 testb rsi,0x1
0x351d93327d61 449 0f8425010000 jz 748 (0x351d93327e8c)
0x351d93327d67 455 4c8b56ff REX.W movq r10,[rsi-0x1]
0x351d93327d6b 459 41f6420c10 testb [r10+0xc],0x10
0x351d93327d70 464 0f855d000000 jnz 563 (0x351d93327dd3)
0x351d93327d76 470 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d93327d7b 475 0f831c000000 jnc 509 (0x351d93327d9d)
0x351d93327d81 481 41807a0b80 cmpb [r10+0xb],0x80
0x351d93327d86 486 7310 jnc 504 (0x351d93327d98)
0x351d93327d88 488 48837e0f00 REX.W cmpq [rsi+0xf],0x0
0x351d93327d8d 493 0f850a000000 jnz 509 (0x351d93327d9d)
0x351d93327d93 499 e93b000000 jmp 563 (0x351d93327dd3)
0x351d93327d98 504 e8e5e2adff call 0x351d92e06082 ;; debug: position 64001
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 13
;;; <@118,#111> -------------------- B11 (unreachable/replaced) --------------------
;;; <@122,#108> -------------------- B12 (unreachable/replaced) --------------------
;;; <@126,#114> -------------------- B13 --------------------
;;; <@128,#176> smi-tag
0x351d93327d9d 509 8bf9 movl rdi,rcx ;; debug: position 11203
;; debug: position 11194
0x351d93327d9f 511 48c1e720 REX.W shlq rdi, 32
;;; <@130,#123> push-argument
0x351d93327da3 515 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d93327dad 525 4152 push r10
;;; <@132,#123> push-argument
0x351d93327daf 527 56 push rsi
;;; <@134,#123> push-argument
0x351d93327db0 528 57 push rdi
;;; <@136,#123> push-argument
0x351d93327db1 529 52 push rdx
;;; <@138,#64> constant-t
0x351d93327db2 530 48bef954f3aa75320000 REX.W movq rsi,0x3275aaf354f9 ;; debug: position 11062
;; object: 0x3275aaf354f9 <FixedArray[50]>
;;; <@139,#64> gap
0x351d93327dbc 540 488bf8 REX.W movq rdi,rax
;;; <@140,#124> call-function
0x351d93327dbf 543 e83ce1deff call 0x351d93115f00 ;; debug: position 11194
;; code: STUB, CallFunctionStub, argc = 3
;;; <@142,#125> lazy-bailout
;;; <@145,#126> branch
0x351d93327dc4 548 493b45a8 REX.W cmpq rax,[r13-0x58]
0x351d93327dc8 552 0f8405000000 jz 563 (0x351d93327dd3)
0x351d93327dce 558 e8c3e2adff call 0x351d92e06096 ;; debug: position 67585
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 15
;;; <@146,#130> -------------------- B14 (unreachable/replaced) --------------------
;;; <@150,#136> -------------------- B15 --------------------
;;; <@151,#136> gap
0x351d93327dd3 563 488b45c0 REX.W movq rax,[rbp-0x40] ;; debug: position 11154
;;; <@152,#139> add-i
0x351d93327dd7 567 8d4801 leal rcx,[rax+0x1] ;; debug: position 11157
;;; <@154,#143> gap
0x351d93327dda 570 488b5dd8 REX.W movq rbx,[rbp-0x28] ;; debug: position 11126
0x351d93327dde 574 488b55d0 REX.W movq rdx,[rbp-0x30]
0x351d93327de2 578 488b45c8 REX.W movq rax,[rbp-0x38]
;;; <@155,#143> goto
0x351d93327de6 582 e90affffff jmp 341 (0x351d93327cf5)
;;; <@156,#127> -------------------- B16 (unreachable/replaced) --------------------
;;; <@160,#133> -------------------- B17 (unreachable/replaced) --------------------
;;; <@164,#94> -------------------- B18 (unreachable/replaced) --------------------
;;; <@168,#144> -------------------- B19 (unreachable/replaced) --------------------
;;; <@172,#147> -------------------- B20 (unreachable/replaced) --------------------
;;; <@176,#158> -------------------- B21 (unreachable/replaced) --------------------
;;; <@180,#162> -------------------- B22 --------------------
;;; <@181,#162> gap
0x351d93327deb 587 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 32450
;;; <@182,#163> load-context-slot
0x351d93327def 591 488b532f REX.W movq rdx,[rbx+0x2f]
;;; <@184,#51> constant-t
0x351d93327df3 595 48b81142c0bdff1f0000 REX.W movq rax,0x1fffbdc04211 ;; debug: position 31630
;; object: 0x1fffbdc04211 <true>
;;; <@185,#51> gap
0x351d93327dfd 605 488bf3 REX.W movq rsi,rbx
0x351d93327e00 608 488b4de0 REX.W movq rcx,[rbp-0x20]
;;; <@186,#166> store-keyed-generic
0x351d93327e04 612 e857aae0ff call KeyedStoreIC_PreMonomorphic (0x351d93132860) ;; debug: position 32464
;; code: KEYED_STORE_IC, PREMONOMORPHIC
;;; <@188,#167> lazy-bailout
;;; <@192,#28> -------------------- B23 (unreachable/replaced) --------------------
;;; <@196,#34> -------------------- B24 (unreachable/replaced) --------------------
;;; <@206,#41> -------------------- B25 (unreachable/replaced) --------------------
;;; <@224,#172> -------------------- B26 --------------------
;;; <@226,#7> constant-t
0x351d93327e09 617 48b8b941c0bdff1f0000 REX.W movq rax,0x1fffbdc041b9 ;; debug: position 31517
;; debug: position 31444
;; object: 0x1fffbdc041b9 <undefined>
;;; <@228,#174> return
0x351d93327e13 627 488be5 REX.W movq rsp,rbp
0x351d93327e16 630 5d pop rbp
0x351d93327e17 631 c22000 ret 0x20
;;; <@104,#99> -------------------- Deferred stack-check --------------------
0x351d93327e1a 634 50 push rax ;; debug: position 11126
0x351d93327e1b 635 51 push rcx
0x351d93327e1c 636 52 push rdx
0x351d93327e1d 637 53 push rbx
0x351d93327e1e 638 56 push rsi
0x351d93327e1f 639 57 push rdi
0x351d93327e20 640 4150 push r8
0x351d93327e22 642 4151 push r9
0x351d93327e24 644 4153 push r11
0x351d93327e26 646 4154 push r12
0x351d93327e28 648 4156 push r14
0x351d93327e2a 650 4157 push r15
0x351d93327e2c 652 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d93327e31 657 488b75f8 REX.W movq rsi,[rbp-0x8]
0x351d93327e35 661 33c0 xorl rax,rax
0x351d93327e37 663 498d9dc8a532ff REX.W leaq rbx,[r13-0xcd5a38]
0x351d93327e3e 670 e85de4ddff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d93327e43 675 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d93327e48 680 415f pop r15
0x351d93327e4a 682 415e pop r14
0x351d93327e4c 684 415c pop r12
0x351d93327e4e 686 415b pop r11
0x351d93327e50 688 4159 pop r9
0x351d93327e52 690 4158 pop r8
0x351d93327e54 692 5f pop rdi
0x351d93327e55 693 5e pop rsi
0x351d93327e56 694 5b pop rbx
0x351d93327e57 695 5a pop rdx
0x351d93327e58 696 59 pop rcx
0x351d93327e59 697 58 pop rax
0x351d93327e5a 698 e9d6feffff jmp 405 (0x351d93327d35)
;;; -------------------- Jump table --------------------
0x351d93327e5f 703 e8a6e1adff call 0x351d92e0600a ;; debug: position 26112
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d93327e64 708 e8abe1adff call 0x351d92e06014 ;; debug: position 26112
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x351d93327e69 713 e8bae1adff call 0x351d92e06028 ;; debug: position 110592
;; debug: deopt reason 'Smi'
;; deoptimization bailout 4
0x351d93327e6e 718 e8bfe1adff call 0x351d92e06032 ;; debug: position 110592
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 5
0x351d93327e73 723 e8cee1adff call 0x351d92e06046 ;; debug: position 106496
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 7
0x351d93327e78 728 e8d3e1adff call 0x351d92e06050 ;; debug: position 13313
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x351d93327e7d 733 e8d8e1adff call 0x351d92e0605a ;; debug: position 42497
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 9
0x351d93327e82 738 e8e7e1adff call 0x351d92e0606e ;; debug: position 64001
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 11
0x351d93327e87 743 e8ece1adff call 0x351d92e06078 ;; debug: position 64001
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 12
0x351d93327e8c 748 e8f1e1adff call 0x351d92e06082 ;; debug: position 64001
;; debug: deopt reason 'Smi'
;; deoptimization bailout 13
0x351d93327e91 753 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 1)
0x1714129b9ec9 <SharedFunctionInfo each>
Deoptimization Input Data (deopt points = 17)
index ast id argc pc
0 3 0 71
1 3 0 -1
2 3 0 -1
3 76 0 160
4 76 0 -1
5 76 0 -1
6 76 0 262
7 76 0 -1
8 2 0 -1
9 19 0 -1
10 23 0 405
11 23 0 -1
12 23 0 -1
13 23 0 -1
14 88 0 548
15 88 0 -1
16 111 0 617
Safepoints (size = 85)
0x351d93327baf 15 000000 (sp -> fp) <none>
0x351d93327be7 71 000001 (sp -> fp) 0
0x351d93327c40 160 000011 (sp -> fp) 3
0x351d93327ca2 258 001111 (sp -> fp) 6
0x351d93327dc4 548 011111 (sp -> fp) 14
0x351d93327e09 617 000001 (sp -> fp) 16
0x351d93327e43 675 011111 | rax | rdx | rbx (sp -> fp) 10
RelocInfo (size = 1414)
0x351d93327baa comment (;;; Allocate local context)
0x351d93327bab code target (STUB) (0x351d93113e80)
0x351d93327bce comment (;;; End allocate local context)
0x351d93327bce position (31444)
0x351d93327bce comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d93327bce comment (;;; <@2,#1> context)
0x351d93327bd2 comment (;;; <@3,#1> gap)
0x351d93327bd6 comment (;;; <@14,#10> -------------------- B1 --------------------)
0x351d93327bd6 comment (;;; <@15,#10> gap)
0x351d93327bd9 comment (;;; <@16,#12> stack-check)
0x351d93327be3 code target (BUILTIN) (0x351d93134ee0)
0x351d93327be7 comment (;;; <@18,#12> lazy-bailout)
0x351d93327be7 comment (;;; <@19,#12> gap)
0x351d93327beb comment (;;; <@20,#13> load-context-slot)
0x351d93327beb position (31492)
0x351d93327bef comment (;;; <@22,#14> check-non-smi)
0x351d93327bef position (31495)
0x351d93327bf7 comment (;;; <@24,#15> check-maps)
0x351d93327bf9 embedded object (0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93327c09 embedded object (0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93327c1b comment (;;; <@26,#16> load-named-field)
0x351d93327c1f comment (;;; <@28,#17> check-maps)
0x351d93327c1f position (31499)
0x351d93327c1f comment (;;; <@30,#18> load-named-field)
0x351d93327c23 comment (;;; <@31,#18> gap)
0x351d93327c27 comment (;;; <@32,#24> check-maps)
0x351d93327c27 position (31524)
0x351d93327c27 comment (;;; <@34,#26> check-maps)
0x351d93327c27 comment (;;; <@38,#31> -------------------- B2 (unreachable/replaced) --------------------)
0x351d93327c27 position (31617)
0x351d93327c27 comment (;;; <@42,#47> -------------------- B3 --------------------)
0x351d93327c27 comment (;;; <@44,#48> load-context-slot)
0x351d93327c2b comment (;;; <@46,#51> constant-t)
0x351d93327c2b position (31630)
0x351d93327c2d embedded object (0x1fffbdc04211 <true>)
0x351d93327c35 comment (;;; <@47,#51> gap)
0x351d93327c3b comment (;;; <@48,#52> store-keyed-generic)
0x351d93327c3b position (31628)
0x351d93327c3c code target (KEYED_STORE_IC) (0x351d93132860)
0x351d93327c40 comment (;;; <@50,#53> lazy-bailout)
0x351d93327c40 comment (;;; <@51,#53> gap)
0x351d93327c44 comment (;;; <@52,#54> load-named-field)
0x351d93327c44 position (31652)
0x351d93327c48 comment (;;; <@54,#55> load-named-field)
0x351d93327c4c comment (;;; <@56,#56> load-context-slot)
0x351d93327c53 comment (;;; <@57,#56> gap)
0x351d93327c57 comment (;;; <@58,#57> load-context-slot)
0x351d93327c57 position (31657)
0x351d93327c5b comment (;;; <@60,#58> check-non-smi)
0x351d93327c5b position (31660)
0x351d93327c64 comment (;;; <@62,#59> check-maps)
0x351d93327c66 embedded object (0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93327c76 embedded object (0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93327c88 comment (;;; <@64,#60> load-named-field)
0x351d93327c8c comment (;;; <@65,#60> gap)
0x351d93327c93 comment (;;; <@66,#61> function-literal)
0x351d93327c93 position (31670)
0x351d93327c95 embedded object (0x29df748ac479 <SharedFunctionInfo>)
0x351d93327c9e code target (STUB) (0x351d931280e0)
0x351d93327ca2 comment (;;; <@67,#61> gap)
0x351d93327ca6 comment (;;; <@68,#61> lazy-bailout)
0x351d93327ca6 comment (;;; <@69,#61> gap)
0x351d93327caa comment (;;; <@70,#62> check-value)
0x351d93327caa position (31652)
0x351d93327cac embedded object (0x3275aaf354b1 <JS Function each (SharedFunctionInfo 0x1714129b9ec9)>)
0x351d93327cbd comment (;;; <@72,#68> gap)
0x351d93327cbd position (11088)
0x351d93327cc1 comment (;;; <@73,#68> branch)
0x351d93327cee position (13313)
0x351d93327cee deopt reason (unexpected object)
0x351d93327cef runtime entry (deoptimization bailout 8)
0x351d93327cf3 comment (;;; <@74,#72> -------------------- B4 (unreachable/replaced) --------------------)
0x351d93327cf3 comment (;;; <@78,#150> -------------------- B5 (unreachable/replaced) --------------------)
0x351d93327cf3 comment (;;; <@82,#69> -------------------- B6 (unreachable/replaced) --------------------)
0x351d93327cf3 position (11135)
0x351d93327cf3 comment (;;; <@86,#75> -------------------- B7 --------------------)
0x351d93327cf3 comment (;;; <@88,#84> gap)
0x351d93327cf3 position (11126)
0x351d93327cf5 position (11138)
0x351d93327cf5 comment (;;; <@90,#85> -------------------- B8 (loop header) --------------------)
0x351d93327cf9 comment (;;; <@92,#88> check-maps)
0x351d93327cf9 position (11145)
0x351d93327cfb embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d93327d0b embedded object (0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>)
0x351d93327d1d comment (;;; <@94,#89> load-named-field)
0x351d93327d20 position (11140)
0x351d93327d20 comment (;;; <@97,#90> compare-numeric-and-branch)
0x351d93327d28 comment (;;; <@98,#91> -------------------- B9 (unreachable/replaced) --------------------)
0x351d93327d28 position (11126)
0x351d93327d28 comment (;;; <@102,#97> -------------------- B10 --------------------)
0x351d93327d28 comment (;;; <@104,#99> stack-check)
0x351d93327d35 comment (;;; <@106,#102> check-maps)
0x351d93327d35 position (11187)
0x351d93327d37 embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d93327d49 comment (;;; <@108,#103> load-named-field)
0x351d93327d4d comment (;;; <@110,#104> load-named-field)
0x351d93327d50 comment (;;; <@112,#105> bounds-check)
0x351d93327d58 comment (;;; <@114,#106> load-keyed)
0x351d93327d5d comment (;;; <@117,#107> branch)
0x351d93327d98 position (64001)
0x351d93327d98 deopt reason (unexpected object)
0x351d93327d99 runtime entry (deoptimization bailout 13)
0x351d93327d9d comment (;;; <@118,#111> -------------------- B11 (unreachable/replaced) --------------------)
0x351d93327d9d comment (;;; <@122,#108> -------------------- B12 (unreachable/replaced) --------------------)
0x351d93327d9d position (11203)
0x351d93327d9d comment (;;; <@126,#114> -------------------- B13 --------------------)
0x351d93327d9d comment (;;; <@128,#176> smi-tag)
0x351d93327d9d position (11194)
0x351d93327da3 comment (;;; <@130,#123> push-argument)
0x351d93327da5 embedded object (0x1fffbdc041b9 <undefined>)
0x351d93327daf comment (;;; <@132,#123> push-argument)
0x351d93327db0 comment (;;; <@134,#123> push-argument)
0x351d93327db1 comment (;;; <@136,#123> push-argument)
0x351d93327db2 comment (;;; <@138,#64> constant-t)
0x351d93327db2 position (11062)
0x351d93327db4 embedded object (0x3275aaf354f9 <FixedArray[50]>)
0x351d93327dbc comment (;;; <@139,#64> gap)
0x351d93327dbf comment (;;; <@140,#124> call-function)
0x351d93327dbf position (11194)
0x351d93327dc0 code target (STUB) (0x351d93115f00)
0x351d93327dc4 comment (;;; <@142,#125> lazy-bailout)
0x351d93327dc4 comment (;;; <@145,#126> branch)
0x351d93327dce position (67585)
0x351d93327dce deopt reason (unexpected object)
0x351d93327dcf runtime entry (deoptimization bailout 15)
0x351d93327dd3 comment (;;; <@146,#130> -------------------- B14 (unreachable/replaced) --------------------)
0x351d93327dd3 position (11154)
0x351d93327dd3 comment (;;; <@150,#136> -------------------- B15 --------------------)
0x351d93327dd3 comment (;;; <@151,#136> gap)
0x351d93327dd7 comment (;;; <@152,#139> add-i)
0x351d93327dd7 position (11157)
0x351d93327dda comment (;;; <@154,#143> gap)
0x351d93327dda position (11126)
0x351d93327de6 comment (;;; <@155,#143> goto)
0x351d93327deb comment (;;; <@156,#127> -------------------- B16 (unreachable/replaced) --------------------)
0x351d93327deb comment (;;; <@160,#133> -------------------- B17 (unreachable/replaced) --------------------)
0x351d93327deb comment (;;; <@164,#94> -------------------- B18 (unreachable/replaced) --------------------)
0x351d93327deb comment (;;; <@168,#144> -------------------- B19 (unreachable/replaced) --------------------)
0x351d93327deb comment (;;; <@172,#147> -------------------- B20 (unreachable/replaced) --------------------)
0x351d93327deb comment (;;; <@176,#158> -------------------- B21 (unreachable/replaced) --------------------)
0x351d93327deb position (32450)
0x351d93327deb comment (;;; <@180,#162> -------------------- B22 --------------------)
0x351d93327deb comment (;;; <@181,#162> gap)
0x351d93327def comment (;;; <@182,#163> load-context-slot)
0x351d93327df3 comment (;;; <@184,#51> constant-t)
0x351d93327df3 position (31630)
0x351d93327df5 embedded object (0x1fffbdc04211 <true>)
0x351d93327dfd comment (;;; <@185,#51> gap)
0x351d93327e04 comment (;;; <@186,#166> store-keyed-generic)
0x351d93327e04 position (32464)
0x351d93327e05 code target (KEYED_STORE_IC) (0x351d93132860)
0x351d93327e09 comment (;;; <@188,#167> lazy-bailout)
0x351d93327e09 position (31517)
0x351d93327e09 comment (;;; <@192,#28> -------------------- B23 (unreachable/replaced) --------------------)
0x351d93327e09 comment (;;; <@196,#34> -------------------- B24 (unreachable/replaced) --------------------)
0x351d93327e09 comment (;;; <@206,#41> -------------------- B25 (unreachable/replaced) --------------------)
0x351d93327e09 position (31444)
0x351d93327e09 comment (;;; <@224,#172> -------------------- B26 --------------------)
0x351d93327e09 comment (;;; <@226,#7> constant-t)
0x351d93327e0b embedded object (0x1fffbdc041b9 <undefined>)
0x351d93327e13 comment (;;; <@228,#174> return)
0x351d93327e1a position (11126)
0x351d93327e1a comment (;;; <@104,#99> -------------------- Deferred stack-check --------------------)
0x351d93327e3f code target (STUB) (0x351d931062a0)
0x351d93327e5f comment (;;; -------------------- Jump table --------------------)
0x351d93327e5f position (26112)
0x351d93327e5f deopt reason (Smi)
0x351d93327e60 runtime entry (deoptimization bailout 1)
0x351d93327e64 position (26112)
0x351d93327e64 deopt reason (wrong map)
0x351d93327e65 runtime entry (deoptimization bailout 2)
0x351d93327e69 position (110592)
0x351d93327e69 deopt reason (Smi)
0x351d93327e6a runtime entry (deoptimization bailout 4)
0x351d93327e6e position (110592)
0x351d93327e6e deopt reason (wrong map)
0x351d93327e6f runtime entry (deoptimization bailout 5)
0x351d93327e73 position (106496)
0x351d93327e73 deopt reason (value mismatch)
0x351d93327e74 runtime entry (deoptimization bailout 7)
0x351d93327e78 position (13313)
0x351d93327e78 deopt reason (Smi)
0x351d93327e79 runtime entry (deoptimization bailout 8)
0x351d93327e7d position (42497)
0x351d93327e7d deopt reason (wrong map)
0x351d93327e7e runtime entry (deoptimization bailout 9)
0x351d93327e82 position (64001)
0x351d93327e82 deopt reason (wrong map)
0x351d93327e83 runtime entry (deoptimization bailout 11)
0x351d93327e87 position (64001)
0x351d93327e87 deopt reason (out of bounds)
0x351d93327e88 runtime entry (deoptimization bailout 12)
0x351d93327e8c position (64001)
0x351d93327e8c deopt reason (Smi)
0x351d93327e8d runtime entry (deoptimization bailout 13)
0x351d93327e94 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (nullCheck) id{37,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 = 37
source_position = 2695
kind = OPTIMIZED_FUNCTION
name = nullCheck
stack_slots = 1
compiler = crankshaft
Instructions (size = 309)
0x351d93328ce0 0 55 push rbp
0x351d93328ce1 1 4889e5 REX.W movq rbp,rsp
0x351d93328ce4 4 56 push rsi
0x351d93328ce5 5 57 push rdi
0x351d93328ce6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d93328cea 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 2695
;;; <@3,#1> gap
0x351d93328cee 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@12,#9> -------------------- B1 --------------------
;;; <@13,#9> gap
0x351d93328cf2 18 488bf0 REX.W movq rsi,rax
;;; <@14,#11> stack-check
0x351d93328cf5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d93328cfc 28 7305 jnc 35 (0x351d93328d03)
0x351d93328cfe 30 e8ddc1e0ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@16,#11> lazy-bailout
;;; <@17,#11> gap
0x351d93328d03 35 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@18,#14> check-non-smi
0x351d93328d07 39 a801 test al,0x1 ;; debug: position 2724
0x351d93328d09 41 0f84c3000000 jz 242 (0x351d93328dd2)
;;; <@20,#15> check-instance-type
0x351d93328d0f 47 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d93328d13 51 41f6420b80 testb [r10+0xb],0x80
0x351d93328d18 56 0f85b9000000 jnz 247 (0x351d93328dd7)
;;; <@22,#18> check-maps
;;; <@24,#22> push-argument
0x351d93328d1e 62 50 push rax ;; debug: position 2732
;;; <@26,#22> push-argument
0x351d93328d1f 63 49bad984911214170000 REX.W movq r10,0x1714129184d9 ;; object: 0x1714129184d9 <String[1]\: \x00>
0x351d93328d29 73 4152 push r10
;;; <@28,#21> constant-t
0x351d93328d2b 75 48bf2962c9bdff1f0000 REX.W movq rdi,0x1fffbdc96229 ;; object: 0x1fffbdc96229 <JS Function indexOf (SharedFunctionInfo 0x1fffbdc4bea1)>
;;; <@30,#23> call-js-function
0x351d93328d35 85 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d93328d39 89 ff5717 call [rdi+0x17]
;;; <@32,#24> lazy-bailout
;;; <@33,#24> gap
0x351d93328d3c 92 488bd8 REX.W movq rbx,rax
;;; <@34,#88> tagged-to-i
0x351d93328d3f 95 f6c301 testb rbx,0x1
0x351d93328d42 98 0f8557000000 jnz 191 (0x351d93328d9f)
0x351d93328d48 104 48c1eb20 REX.W shrq rbx, 32
;;; <@37,#26> compare-numeric-and-branch
0x351d93328d4c 108 83fbff cmpl rbx,0xff ;; debug: position 2750
0x351d93328d4f 111 0f8439000000 jz 174 (0x351d93328d8e)
;;; <@38,#30> -------------------- B2 (unreachable/replaced) --------------------
;;; <@42,#33> -------------------- B3 --------------------
;;; <@44,#48> push-argument
0x351d93328d55 117 49baf115c9bdff1f0000 REX.W movq r10,0x1fffbdc915f1 ;; debug: position 2777
;; debug: position 2773
;; object: 0x1fffbdc915f1 <JS Function Error (SharedFunctionInfo 0x1fffbdc430a9)>
0x351d93328d5f 127 4152 push r10
;;; <@46,#48> push-argument
0x351d93328d61 129 49baf984911214170000 REX.W movq r10,0x1714129184f9 ;; object: 0x1714129184f9 <String[41]: Path must be a string without null bytes.>
0x351d93328d6b 139 4152 push r10
;;; <@48,#34> constant-t
0x351d93328d6d 141 48bff115c9bdff1f0000 REX.W movq rdi,0x1fffbdc915f1 ;; debug: position 2777
;; object: 0x1fffbdc915f1 <JS Function Error (SharedFunctionInfo 0x1fffbdc430a9)>
;;; <@49,#34> gap
0x351d93328d77 151 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@50,#49> call-new
0x351d93328d7b 155 b801000000 movl rax,0x1 ;; debug: position 2773
0x351d93328d80 160 498b5da8 REX.W movq rbx,[r13-0x58]
0x351d93328d84 164 e8d70ee0ff call 0x351d93129c60 ;; code: constructor, STUB, CallConstructStub, minor: 0
;;; <@52,#50> lazy-bailout
;;; <@55,#54> deoptimize
0x351d93328d89 169 e8a4d2cdff call 0x351d93006032 ;; debug: position 2841
;; debug: position 74752
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 5
;;; <@56,#55> -------------------- B4 (unreachable/replaced) --------------------
;;; <@66,#62> -------------------- B5 (unreachable/replaced) --------------------
;;; <@70,#65> -------------------- B6 (unreachable/replaced) --------------------
;;; <@76,#59> -------------------- B7 (unreachable/replaced) --------------------
;;; <@80,#71> -------------------- B8 (unreachable/replaced) --------------------
;;; <@100,#27> -------------------- B9 (unreachable/replaced) --------------------
;;; <@104,#83> -------------------- B10 --------------------
;;; <@106,#84> constant-t
0x351d93328d8e 174 48b81142c0bdff1f0000 REX.W movq rax,0x1fffbdc04211 ;; debug: position 2976
;; object: 0x1fffbdc04211 <true>
;;; <@108,#86> return
0x351d93328d98 184 488be5 REX.W movq rsp,rbp ;; debug: position 2969
0x351d93328d9b 187 5d pop rbp
0x351d93328d9c 188 c21800 ret 0x18
;;; <@34,#88> -------------------- Deferred tagged-to-i --------------------
0x351d93328d9f 191 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 2732
0x351d93328da3 195 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d93328da7 199 0f852f000000 jnz 252 (0x351d93328ddc)
0x351d93328dad 205 f20f104307 movsd xmm0,[rbx+0x7]
0x351d93328db2 210 f20f2cd8 cvttsd2sil rbx,xmm0
0x351d93328db6 214 0f57c9 xorps xmm1,xmm1
0x351d93328db9 217 f20f2acb cvtsi2sd xmm1,rbx
0x351d93328dbd 221 660f2ec1 ucomisd xmm0,xmm1
0x351d93328dc1 225 0f851a000000 jnz 257 (0x351d93328de1)
0x351d93328dc7 231 0f8a19000000 jpe 262 (0x351d93328de6)
0x351d93328dcd 237 e97affffff jmp 108 (0x351d93328d4c)
;;; -------------------- Jump table --------------------
0x351d93328dd2 242 e833d2adff call 0x351d92e0600a ;; debug: position 14848
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d93328dd7 247 e838d2adff call 0x351d92e06014 ;; debug: position 14848
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 2
0x351d93328ddc 252 e85bd2adff call 0x351d92e0603c ;; debug: position 18944
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 6
0x351d93328de1 257 e856d2adff call 0x351d92e0603c ;; debug: position 18944
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 6
0x351d93328de6 262 e851d2adff call 0x351d92e0603c ;; debug: position 18944
;; debug: deopt reason 'NaN'
;; deoptimization bailout 6
0x351d93328deb 267 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 7)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 17 0 92
4 57 0 169
5 57 0 -1
6 17 0 -1
Safepoints (size = 41)
0x351d93328d03 35 1 (sp -> fp) 0
0x351d93328d3c 92 1 (sp -> fp) 3
0x351d93328d89 169 1 (sp -> fp) 4
RelocInfo (size = 544)
0x351d93328cea position (2695)
0x351d93328cea comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d93328cea comment (;;; <@2,#1> context)
0x351d93328cee comment (;;; <@3,#1> gap)
0x351d93328cf2 comment (;;; <@12,#9> -------------------- B1 --------------------)
0x351d93328cf2 comment (;;; <@13,#9> gap)
0x351d93328cf5 comment (;;; <@14,#11> stack-check)
0x351d93328cff code target (BUILTIN) (0x351d93134ee0)
0x351d93328d03 comment (;;; <@16,#11> lazy-bailout)
0x351d93328d03 comment (;;; <@17,#11> gap)
0x351d93328d07 comment (;;; <@18,#14> check-non-smi)
0x351d93328d07 position (2724)
0x351d93328d0f comment (;;; <@20,#15> check-instance-type)
0x351d93328d1e comment (;;; <@22,#18> check-maps)
0x351d93328d1e position (2732)
0x351d93328d1e comment (;;; <@24,#22> push-argument)
0x351d93328d1f comment (;;; <@26,#22> push-argument)
0x351d93328d21 embedded object (0x1714129184d9 <String[1]\: \x00>)
0x351d93328d2b comment (;;; <@28,#21> constant-t)
0x351d93328d2d embedded object (0x1fffbdc96229 <JS Function indexOf (SharedFunctionInfo 0x1fffbdc4bea1)>)
0x351d93328d35 comment (;;; <@30,#23> call-js-function)
0x351d93328d3c comment (;;; <@32,#24> lazy-bailout)
0x351d93328d3c comment (;;; <@33,#24> gap)
0x351d93328d3f comment (;;; <@34,#88> tagged-to-i)
0x351d93328d4c position (2750)
0x351d93328d4c comment (;;; <@37,#26> compare-numeric-and-branch)
0x351d93328d55 comment (;;; <@38,#30> -------------------- B2 (unreachable/replaced) --------------------)
0x351d93328d55 position (2777)
0x351d93328d55 comment (;;; <@42,#33> -------------------- B3 --------------------)
0x351d93328d55 comment (;;; <@44,#48> push-argument)
0x351d93328d55 position (2773)
0x351d93328d57 embedded object (0x1fffbdc915f1 <JS Function Error (SharedFunctionInfo 0x1fffbdc430a9)>)
0x351d93328d61 comment (;;; <@46,#48> push-argument)
0x351d93328d63 embedded object (0x1714129184f9 <String[41]: Path must be a string without null bytes.>)
0x351d93328d6d comment (;;; <@48,#34> constant-t)
0x351d93328d6d position (2777)
0x351d93328d6f embedded object (0x1fffbdc915f1 <JS Function Error (SharedFunctionInfo 0x1fffbdc430a9)>)
0x351d93328d77 comment (;;; <@49,#34> gap)
0x351d93328d7b comment (;;; <@50,#49> call-new)
0x351d93328d7b position (2773)
0x351d93328d85 code target (js construct call) (STUB) (0x351d93129c60)
0x351d93328d89 comment (;;; <@52,#50> lazy-bailout)
0x351d93328d89 position (2841)
0x351d93328d89 comment (;;; <@55,#54> deoptimize)
0x351d93328d89 position (74752)
0x351d93328d89 deopt reason (Insufficient type feedback for generic named access)
0x351d93328d8a runtime entry
0x351d93328d8e comment (;;; <@56,#55> -------------------- B4 (unreachable/replaced) --------------------)
0x351d93328d8e comment (;;; <@66,#62> -------------------- B5 (unreachable/replaced) --------------------)
0x351d93328d8e comment (;;; <@70,#65> -------------------- B6 (unreachable/replaced) --------------------)
0x351d93328d8e comment (;;; <@76,#59> -------------------- B7 (unreachable/replaced) --------------------)
0x351d93328d8e comment (;;; <@80,#71> -------------------- B8 (unreachable/replaced) --------------------)
0x351d93328d8e comment (;;; <@100,#27> -------------------- B9 (unreachable/replaced) --------------------)
0x351d93328d8e position (2976)
0x351d93328d8e comment (;;; <@104,#83> -------------------- B10 --------------------)
0x351d93328d8e comment (;;; <@106,#84> constant-t)
0x351d93328d90 embedded object (0x1fffbdc04211 <true>)
0x351d93328d98 comment (;;; <@108,#86> return)
0x351d93328d98 position (2969)
0x351d93328d9f position (2732)
0x351d93328d9f comment (;;; <@34,#88> -------------------- Deferred tagged-to-i --------------------)
0x351d93328dd2 comment (;;; -------------------- Jump table --------------------)
0x351d93328dd2 position (14848)
0x351d93328dd2 deopt reason (Smi)
0x351d93328dd3 runtime entry (deoptimization bailout 1)
0x351d93328dd7 position (14848)
0x351d93328dd7 deopt reason (wrong instance type)
0x351d93328dd8 runtime entry (deoptimization bailout 2)
0x351d93328ddc position (18944)
0x351d93328ddc deopt reason (not a heap number)
0x351d93328ddd runtime entry (deoptimization bailout 6)
0x351d93328de1 position (18944)
0x351d93328de1 deopt reason (lost precision)
0x351d93328de2 runtime entry (deoptimization bailout 6)
0x351d93328de6 position (18944)
0x351d93328de6 deopt reason (NaN)
0x351d93328de7 runtime entry (deoptimization bailout 6)
0x351d93328dec comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (test) id{38,0} ---
(k){
if(!(%_IsRegExp(this))){
throw MakeTypeError(33,
'RegExp.prototype.test',this);
}
k=((typeof(%IS_VAR(k))==='string')?k:$nonStringToString(k));
var v=this.lastIndex;
var u=(%_IsSmi(%IS_VAR(v))?v:%NumberToInteger($toNumber(v)));
if(this.global||(harmony_regexps&&this.sticky)){
if(u<0||u>k.length){
this.lastIndex=0;
return false;
}
var x=%_RegExpExec(this,k,u,e);
if((x===null)){
this.lastIndex=0;
return false;
}
$regexpLastMatchInfoOverride=null;
this.lastIndex=e[4];
return true;
}else{
var j=this;
if(j.source.length>=3&&
%_StringCharCodeAt(j.source,0)==46&&
%_StringCharCodeAt(j.source,1)==42&&
%_StringCharCodeAt(j.source,2)!=63){
j=TrimRegExp(j);
}
var x=%_RegExpExec(j,k,0,e);
if((x===null)){
this.lastIndex=0;
return false;
}
$regexpLastMatchInfoOverride=null;
return true;
}
}
--- END ---
--- Raw source ---
(k){
if(!(%_IsRegExp(this))){
throw MakeTypeError(33,
'RegExp.prototype.test',this);
}
k=((typeof(%IS_VAR(k))==='string')?k:$nonStringToString(k));
var v=this.lastIndex;
var u=(%_IsSmi(%IS_VAR(v))?v:%NumberToInteger($toNumber(v)));
if(this.global||(harmony_regexps&&this.sticky)){
if(u<0||u>k.length){
this.lastIndex=0;
return false;
}
var x=%_RegExpExec(this,k,u,e);
if((x===null)){
this.lastIndex=0;
return false;
}
$regexpLastMatchInfoOverride=null;
this.lastIndex=e[4];
return true;
}else{
var j=this;
if(j.source.length>=3&&
%_StringCharCodeAt(j.source,0)==46&&
%_StringCharCodeAt(j.source,1)==42&&
%_StringCharCodeAt(j.source,2)!=63){
j=TrimRegExp(j);
}
var x=%_RegExpExec(j,k,0,e);
if((x===null)){
this.lastIndex=0;
return false;
}
$regexpLastMatchInfoOverride=null;
return true;
}
}
--- Optimized code ---
optimization_id = 38
source_position = 2343
kind = OPTIMIZED_FUNCTION
name = test
stack_slots = 2
compiler = crankshaft
Instructions (size = 996)
0x351d93334220 0 55 push rbp
0x351d93334221 1 4889e5 REX.W movq rbp,rsp
0x351d93334224 4 56 push rsi
0x351d93334225 5 57 push rdi
0x351d93334226 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d9333422a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 2343
;;; <@3,#1> gap
0x351d9333422e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d93334232 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d93334235 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d9333423c 28 7305 jnc 35 (0x351d93334243)
0x351d9333423e 30 e89d0ce0ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@16,#12> gap
0x351d93334243 35 488b5518 REX.W movq rdx,[rbp+0x18] ;; debug: position 2353
;;; <@17,#12> has-instance-type-and-branch
0x351d93334247 39 f6c201 testb rdx,0x1
0x351d9333424a 42 0f840f000000 jz 63 (0x351d9333425f)
0x351d93334250 48 4c8b52ff REX.W movq r10,[rdx-0x1]
0x351d93334254 52 41807a0bcf cmpb [r10+0xb],0xcf
0x351d93334259 57 0f846a000000 jz 169 (0x351d933342c9)
;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------
;;; <@22,#19> -------------------- B3 --------------------
;;; <@24,#25> push-argument
0x351d9333425f 63 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 2379
;; object: 0x21ab18105f49 <JS Global Object>
0x351d93334269 73 4152 push r10
;;; <@26,#25> push-argument
0x351d9333426b 75 49ba0000000021000000 REX.W movq r10,0x2100000000
0x351d93334275 85 4152 push r10
;;; <@28,#25> push-argument
0x351d93334277 87 49ba0157901214170000 REX.W movq r10,0x171412905701 ;; object: 0x171412905701 <String[21]: RegExp.prototype.test>
0x351d93334281 97 4152 push r10
;;; <@30,#25> push-argument
0x351d93334283 99 52 push rdx
;;; <@32,#20> constant-t
0x351d93334284 100 48bff9fec9bdff1f0000 REX.W movq rdi,0x1fffbdc9fef9 ;; object: 0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>
;;; <@34,#28> load-named-field
0x351d9333428e 110 488b772f REX.W movq rsi,[rdi+0x2f]
;;; <@36,#20> constant-t
0x351d93334292 114 48bff9fec9bdff1f0000 REX.W movq rdi,0x1fffbdc9fef9 ;; object: 0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>
;;; <@38,#29> constant-i
0x351d9333429c 124 b803000000 movl rax,0x3
;;; <@40,#27> constant-i
0x351d933342a1 129 bb04000000 movl rbx,0x4
;;; <@42,#31> call-with-descriptor
0x351d933342a6 134 e8555cddff call ArgumentsAdaptorTrampoline (0x351d93109f00) ;; code: BUILTIN
;;; <@44,#32> lazy-bailout
;;; <@46,#33> push-argument
0x351d933342ab 139 50 push rax ;; debug: position 2373
;;; <@47,#33> gap
0x351d933342ac 140 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@48,#34> call-runtime
0x351d933342b0 144 0f1f840000000000 nop
0x351d933342b8 152 b801000000 movl rax,0x1
0x351d933342bd 157 498d9dd89b32ff REX.W leaq rbx,[r13-0xcd6428]
0x351d933342c4 164 e81753ddff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@50,#35> lazy-bailout
;;; <@52,#13> -------------------- B4 (unreachable/replaced) --------------------
;;; <@56,#37> -------------------- B5 --------------------
;;; <@58,#38> gap
0x351d933342c9 169 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 2452
;;; <@59,#38> typeof-is-and-branch
0x351d933342cd 173 a801 test al,0x1
0x351d933342cf 175 7414 jz 197 (0x351d933342e5)
0x351d933342d1 177 488b40ff REX.W movq rax,[rax-0x1]
0x351d933342d5 181 80780b80 cmpb [rax+0xb],0x80
0x351d933342d9 185 730a jnc 197 (0x351d933342e5)
0x351d933342db 187 f6400c10 testb [rax+0xc],0x10
0x351d933342df 191 0f8427000000 jz 236 (0x351d9333430c)
;;; <@60,#42> -------------------- B6 (unreachable/replaced) --------------------
;;; <@64,#45> -------------------- B7 --------------------
;;; <@66,#49> push-argument
0x351d933342e5 197 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 2467
;; object: 0x21ab18105f49 <JS Global Object>
0x351d933342ef 207 4152 push r10
;;; <@67,#49> gap
0x351d933342f1 209 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@68,#49> push-argument
0x351d933342f5 213 50 push rax
;;; <@70,#46> constant-t
0x351d933342f6 214 48bf6114cabdff1f0000 REX.W movq rdi,0x1fffbdca1461 ;; object: 0x1fffbdca1461 <JS Function NonStringToString (SharedFunctionInfo 0x1fffbdc47479)>
;;; <@72,#51> call-js-function
0x351d93334300 224 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d93334304 228 ff5717 call [rdi+0x17]
;;; <@74,#52> lazy-bailout
;;; <@77,#57> goto
0x351d93334307 231 e904000000 jmp 240 (0x351d93334310) ;; debug: position 2433
;;; <@78,#39> -------------------- B8 (unreachable/replaced) --------------------
;;; <@82,#53> -------------------- B9 --------------------
;;; <@84,#55> gap
0x351d9333430c 236 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@86,#59> -------------------- B10 --------------------
0x351d93334310 240 488945e0 REX.W movq [rbp-0x20],rax ;; debug: position 2501
;;; <@87,#59> gap
0x351d93334314 244 488b5d18 REX.W movq rbx,[rbp+0x18]
;;; <@88,#60> check-non-smi
0x351d93334318 248 f6c301 testb rbx,0x1
0x351d9333431b 251 0f8460020000 jz 865 (0x351d93334581)
;;; <@90,#61> check-maps
0x351d93334321 257 49bab16d908290160000 REX.W movq r10,0x169082906db1 ;; object: 0x169082906db1 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x351d9333432b 267 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d9333432f 271 0f8551020000 jnz 870 (0x351d93334586)
;;; <@92,#62> load-named-field
0x351d93334335 277 488b533f REX.W movq rdx,[rbx+0x3f]
;;; <@95,#65> is-smi-and-branch
0x351d93334339 281 f6c201 testb rdx,0x1 ;; debug: position 2520
0x351d9333433c 284 0f843f000000 jz 353 (0x351d93334381)
;;; <@96,#69> -------------------- B11 (unreachable/replaced) --------------------
;;; <@100,#74> -------------------- B12 --------------------
;;; <@102,#79> push-argument
0x351d93334342 290 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 2559
;; object: 0x21ab18105f49 <JS Global Object>
0x351d9333434c 300 4152 push r10
;;; <@104,#79> push-argument
0x351d9333434e 302 52 push rdx
;;; <@106,#75> constant-t
0x351d9333434f 303 48bf69b4c9bdff1f0000 REX.W movq rdi,0x1fffbdc9b469 ;; object: 0x1fffbdc9b469 <JS Function ToNumber (SharedFunctionInfo 0x1fffbdc47081)>
;;; <@108,#81> call-js-function
0x351d93334359 313 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d9333435d 317 ff5717 call [rdi+0x17]
;;; <@110,#82> lazy-bailout
;;; <@112,#83> push-argument
0x351d93334360 320 50 push rax ;; debug: position 2542
;;; <@113,#83> gap
0x351d93334361 321 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@114,#84> call-runtime
0x351d93334365 325 0f1f840000000000 nop
0x351d9333436d 333 b801000000 movl rax,0x1
0x351d93334372 338 498d9d488633ff REX.W leaq rbx,[r13-0xcc79b8]
0x351d93334379 345 e86252ddff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@116,#85> lazy-bailout
;;; <@118,#89> gap
0x351d9333437e 350 488bd0 REX.W movq rdx,rax ;; debug: position 2520
;;; <@120,#66> -------------------- B13 (unreachable/replaced) --------------------
;;; <@124,#72> -------------------- B14 (unreachable/replaced) --------------------
;;; <@128,#91> -------------------- B15 --------------------
;;; <@129,#91> gap
0x351d93334381 353 488b4518 REX.W movq rax,[rbp+0x18] ;; debug: position 2513
;;; <@130,#94> check-maps
0x351d93334385 357 49bab16d908290160000 REX.W movq r10,0x169082906db1 ;; debug: position 2582
;; object: 0x169082906db1 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x351d9333438f 367 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d93334393 371 0f85f2010000 jnz 875 (0x351d9333458b)
;;; <@132,#95> load-named-field
0x351d93334399 377 488b5827 REX.W movq rbx,[rax+0x27]
;;; <@135,#96> branch
0x351d9333439d 381 493b5dc0 REX.W cmpq rbx,[r13-0x40]
0x351d933343a1 385 0f8479010000 jz 768 (0x351d93334520)
0x351d933343a7 391 493b5dc8 REX.W cmpq rbx,[r13-0x38]
0x351d933343ab 395 0f8405000000 jz 406 (0x351d933343b6)
0x351d933343b1 401 e8a41cadff call 0x351d92e0605a ;; debug: position 122368
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 9
;;; <@136,#100> -------------------- B16 (unreachable/replaced) --------------------
;;; <@140,#103> -------------------- B17 (unreachable/replaced) --------------------
;;; <@144,#109> -------------------- B18 (unreachable/replaced) --------------------
;;; <@148,#106> -------------------- B19 (unreachable/replaced) --------------------
;;; <@152,#112> -------------------- B20 (unreachable/replaced) --------------------
;;; <@156,#114> -------------------- B21 (unreachable/replaced) --------------------
;;; <@164,#121> -------------------- B22 (unreachable/replaced) --------------------
;;; <@168,#207> -------------------- B23 --------------------
;;; <@170,#212> load-named-field
0x351d933343b6 406 488b581f REX.W movq rbx,[rax+0x1f] ;; debug: position 2837
;; debug: position 2853
;;; <@172,#213> check-non-smi
0x351d933343ba 410 f6c301 testb rbx,0x1 ;; debug: position 2860
0x351d933343bd 413 0f84cd010000 jz 880 (0x351d93334590)
;;; <@174,#214> check-instance-type
0x351d933343c3 419 4c8b53ff REX.W movq r10,[rbx-0x1]
0x351d933343c7 423 41f6420b80 testb [r10+0xb],0x80
0x351d933343cc 428 0f85c3010000 jnz 885 (0x351d93334595)
;;; <@176,#215> load-named-field
0x351d933343d2 434 8b5313 movl rdx,[rbx+0x13]
;;; <@179,#217> compare-numeric-and-branch
0x351d933343d5 437 83fa03 cmpl rdx,0x3 ;; debug: position 2867
0x351d933343d8 440 0f8c88000000 jl 582 (0x351d93334466)
;;; <@180,#221> -------------------- B24 (unreachable/replaced) --------------------
;;; <@184,#218> -------------------- B25 (unreachable/replaced) --------------------
;;; <@188,#224> -------------------- B26 --------------------
;;; <@190,#232> load-named-field
0x351d933343de 446 8b5313 movl rdx,[rbx+0x13] ;; debug: position 2892
;; debug: position 2873
;;; <@192,#233> bounds-check
0x351d933343e1 449 83fa00 cmpl rdx,0x0
0x351d933343e4 452 0f86b0010000 jna 890 (0x351d9333459a)
;;; <@194,#229> constant-i
0x351d933343ea 458 33d2 xorl rdx,rdx ;; debug: position 2901
;;; <@196,#234> string-char-code-at
0x351d933343ec 460 488b4bff REX.W movq rcx,[rbx-0x1] ;; debug: position 2873
0x351d933343f0 464 0fb6490b movzxbl rcx,[rcx+0xb]
0x351d933343f4 468 f6c101 testb rcx,0x1
0x351d933343f7 471 742b jz 516 (0x351d93334424)
0x351d933343f9 473 f6c102 testb rcx,0x2
0x351d933343fc 476 740c jz 490 (0x351d9333440a)
0x351d933343fe 478 8b4b23 movl rcx,[rbx+0x23]
0x351d93334401 481 4803d1 REX.W addq rdx,rcx
0x351d93334404 484 488b5b17 REX.W movq rbx,[rbx+0x17]
0x351d93334408 488 eb12 jmp 508 (0x351d9333441c)
0x351d9333440a 490 4d8b55d0 REX.W movq r10,[r13-0x30]
0x351d9333440e 494 4c39531f REX.W cmpq [rbx+0x1f],r10
0x351d93334412 498 0f8510010000 jnz 776 (0x351d93334528)
0x351d93334418 504 488b5b17 REX.W movq rbx,[rbx+0x17]
0x351d9333441c 508 488b4bff REX.W movq rcx,[rbx-0x1]
0x351d93334420 512 0fb6490b movzxbl rcx,[rcx+0xb]
0x351d93334424 516 f6c103 testb rcx,0x3
0x351d93334427 519 741e jz 551 (0x351d93334447)
0x351d93334429 521 f6c110 testb rcx,0x10
0x351d9333442c 524 0f85f6000000 jnz 776 (0x351d93334528)
0x351d93334432 530 f6c104 testb rcx,0x4
0x351d93334435 533 488b4b1f REX.W movq rcx,[rbx+0x1f]
0x351d93334439 537 7506 jnz 545 (0x351d93334441)
0x351d9333443b 539 0fb70c51 movzxwl rcx,[rcx+rdx*2]
0x351d9333443f 543 eb17 jmp 568 (0x351d93334458)
0x351d93334441 545 0fb60c11 movzxbl rcx,[rcx+rdx*1]
0x351d93334445 549 eb11 jmp 568 (0x351d93334458)
0x351d93334447 551 f6c104 testb rcx,0x4
0x351d9333444a 554 7507 jnz 563 (0x351d93334453)
0x351d9333444c 556 0fb74c5317 movzxwl rcx,[rbx+rdx*2+0x17]
0x351d93334451 561 eb05 jmp 568 (0x351d93334458)
0x351d93334453 563 0fb64c1317 movzxbl rcx,[rbx+rdx*1+0x17]
;;; <@199,#236> compare-numeric-and-branch
0x351d93334458 568 83f92e cmpl rcx,0x2e ;; debug: position 2903
0x351d9333445b 571 0f8505000000 jnz 582 (0x351d93334466)
;;; <@200,#240> -------------------- B27 (unreachable/replaced) --------------------
;;; <@204,#237> -------------------- B28 (unreachable/replaced) --------------------
;;; <@208,#243> -------------------- B29 --------------------
;;; <@211,#245> deoptimize
0x351d93334461 577 e81c1ccdff call 0x351d93006082 ;; debug: position 2929
;; debug: position 2930
;; debug: position 300544
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 13
;;; <@212,#246> -------------------- B30 (unreachable/replaced) --------------------
;;; <@238,#257> -------------------- B31 (unreachable/replaced) --------------------
;;; <@250,#264> -------------------- B32 (unreachable/replaced) --------------------
;;; <@254,#261> -------------------- B33 (unreachable/replaced) --------------------
;;; <@258,#267> -------------------- B34 (unreachable/replaced) --------------------
;;; <@262,#270> -------------------- B35 (unreachable/replaced) --------------------
;;; <@288,#281> -------------------- B36 (unreachable/replaced) --------------------
;;; <@300,#288> -------------------- B37 (unreachable/replaced) --------------------
;;; <@304,#291> -------------------- B38 (unreachable/replaced) --------------------
;;; <@318,#285> -------------------- B39 (unreachable/replaced) --------------------
;;; <@322,#300> -------------------- B40 --------------------
;;; <@324,#302> gap
0x351d93334466 582 488bd8 REX.W movq rbx,rax ;; debug: position 2849
;;; <@326,#304> -------------------- B41 --------------------
;;; <@327,#304> gap
0x351d93334469 585 488b55e8 REX.W movq rdx,[rbp-0x18] ;; debug: position 3022
;;; <@328,#307> load-context-slot
0x351d9333446d 589 488b4a37 REX.W movq rcx,[rdx+0x37] ;; debug: position 3028
;;; <@330,#308> push-argument
0x351d93334471 593 53 push rbx ;; debug: position 3009
;;; <@332,#308> push-argument
0x351d93334472 594 ff75e0 push [rbp-0x20]
;;; <@334,#308> push-argument
0x351d93334475 597 6a00 push 0x0
;;; <@336,#308> push-argument
0x351d93334477 599 51 push rcx
;;; <@337,#308> gap
0x351d93334478 600 488bf2 REX.W movq rsi,rdx
;;; <@338,#309> call-stub
0x351d9333447b 603 e8a078e0ff call 0x351d9313bd20 ;; code: STUB, RegExpExecStub, minor: 0
;;; <@340,#310> lazy-bailout
;;; <@343,#313> cmp-object-eq-and-branch
0x351d93334480 608 49ba0141c0bdff1f0000 REX.W movq r10,0x1fffbdc04101 ;; debug: position 3037
;; object: 0x1fffbdc04101 <null>
0x351d9333448a 618 493bc2 REX.W cmpq rax,r10
0x351d9333448d 621 0f8429000000 jz 668 (0x351d933344bc)
;;; <@344,#317> -------------------- B42 (unreachable/replaced) --------------------
;;; <@348,#329> -------------------- B43 --------------------
;;; <@350,#331> constant-t
0x351d93334493 627 48b85917cabdff1f0000 REX.W movq rax,0x1fffbdca1759 ;; debug: position 3111
;; debug: position 3110
;; object: 0x1fffbdca1759 PropertyCell for 0x1fffbdc04101 <null> (data, dictionary_index: 300, attrs: [WE_])
;;; <@352,#332> store-named-field
0x351d9333449d 637 49ba0141c0bdff1f0000 REX.W movq r10,0x1fffbdc04101 ;; object: 0x1fffbdc04101 <null>
0x351d933344a7 647 4c89500f REX.W movq [rax+0xf],r10
;;; <@354,#334> constant-t
0x351d933344ab 651 48b81142c0bdff1f0000 REX.W movq rax,0x1fffbdc04211 ;; debug: position 3124
;; object: 0x1fffbdc04211 <true>
;;; <@356,#336> return
0x351d933344b5 661 488be5 REX.W movq rsp,rbp ;; debug: position 3117
0x351d933344b8 664 5d pop rbp
0x351d933344b9 665 c21000 ret 0x10
;;; <@358,#314> -------------------- B44 (unreachable/replaced) --------------------
;;; <@362,#320> -------------------- B45 --------------------
;;; <@363,#320> gap
0x351d933344bc 668 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 3063
;;; <@364,#323> check-maps
0x351d933344c0 672 49bab16d908290160000 REX.W movq r10,0x169082906db1 ;; debug: position 3062
;; object: 0x169082906db1 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x351d933344ca 682 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d933344ce 686 0f85cb000000 jnz 895 (0x351d9333459f)
;;; <@366,#343> constant-t
0x351d933344d4 692 48b80000000000000000 REX.W movq rax,(nil) ;; debug: position 3009
;;; <@368,#324> store-named-field
0x351d933344de 702 4889433f REX.W movq [rbx+0x3f],rax ;; debug: position 3062
0x351d933344e2 706 a801 test al,0x1
0x351d933344e4 708 0f8425000000 jz 751 (0x351d9333450f)
0x351d933344ea 714 488d533f REX.W leaq rdx,[rbx+0x3f]
0x351d933344ee 718 48250000f0ff REX.W and rax,0xfffffffffff00000
0x351d933344f4 724 f6400804 testb [rax+0x8],0x4
0x351d933344f8 728 7415 jz 751 (0x351d9333450f)
0x351d933344fa 730 48c7c00000f0ff REX.W movq rax,0xfff00000
0x351d93334501 737 4823c3 REX.W andq rax,rbx
0x351d93334504 740 f6400808 testb [rax+0x8],0x8
0x351d93334508 744 7405 jz 751 (0x351d9333450f)
0x351d9333450a 746 e87136f9ff call 0x351d932c7b80 ;; code: STUB, RecordWriteStub, minor: 8707
;;; <@370,#104> constant-t
0x351d9333450f 751 48b85142c0bdff1f0000 REX.W movq rax,0x1fffbdc04251 ;; debug: position 2592
;; object: 0x1fffbdc04251 <false>
;;; <@372,#328> return
0x351d93334519 761 488be5 REX.W movq rsp,rbp ;; debug: position 3066
0x351d9333451c 764 5d pop rbp
0x351d9333451d 765 c21000 ret 0x10
;;; <@374,#118> -------------------- B46 (unreachable/replaced) --------------------
;;; <@378,#97> -------------------- B47 --------------------
0x351d93334520 768 488bd8 REX.W movq rbx,rax ;; debug: position 2582
;;; <@382,#124> -------------------- B48 --------------------
;;; <@385,#127> deoptimize
0x351d93334523 771 e8781bcdff call 0x351d930060a0 ;; debug: position 2627
;; debug: position 2628
;; debug: position 145920
;; debug: deopt reason 'Insufficient type feedback for combined type of binary operation'
;; soft deoptimization bailout 16
;;; <@386,#128> -------------------- B49 (unreachable/replaced) --------------------
;;; <@396,#135> -------------------- B50 (unreachable/replaced) --------------------
;;; <@400,#138> -------------------- B51 (unreachable/replaced) --------------------
;;; <@404,#141> -------------------- B52 (unreachable/replaced) --------------------
;;; <@412,#145> -------------------- B53 (unreachable/replaced) --------------------
;;; <@422,#152> -------------------- B54 (unreachable/replaced) --------------------
;;; <@426,#164> -------------------- B55 (unreachable/replaced) --------------------
;;; <@442,#177> -------------------- B56 (unreachable/replaced) --------------------
;;; <@446,#189> -------------------- B57 (unreachable/replaced) --------------------
;;; <@458,#197> -------------------- B58 (unreachable/replaced) --------------------
;;; <@468,#201> -------------------- B59 (unreachable/replaced) --------------------
;;; <@480,#174> -------------------- B60 (unreachable/replaced) --------------------
;;; <@484,#180> -------------------- B61 (unreachable/replaced) --------------------
;;; <@488,#183> -------------------- B62 (unreachable/replaced) --------------------
;;; <@500,#149> -------------------- B63 (unreachable/replaced) --------------------
;;; <@504,#132> -------------------- B64 (unreachable/replaced) --------------------
;;; <@508,#155> -------------------- B65 (unreachable/replaced) --------------------
;;; <@512,#158> -------------------- B66 (unreachable/replaced) --------------------
;;; <@196,#234> -------------------- Deferred string-char-code-at --------------------
0x351d93334528 776 33c9 xorl rcx,rcx ;; debug: position 2873
0x351d9333452a 778 50 push rax
0x351d9333452b 779 51 push rcx
0x351d9333452c 780 52 push rdx
0x351d9333452d 781 53 push rbx
0x351d9333452e 782 56 push rsi
0x351d9333452f 783 57 push rdi
0x351d93334530 784 4150 push r8
0x351d93334532 786 4151 push r9
0x351d93334534 788 4153 push r11
0x351d93334536 790 4154 push r12
0x351d93334538 792 4156 push r14
0x351d9333453a 794 4157 push r15
0x351d9333453c 796 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d93334541 801 53 push rbx
0x351d93334542 802 48c1e220 REX.W shlq rdx, 32
0x351d93334546 806 52 push rdx
0x351d93334547 807 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d9333454b 811 b802000000 movl rax,0x2
0x351d93334550 816 498d9de83835ff REX.W leaq rbx,[r13-0xcac718]
0x351d93334557 823 e8441dddff call 0x351d931062a0 ;; code: STUB, CEntryStub, minor: 1
0x351d9333455c 828 48c1e820 REX.W shrq rax, 32
0x351d93334560 832 4889442470 REX.W movq [rsp+0x70],rax
0x351d93334565 837 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d9333456a 842 415f pop r15
0x351d9333456c 844 415e pop r14
0x351d9333456e 846 415c pop r12
0x351d93334570 848 415b pop r11
0x351d93334572 850 4159 pop r9
0x351d93334574 852 4158 pop r8
0x351d93334576 854 5f pop rdi
0x351d93334577 855 5e pop rsi
0x351d93334578 856 5b pop rbx
0x351d93334579 857 5a pop rdx
0x351d9333457a 858 59 pop rcx
0x351d9333457b 859 58 pop rax
0x351d9333457c 860 e9d7feffff jmp 568 (0x351d93334458)
;;; -------------------- Jump table --------------------
0x351d93334581 865 e8a21aadff call 0x351d92e06028 ;; debug: position 80896
;; debug: deopt reason 'Smi'
;; deoptimization bailout 4
0x351d93334586 870 e8a71aadff call 0x351d92e06032 ;; debug: position 80896
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 5
0x351d9333458b 875 e8c01aadff call 0x351d92e06050 ;; debug: position 122368
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 8
0x351d93334590 880 e8cf1aadff call 0x351d92e06064 ;; debug: position 264704
;; debug: deopt reason 'Smi'
;; deoptimization bailout 10
0x351d93334595 885 e8d41aadff call 0x351d92e0606e ;; debug: position 264704
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 11
0x351d9333459a 890 e8d91aadff call 0x351d92e06078 ;; debug: position 271360
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 12
0x351d9333459f 895 e8f21aadff call 0x351d92e06096 ;; debug: position 368128
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 15
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 17)
index ast id argc pc
0 3 0 35
1 37 0 139
2 35 0 169
3 81 0 231
4 61 0 -1
5 61 0 -1
6 137 0 320
7 134 0 350
8 121 0 -1
9 121 0 -1
10 150 0 -1
11 150 0 -1
12 359 0 -1
13 355 0 -1
14 480 0 608
15 496 0 -1
16 149 0 -1
Safepoints (size = 96)
0x351d93334243 35 01 (sp -> fp) 0
0x351d933342ab 139 01 (sp -> fp) 1
0x351d933342c9 169 01 (sp -> fp) 2
0x351d93334307 231 01 (sp -> fp) 3
0x351d93334360 320 11 (sp -> fp) 6
0x351d9333437e 350 11 (sp -> fp) 7
0x351d93334480 608 11 (sp -> fp) 14
0x351d9333455c 828 11 | rax (sp -> fp) <none> argc: 2
RelocInfo (size = 1997)
0x351d9333422a position (2343)
0x351d9333422a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d9333422a comment (;;; <@2,#1> context)
0x351d9333422e comment (;;; <@3,#1> gap)
0x351d93334232 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d93334232 comment (;;; <@11,#8> gap)
0x351d93334235 comment (;;; <@12,#10> stack-check)
0x351d9333423f code target (BUILTIN) (0x351d93134ee0)
0x351d93334243 comment (;;; <@14,#10> lazy-bailout)
0x351d93334243 comment (;;; <@16,#12> gap)
0x351d93334243 position (2353)
0x351d93334247 comment (;;; <@17,#12> has-instance-type-and-branch)
0x351d9333425f comment (;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------)
0x351d9333425f position (2379)
0x351d9333425f comment (;;; <@22,#19> -------------------- B3 --------------------)
0x351d9333425f comment (;;; <@24,#25> push-argument)
0x351d93334261 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d9333426b comment (;;; <@26,#25> push-argument)
0x351d93334277 comment (;;; <@28,#25> push-argument)
0x351d93334279 embedded object (0x171412905701 <String[21]: RegExp.prototype.test>)
0x351d93334283 comment (;;; <@30,#25> push-argument)
0x351d93334284 comment (;;; <@32,#20> constant-t)
0x351d93334286 embedded object (0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>)
0x351d9333428e comment (;;; <@34,#28> load-named-field)
0x351d93334292 comment (;;; <@36,#20> constant-t)
0x351d93334294 embedded object (0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>)
0x351d9333429c comment (;;; <@38,#29> constant-i)
0x351d933342a1 comment (;;; <@40,#27> constant-i)
0x351d933342a6 comment (;;; <@42,#31> call-with-descriptor)
0x351d933342a7 code target (BUILTIN) (0x351d93109f00)
0x351d933342ab comment (;;; <@44,#32> lazy-bailout)
0x351d933342ab comment (;;; <@46,#33> push-argument)
0x351d933342ab position (2373)
0x351d933342ac comment (;;; <@47,#33> gap)
0x351d933342b0 comment (;;; <@48,#34> call-runtime)
0x351d933342c5 code target (STUB) (0x351d931095e0)
0x351d933342c9 comment (;;; <@50,#35> lazy-bailout)
0x351d933342c9 comment (;;; <@52,#13> -------------------- B4 (unreachable/replaced) --------------------)
0x351d933342c9 position (2452)
0x351d933342c9 comment (;;; <@56,#37> -------------------- B5 --------------------)
0x351d933342c9 comment (;;; <@58,#38> gap)
0x351d933342cd comment (;;; <@59,#38> typeof-is-and-branch)
0x351d933342e5 comment (;;; <@60,#42> -------------------- B6 (unreachable/replaced) --------------------)
0x351d933342e5 position (2467)
0x351d933342e5 comment (;;; <@64,#45> -------------------- B7 --------------------)
0x351d933342e5 comment (;;; <@66,#49> push-argument)
0x351d933342e7 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d933342f1 comment (;;; <@67,#49> gap)
0x351d933342f5 comment (;;; <@68,#49> push-argument)
0x351d933342f6 comment (;;; <@70,#46> constant-t)
0x351d933342f8 embedded object (0x1fffbdca1461 <JS Function NonStringToString (SharedFunctionInfo 0x1fffbdc47479)>)
0x351d93334300 comment (;;; <@72,#51> call-js-function)
0x351d93334307 comment (;;; <@74,#52> lazy-bailout)
0x351d93334307 position (2433)
0x351d93334307 comment (;;; <@77,#57> goto)
0x351d9333430c comment (;;; <@78,#39> -------------------- B8 (unreachable/replaced) --------------------)
0x351d9333430c comment (;;; <@82,#53> -------------------- B9 --------------------)
0x351d9333430c comment (;;; <@84,#55> gap)
0x351d93334310 position (2501)
0x351d93334310 comment (;;; <@86,#59> -------------------- B10 --------------------)
0x351d93334314 comment (;;; <@87,#59> gap)
0x351d93334318 comment (;;; <@88,#60> check-non-smi)
0x351d93334321 comment (;;; <@90,#61> check-maps)
0x351d93334323 embedded object (0x169082906db1 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x351d93334335 comment (;;; <@92,#62> load-named-field)
0x351d93334339 position (2520)
0x351d93334339 comment (;;; <@95,#65> is-smi-and-branch)
0x351d93334342 comment (;;; <@96,#69> -------------------- B11 (unreachable/replaced) --------------------)
0x351d93334342 position (2559)
0x351d93334342 comment (;;; <@100,#74> -------------------- B12 --------------------)
0x351d93334342 comment (;;; <@102,#79> push-argument)
0x351d93334344 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d9333434e comment (;;; <@104,#79> push-argument)
0x351d9333434f comment (;;; <@106,#75> constant-t)
0x351d93334351 embedded object (0x1fffbdc9b469 <JS Function ToNumber (SharedFunctionInfo 0x1fffbdc47081)>)
0x351d93334359 comment (;;; <@108,#81> call-js-function)
0x351d93334360 comment (;;; <@110,#82> lazy-bailout)
0x351d93334360 comment (;;; <@112,#83> push-argument)
0x351d93334360 position (2542)
0x351d93334361 comment (;;; <@113,#83> gap)
0x351d93334365 comment (;;; <@114,#84> call-runtime)
0x351d9333437a code target (STUB) (0x351d931095e0)
0x351d9333437e comment (;;; <@116,#85> lazy-bailout)
0x351d9333437e comment (;;; <@118,#89> gap)
0x351d9333437e position (2520)
0x351d93334381 comment (;;; <@120,#66> -------------------- B13 (unreachable/replaced) --------------------)
0x351d93334381 comment (;;; <@124,#72> -------------------- B14 (unreachable/replaced) --------------------)
0x351d93334381 position (2513)
0x351d93334381 comment (;;; <@128,#91> -------------------- B15 --------------------)
0x351d93334381 comment (;;; <@129,#91> gap)
0x351d93334385 comment (;;; <@130,#94> check-maps)
0x351d93334385 position (2582)
0x351d93334387 embedded object (0x169082906db1 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x351d93334399 comment (;;; <@132,#95> load-named-field)
0x351d9333439d comment (;;; <@135,#96> branch)
0x351d933343b1 position (122368)
0x351d933343b1 deopt reason (unexpected object)
0x351d933343b2 runtime entry (deoptimization bailout 9)
0x351d933343b6 comment (;;; <@136,#100> -------------------- B16 (unreachable/replaced) --------------------)
0x351d933343b6 comment (;;; <@140,#103> -------------------- B17 (unreachable/replaced) --------------------)
0x351d933343b6 comment (;;; <@144,#109> -------------------- B18 (unreachable/replaced) --------------------)
0x351d933343b6 comment (;;; <@148,#106> -------------------- B19 (unreachable/replaced) --------------------)
0x351d933343b6 comment (;;; <@152,#112> -------------------- B20 (unreachable/replaced) --------------------)
0x351d933343b6 comment (;;; <@156,#114> -------------------- B21 (unreachable/replaced) --------------------)
0x351d933343b6 comment (;;; <@164,#121> -------------------- B22 (unreachable/replaced) --------------------)
0x351d933343b6 position (2837)
0x351d933343b6 comment (;;; <@168,#207> -------------------- B23 --------------------)
0x351d933343b6 comment (;;; <@170,#212> load-named-field)
0x351d933343b6 position (2853)
0x351d933343ba comment (;;; <@172,#213> check-non-smi)
0x351d933343ba position (2860)
0x351d933343c3 comment (;;; <@174,#214> check-instance-type)
0x351d933343d2 comment (;;; <@176,#215> load-named-field)
0x351d933343d5 position (2867)
0x351d933343d5 comment (;;; <@179,#217> compare-numeric-and-branch)
0x351d933343de comment (;;; <@180,#221> -------------------- B24 (unreachable/replaced) --------------------)
0x351d933343de comment (;;; <@184,#218> -------------------- B25 (unreachable/replaced) --------------------)
0x351d933343de position (2892)
0x351d933343de comment (;;; <@188,#224> -------------------- B26 --------------------)
0x351d933343de comment (;;; <@190,#232> load-named-field)
0x351d933343de position (2873)
0x351d933343e1 comment (;;; <@192,#233> bounds-check)
0x351d933343ea comment (;;; <@194,#229> constant-i)
0x351d933343ea position (2901)
0x351d933343ec comment (;;; <@196,#234> string-char-code-at)
0x351d933343ec position (2873)
0x351d93334458 position (2903)
0x351d93334458 comment (;;; <@199,#236> compare-numeric-and-branch)
0x351d93334461 comment (;;; <@200,#240> -------------------- B27 (unreachable/replaced) --------------------)
0x351d93334461 comment (;;; <@204,#237> -------------------- B28 (unreachable/replaced) --------------------)
0x351d93334461 position (2929)
0x351d93334461 comment (;;; <@208,#243> -------------------- B29 --------------------)
0x351d93334461 position (2930)
0x351d93334461 comment (;;; <@211,#245> deoptimize)
0x351d93334461 position (300544)
0x351d93334461 deopt reason (Insufficient type feedback for generic named access)
0x351d93334462 runtime entry
0x351d93334466 comment (;;; <@212,#246> -------------------- B30 (unreachable/replaced) --------------------)
0x351d93334466 comment (;;; <@238,#257> -------------------- B31 (unreachable/replaced) --------------------)
0x351d93334466 comment (;;; <@250,#264> -------------------- B32 (unreachable/replaced) --------------------)
0x351d93334466 comment (;;; <@254,#261> -------------------- B33 (unreachable/replaced) --------------------)
0x351d93334466 comment (;;; <@258,#267> -------------------- B34 (unreachable/replaced) --------------------)
0x351d93334466 comment (;;; <@262,#270> -------------------- B35 (unreachable/replaced) --------------------)
0x351d93334466 comment (;;; <@288,#281> -------------------- B36 (unreachable/replaced) --------------------)
0x351d93334466 comment (;;; <@300,#288> -------------------- B37 (unreachable/replaced) --------------------)
0x351d93334466 comment (;;; <@304,#291> -------------------- B38 (unreachable/replaced) --------------------)
0x351d93334466 comment (;;; <@318,#285> -------------------- B39 (unreachable/replaced) --------------------)
0x351d93334466 position (2849)
0x351d93334466 comment (;;; <@322,#300> -------------------- B40 --------------------)
0x351d93334466 comment (;;; <@324,#302> gap)
0x351d93334469 position (3022)
0x351d93334469 comment (;;; <@326,#304> -------------------- B41 --------------------)
0x351d93334469 comment (;;; <@327,#304> gap)
0x351d9333446d comment (;;; <@328,#307> load-context-slot)
0x351d9333446d position (3028)
0x351d93334471 comment (;;; <@330,#308> push-argument)
0x351d93334471 position (3009)
0x351d93334472 comment (;;; <@332,#308> push-argument)
0x351d93334475 comment (;;; <@334,#308> push-argument)
0x351d93334477 comment (;;; <@336,#308> push-argument)
0x351d93334478 comment (;;; <@337,#308> gap)
0x351d9333447b comment (;;; <@338,#309> call-stub)
0x351d9333447c code target (STUB) (0x351d9313bd20)
0x351d93334480 comment (;;; <@340,#310> lazy-bailout)
0x351d93334480 position (3037)
0x351d93334480 comment (;;; <@343,#313> cmp-object-eq-and-branch)
0x351d93334482 embedded object (0x1fffbdc04101 <null>)
0x351d93334493 comment (;;; <@344,#317> -------------------- B42 (unreachable/replaced) --------------------)
0x351d93334493 position (3111)
0x351d93334493 comment (;;; <@348,#329> -------------------- B43 --------------------)
0x351d93334493 comment (;;; <@350,#331> constant-t)
0x351d93334493 position (3110)
0x351d93334495 embedded object (0x1fffbdca1759 PropertyCell for 0x1fffbdc04101 <null> (data, dictionary_index: 300, attrs: [WE_]))
0x351d9333449d comment (;;; <@352,#332> store-named-field)
0x351d9333449f embedded object (0x1fffbdc04101 <null>)
0x351d933344ab comment (;;; <@354,#334> constant-t)
0x351d933344ab position (3124)
0x351d933344ad embedded object (0x1fffbdc04211 <true>)
0x351d933344b5 comment (;;; <@356,#336> return)
0x351d933344b5 position (3117)
0x351d933344bc comment (;;; <@358,#314> -------------------- B44 (unreachable/replaced) --------------------)
0x351d933344bc position (3063)
0x351d933344bc comment (;;; <@362,#320> -------------------- B45 --------------------)
0x351d933344bc comment (;;; <@363,#320> gap)
0x351d933344c0 comment (;;; <@364,#323> check-maps)
0x351d933344c0 position (3062)
0x351d933344c2 embedded object (0x169082906db1 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x351d933344d4 comment (;;; <@366,#343> constant-t)
0x351d933344d4 position (3009)
0x351d933344de comment (;;; <@368,#324> store-named-field)
0x351d933344de position (3062)
0x351d9333450b code target (STUB) (0x351d932c7b80)
0x351d9333450f comment (;;; <@370,#104> constant-t)
0x351d9333450f position (2592)
0x351d93334511 embedded object (0x1fffbdc04251 <false>)
0x351d93334519 comment (;;; <@372,#328> return)
0x351d93334519 position (3066)
0x351d93334520 comment (;;; <@374,#118> -------------------- B46 (unreachable/replaced) --------------------)
0x351d93334520 position (2582)
0x351d93334520 comment (;;; <@378,#97> -------------------- B47 --------------------)
0x351d93334523 position (2627)
0x351d93334523 comment (;;; <@382,#124> -------------------- B48 --------------------)
0x351d93334523 position (2628)
0x351d93334523 comment (;;; <@385,#127> deoptimize)
0x351d93334523 position (145920)
0x351d93334523 deopt reason (Insufficient type feedback for combined type of binary operation)
0x351d93334524 runtime entry
0x351d93334528 comment (;;; <@386,#128> -------------------- B49 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@396,#135> -------------------- B50 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@400,#138> -------------------- B51 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@404,#141> -------------------- B52 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@412,#145> -------------------- B53 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@422,#152> -------------------- B54 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@426,#164> -------------------- B55 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@442,#177> -------------------- B56 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@446,#189> -------------------- B57 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@458,#197> -------------------- B58 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@468,#201> -------------------- B59 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@480,#174> -------------------- B60 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@484,#180> -------------------- B61 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@488,#183> -------------------- B62 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@500,#149> -------------------- B63 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@504,#132> -------------------- B64 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@508,#155> -------------------- B65 (unreachable/replaced) --------------------)
0x351d93334528 comment (;;; <@512,#158> -------------------- B66 (unreachable/replaced) --------------------)
0x351d93334528 position (2873)
0x351d93334528 comment (;;; <@196,#234> -------------------- Deferred string-char-code-at --------------------)
0x351d93334558 code target (STUB) (0x351d931062a0)
0x351d93334581 comment (;;; -------------------- Jump table --------------------)
0x351d93334581 position (80896)
0x351d93334581 deopt reason (Smi)
0x351d93334582 runtime entry (deoptimization bailout 4)
0x351d93334586 position (80896)
0x351d93334586 deopt reason (wrong map)
0x351d93334587 runtime entry (deoptimization bailout 5)
0x351d9333458b position (122368)
0x351d9333458b deopt reason (wrong map)
0x351d9333458c runtime entry (deoptimization bailout 8)
0x351d93334590 position (264704)
0x351d93334590 deopt reason (Smi)
0x351d93334591 runtime entry (deoptimization bailout 10)
0x351d93334595 position (264704)
0x351d93334595 deopt reason (wrong instance type)
0x351d93334596 runtime entry (deoptimization bailout 11)
0x351d9333459a position (271360)
0x351d9333459a deopt reason (out of bounds)
0x351d9333459b runtime entry (deoptimization bailout 12)
0x351d9333459f position (368128)
0x351d9333459f deopt reason (wrong map)
0x351d933345a0 runtime entry (deoptimization bailout 15)
0x351d933345a4 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE () id{39,0} ---
() {
return fn.apply(obj, arguments);
}
--- END ---
--- Raw source ---
() {
return fn.apply(obj, arguments);
};
--- Optimized code ---
optimization_id = 39
source_position = 13425
kind = OPTIMIZED_FUNCTION
stack_slots = 1
compiler = crankshaft
Instructions (size = 329)
0x351d93334940 0 55 push rbp
0x351d93334941 1 4889e5 REX.W movq rbp,rsp
0x351d93334944 4 56 push rsi
0x351d93334945 5 57 push rdi
0x351d93334946 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d9333494a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 13425
;;; <@3,#1> gap
0x351d9333494e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@8,#7> -------------------- B1 --------------------
;;; <@9,#7> gap
0x351d93334952 18 488bf0 REX.W movq rsi,rax
;;; <@10,#9> stack-check
0x351d93334955 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d9333495c 28 7305 jnc 35 (0x351d93334963)
0x351d9333495e 30 e87d05e0ff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@12,#9> lazy-bailout
;;; <@13,#9> gap
0x351d93334963 35 488b55e8 REX.W movq rdx,[rbp-0x18]
;;; <@14,#10> load-context-slot
0x351d93334967 39 488b7a2f REX.W movq rdi,[rdx+0x2f] ;; debug: position 13449
;;; <@16,#11> check-non-smi
0x351d9333496b 43 40f6c701 testb rdi,0x1 ;; debug: position 13452
0x351d9333496f 47 0f84d1000000 jz 262 (0x351d93334a46)
;;; <@18,#12> check-maps
0x351d93334975 53 49ba319f908290160000 REX.W movq r10,0x169082909f31 ;; object: 0x169082909f31 <Map(FAST_HOLEY_ELEMENTS)>
0x351d9333497f 63 4c3957ff REX.W cmpq [rdi-0x1],r10
0x351d93334983 67 0f85c2000000 jnz 267 (0x351d93334a4b)
;;; <@20,#14> check-maps
;;; <@22,#16> load-context-slot
0x351d93334989 73 488b4237 REX.W movq rax,[rdx+0x37] ;; debug: position 13458
;;; <@24,#19> arguments-elements
0x351d9333498d 77 488b4d00 REX.W movq rcx,[rbp+0x0] ;; debug: position 13452
0x351d93334991 81 49ba000000000a000000 REX.W movq r10,0xa00000000
0x351d9333499b 91 4c3951f8 REX.W cmpq [rcx-0x8],r10
0x351d9333499f 95 7405 jz 102 (0x351d933349a6)
0x351d933349a1 97 488bcd REX.W movq rcx,rbp
0x351d933349a4 100 eb04 jmp 106 (0x351d933349aa)
0x351d933349a6 102 488b4d00 REX.W movq rcx,[rbp+0x0]
;;; <@26,#20> arguments-length
0x351d933349aa 106 483be9 REX.W cmpq rbp,rcx
0x351d933349ad 109 bb00000000 movl rbx,(nil)
0x351d933349b2 114 7407 jz 123 (0x351d933349bb)
0x351d933349b4 116 488b5d00 REX.W movq rbx,[rbp+0x0]
0x351d933349b8 120 8b5bec movl rbx,[rbx-0x14]
;;; <@28,#21> wrap-receiver
0x351d933349bb 123 4c8b5727 REX.W movq r10,[rdi+0x27]
0x351d933349bf 127 41f6427b08 testb [r10+0x7b],0x8
0x351d933349c4 132 7538 jnz 190 (0x351d933349fe)
0x351d933349c6 134 41f6427c01 testb [r10+0x7c],0x1
0x351d933349cb 139 7531 jnz 190 (0x351d933349fe)
0x351d933349cd 141 493b45b8 REX.W cmpq rax,[r13-0x48]
0x351d933349d1 145 741f jz 178 (0x351d933349f2)
0x351d933349d3 147 493b45a8 REX.W cmpq rax,[r13-0x58]
0x351d933349d7 151 7419 jz 178 (0x351d933349f2)
0x351d933349d9 153 a801 test al,0x1
0x351d933349db 155 0f846f000000 jz 272 (0x351d93334a50)
0x351d933349e1 161 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d933349e5 165 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d933349ea 170 0f8265000000 jc 277 (0x351d93334a55)
0x351d933349f0 176 eb0c jmp 190 (0x351d933349fe)
0x351d933349f2 178 488b472f REX.W movq rax,[rdi+0x2f]
0x351d933349f6 182 488b4027 REX.W movq rax,[rax+0x27]
0x351d933349fa 186 488b4027 REX.W movq rax,[rax+0x27]
;;; <@30,#22> apply-arguments
0x351d933349fe 190 4881fb00040000 REX.W cmpq rbx,0x400
0x351d93334a05 197 0f874f000000 ja 282 (0x351d93334a5a)
0x351d93334a0b 203 50 push rax
0x351d93334a0c 204 488bc3 REX.W movq rax,rbx
0x351d93334a0f 207 85db testl rbx,rbx
0x351d93334a11 209 7408 jz 219 (0x351d93334a1b)
0x351d93334a13 211 ff74d908 push [rcx+rbx*8+0x8]
0x351d93334a17 215 ffcb decl rbx
0x351d93334a19 217 75f8 jnz 211 (0x351d93334a13)
0x351d93334a1b 219 488b5727 REX.W movq rdx,[rdi+0x27]
0x351d93334a1f 223 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d93334a23 227 48635a63 REX.W movsxlq rbx,[rdx+0x63]
0x351d93334a27 231 488b5717 REX.W movq rdx,[rdi+0x17]
0x351d93334a2b 235 483bd8 REX.W cmpq rbx,rax
0x351d93334a2e 238 7407 jz 247 (0x351d93334a37)
0x351d93334a30 240 e8cb54ddff call ArgumentsAdaptorTrampoline (0x351d93109f00) ;; code: BUILTIN
0x351d93334a35 245 eb02 jmp 249 (0x351d93334a39)
0x351d93334a37 247 ffd2 call rdx
;;; <@32,#23> lazy-bailout
;;; <@34,#25> return
0x351d93334a39 249 488be5 REX.W movq rsp,rbp ;; debug: position 13442
0x351d93334a3c 252 5d pop rbp
0x351d93334a3d 253 c20800 ret 0x8
0x351d93334a40 256 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x351d93334a46 262 e8bf15adff call 0x351d92e0600a ;; debug: position 13824
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d93334a4b 267 e8c415adff call 0x351d92e06014 ;; debug: position 13824
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x351d93334a50 272 e8c915adff call 0x351d92e0601e ;; debug: position 13824
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x351d93334a55 277 e8c415adff call 0x351d92e0601e ;; debug: position 13824
;; debug: deopt reason 'not a JavaScript object'
;; deoptimization bailout 3
0x351d93334a5a 282 e8c915adff call 0x351d92e06028 ;; debug: position 13824
;; debug: deopt reason 'too many arguments'
;; deoptimization bailout 4
0x351d93334a5f 287 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 6)
index ast id argc pc
0 3 0 35
1 3 0 -1
2 3 0 -1
3 3 0 -1
4 3 0 -1
5 4 0 249
Safepoints (size = 41)
0x351d93334963 35 1 (sp -> fp) 0
0x351d93334a35 245 1 (sp -> fp) 5
0x351d93334a39 249 1 (sp -> fp) 5
RelocInfo (size = 288)
0x351d9333494a position (13425)
0x351d9333494a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d9333494a comment (;;; <@2,#1> context)
0x351d9333494e comment (;;; <@3,#1> gap)
0x351d93334952 comment (;;; <@8,#7> -------------------- B1 --------------------)
0x351d93334952 comment (;;; <@9,#7> gap)
0x351d93334955 comment (;;; <@10,#9> stack-check)
0x351d9333495f code target (BUILTIN) (0x351d93134ee0)
0x351d93334963 comment (;;; <@12,#9> lazy-bailout)
0x351d93334963 comment (;;; <@13,#9> gap)
0x351d93334967 comment (;;; <@14,#10> load-context-slot)
0x351d93334967 position (13449)
0x351d9333496b comment (;;; <@16,#11> check-non-smi)
0x351d9333496b position (13452)
0x351d93334975 comment (;;; <@18,#12> check-maps)
0x351d93334977 embedded object (0x169082909f31 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93334989 comment (;;; <@20,#14> check-maps)
0x351d93334989 comment (;;; <@22,#16> load-context-slot)
0x351d93334989 position (13458)
0x351d9333498d comment (;;; <@24,#19> arguments-elements)
0x351d9333498d position (13452)
0x351d933349aa comment (;;; <@26,#20> arguments-length)
0x351d933349bb comment (;;; <@28,#21> wrap-receiver)
0x351d933349fe comment (;;; <@30,#22> apply-arguments)
0x351d93334a31 code target (BUILTIN) (0x351d93109f00)
0x351d93334a39 comment (;;; <@32,#23> lazy-bailout)
0x351d93334a39 comment (;;; <@34,#25> return)
0x351d93334a39 position (13442)
0x351d93334a46 comment (;;; -------------------- Jump table --------------------)
0x351d93334a46 position (13824)
0x351d93334a46 deopt reason (Smi)
0x351d93334a47 runtime entry (deoptimization bailout 1)
0x351d93334a4b position (13824)
0x351d93334a4b deopt reason (wrong map)
0x351d93334a4c runtime entry (deoptimization bailout 2)
0x351d93334a50 position (13824)
0x351d93334a50 deopt reason (Smi)
0x351d93334a51 runtime entry (deoptimization bailout 3)
0x351d93334a55 position (13824)
0x351d93334a55 deopt reason (not a JavaScript object)
0x351d93334a56 runtime entry (deoptimization bailout 3)
0x351d93334a5a position (13824)
0x351d93334a5a deopt reason (too many arguments)
0x351d93334a5b runtime entry (deoptimization bailout 4)
0x351d93334a60 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (Module.defineDep) id{40,0} ---
(i, depExports) {
//Because of cycles, defined callback for a given
//export can be called more than once.
if (!this.depMatched[i]) {
this.depMatched[i] = true;
this.depCount -= 1;
this.depExports[i] = depExports;
}
}
--- END ---
--- Raw source ---
(i, depExports) {
//Because of cycles, defined callback for a given
//export can be called more than once.
if (!this.depMatched[i]) {
this.depMatched[i] = true;
this.depCount -= 1;
this.depExports[i] = depExports;
}
},
--- Optimized code ---
optimization_id = 40
source_position = 38636
kind = OPTIMIZED_FUNCTION
name = Module.defineDep
stack_slots = 1
compiler = crankshaft
Instructions (size = 1024)
0x351d93334fe0 0 488b4c2418 REX.W movq rcx,[rsp+0x18]
0x351d93334fe5 5 493b4da8 REX.W cmpq rcx,[r13-0x58]
0x351d93334fe9 9 750d jnz 24 (0x351d93334ff8)
0x351d93334feb 11 488b4e27 REX.W movq rcx,[rsi+0x27]
0x351d93334fef 15 488b4927 REX.W movq rcx,[rcx+0x27]
0x351d93334ff3 19 48894c2418 REX.W movq [rsp+0x18],rcx
0x351d93334ff8 24 55 push rbp
0x351d93334ff9 25 4889e5 REX.W movq rbp,rsp
0x351d93334ffc 28 56 push rsi
0x351d93334ffd 29 57 push rdi
0x351d93334ffe 30 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d93335002 34 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 38636
;;; <@3,#1> gap
0x351d93335006 38 488945e8 REX.W movq [rbp-0x18],rax
;;; <@12,#9> -------------------- B1 --------------------
;;; <@13,#9> gap
0x351d9333500a 42 488bf0 REX.W movq rsi,rax
;;; <@14,#11> stack-check
0x351d9333500d 45 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d93335014 52 7305 jnc 59 (0x351d9333501b)
0x351d93335016 54 e8c5fedfff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@16,#11> lazy-bailout
;;; <@17,#11> gap
0x351d9333501b 59 488b4520 REX.W movq rax,[rbp+0x20]
;;; <@18,#13> check-non-smi
0x351d9333501f 63 a801 test al,0x1 ;; debug: position 38800
0x351d93335021 65 0f8435030000 jz 892 (0x351d9333535c)
;;; <@20,#14> check-maps
0x351d93335027 71 49ba51a5a388a4140000 REX.W movq r10,0x14a488a3a551 ;; object: 0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93335031 81 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d93335035 85 7414 jz 107 (0x351d9333504b)
0x351d93335037 87 49baa9bba388a4140000 REX.W movq r10,0x14a488a3bba9 ;; object: 0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93335041 97 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d93335045 101 0f8516030000 jnz 897 (0x351d93335361)
;;; <@22,#15> load-named-field
0x351d9333504b 107 488b503f REX.W movq rdx,[rax+0x3f]
;;; <@23,#15> gap
0x351d9333504f 111 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d93335053 115 488b4d18 REX.W movq rcx,[rbp+0x18]
;;; <@24,#16> load-keyed-generic
0x351d93335057 119 e82406dfff call KeyedLoadIC_Megamorphic (0x351d93125680) ;; debug: position 38811
;; code: KEYED_LOAD_IC, MEGAMORPHIC
;;; <@26,#17> lazy-bailout
;;; <@29,#18> branch
0x351d9333505c 124 493b45a8 REX.W cmpq rax,[r13-0x58]
0x351d93335060 128 0f8405000000 jz 139 (0x351d9333506b)
0x351d93335066 134 e8bd0fadff call 0x351d92e06028 ;; debug: position 89600
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 4
;;; <@30,#22> -------------------- B2 (unreachable/replaced) --------------------
;;; <@34,#25> -------------------- B3 --------------------
;;; <@35,#25> gap
0x351d9333506b 139 488b5d20 REX.W movq rbx,[rbp+0x20] ;; debug: position 38842
;;; <@36,#27> check-maps
0x351d9333506f 143 49ba51a5a388a4140000 REX.W movq r10,0x14a488a3a551 ;; object: 0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93335079 153 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d9333507d 157 7414 jz 179 (0x351d93335093)
0x351d9333507f 159 49baa9bba388a4140000 REX.W movq r10,0x14a488a3bba9 ;; object: 0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93335089 169 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d9333508d 173 0f85d3020000 jnz 902 (0x351d93335366)
;;; <@38,#28> load-named-field
0x351d93335093 179 488b533f REX.W movq rdx,[rbx+0x3f]
;;; <@40,#30> transition-elements-kind
0x351d93335097 183 49bac970908290160000 REX.W movq r10,0x1690829070c9 ;; debug: position 38857
;; object: 0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>
0x351d933350a1 193 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d933350a5 197 0f8524000000 jnz 239 (0x351d933350cf)
0x351d933350ab 203 48b9c16f908290160000 REX.W movq rcx,0x169082906fc1 ;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d933350b5 213 48894aff REX.W movq [rdx-0x1],rcx
0x351d933350b9 217 488d42ff REX.W leaq rax,[rdx-0x1]
0x351d933350bd 221 4881e10000f0ff REX.W andq rcx,0xfffffffffff00000
0x351d933350c4 228 f6410804 testb [rcx+0x8],0x4
0x351d933350c8 232 7405 jz 239 (0x351d933350cf)
0x351d933350ca 234 e8f1fbffff call 0x351d93334cc0 ;; code: STUB, RecordWriteStub, minor: 4114
;;; <@42,#31> check-maps
0x351d933350cf 239 49bac16f908290160000 REX.W movq r10,0x169082906fc1 ;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d933350d9 249 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d933350dd 253 0f8588020000 jnz 907 (0x351d9333536b)
;;; <@44,#33> check-maps
;;; <@46,#35> check-maps
;;; <@48,#36> load-named-field
0x351d933350e3 259 488b4a0f REX.W movq rcx,[rdx+0xf]
;;; <@50,#37> check-maps
0x351d933350e7 263 49ba0942908290160000 REX.W movq r10,0x169082904209 ;; object: 0x169082904209 <Map(FAST_SMI_ELEMENTS)>
0x351d933350f1 273 4c3951ff REX.W cmpq [rcx-0x1],r10
0x351d933350f5 277 0f8575020000 jnz 912 (0x351d93335370)
;;; <@52,#38> load-named-field
0x351d933350fb 283 8b421b movl rax,[rdx+0x1b]
;;; <@53,#38> gap
0x351d933350fe 286 488b7d18 REX.W movq rdi,[rbp+0x18]
;;; <@54,#110> tagged-to-i
0x351d93335102 290 40f6c701 testb rdi,0x1
0x351d93335106 294 0f856b010000 jnz 663 (0x351d93335277)
0x351d9333510c 300 48c1ef20 REX.W shrq rdi, 32
;;; <@57,#40> compare-numeric-and-branch
0x351d93335110 304 3bf8 cmpl rdi,rax
0x351d93335112 306 0f840d000000 jz 325 (0x351d93335125)
;;; <@58,#47> -------------------- B4 --------------------
;;; <@60,#48> bounds-check
0x351d93335118 312 3bc7 cmpl rax,rdi
0x351d9333511a 314 0f8655020000 jna 917 (0x351d93335375)
;;; <@63,#49> goto
0x351d93335120 320 e924000000 jmp 361 (0x351d93335149)
;;; <@64,#41> -------------------- B5 --------------------
;;; <@66,#42> load-named-field
0x351d93335125 325 448b410b movl r8,[rcx+0xb]
;;; <@67,#42> gap
0x351d93335129 329 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@68,#43> maybe-grow-elements
0x351d9333512d 333 413bf8 cmpl rdi,r8
0x351d93335130 336 0f8d74010000 jge 714 (0x351d933352aa)
0x351d93335136 342 488bc1 REX.W movq rax,rcx
;;; <@70,#45> add-i
0x351d93335139 345 8d4f01 leal rcx,[rdi+0x1]
;;; <@72,#111> smi-tag
0x351d9333513c 348 8bf1 movl rsi,rcx
0x351d9333513e 350 48c1e620 REX.W shlq rsi, 32
;;; <@74,#46> store-named-field
0x351d93335142 354 48897217 REX.W movq [rdx+0x17],rsi
;;; <@76,#50> gap
0x351d93335146 358 488bc8 REX.W movq rcx,rax
;;; <@78,#52> -------------------- B6 --------------------
;;; <@80,#53> store-keyed
0x351d93335149 361 49ba1142c0bdff1f0000 REX.W movq r10,0x1fffbdc04211 ;; object: 0x1fffbdc04211 <true>
0x351d93335153 371 4c8954f90f REX.W movq [rcx+rdi*8+0xf],r10
;;; <@82,#56> check-maps
0x351d93335158 376 49ba51a5a388a4140000 REX.W movq r10,0x14a488a3a551 ;; debug: position 38899
;; object: 0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93335162 386 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d93335166 390 7414 jz 412 (0x351d9333517c)
0x351d93335168 392 49baa9bba388a4140000 REX.W movq r10,0x14a488a3bba9 ;; object: 0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93335172 402 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d93335176 406 0f85fe010000 jnz 922 (0x351d9333537a)
;;; <@84,#57> load-named-field
0x351d9333517c 412 8b4353 movl rax,[rbx+0x53]
;;; <@86,#59> sub-i
0x351d9333517f 415 83e801 subl rax,0x1
0x351d93335182 418 0f80f7010000 jo 927 (0x351d9333537f)
;;; <@88,#63> store-named-field
0x351d93335188 424 894353 movl [rbx+0x53],rax
;;; <@90,#67> load-named-field
0x351d9333518b 427 488b532f REX.W movq rdx,[rbx+0x2f] ;; debug: position 38929
;;; <@92,#68> transition-elements-kind
0x351d9333518f 431 49bac970908290160000 REX.W movq r10,0x1690829070c9 ;; debug: position 38944
;; object: 0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>
0x351d93335199 441 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d9333519d 445 0f8524000000 jnz 487 (0x351d933351c7)
0x351d933351a3 451 48b9c16f908290160000 REX.W movq rcx,0x169082906fc1 ;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d933351ad 461 48894aff REX.W movq [rdx-0x1],rcx
0x351d933351b1 465 488d42ff REX.W leaq rax,[rdx-0x1]
0x351d933351b5 469 4881e10000f0ff REX.W andq rcx,0xfffffffffff00000
0x351d933351bc 476 f6410804 testb [rcx+0x8],0x4
0x351d933351c0 480 7405 jz 487 (0x351d933351c7)
0x351d933351c2 482 e8f9faffff call 0x351d93334cc0 ;; code: STUB, RecordWriteStub, minor: 4114
;;; <@94,#69> check-maps
0x351d933351c7 487 49bac16f908290160000 REX.W movq r10,0x169082906fc1 ;; object: 0x169082906fc1 <Map(FAST_ELEMENTS)>
0x351d933351d1 497 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d933351d5 501 0f85a9010000 jnz 932 (0x351d93335384)
;;; <@96,#74> load-named-field
0x351d933351db 507 488b4a0f REX.W movq rcx,[rdx+0xf]
;;; <@98,#75> check-maps
0x351d933351df 511 49ba0942908290160000 REX.W movq r10,0x169082904209 ;; object: 0x169082904209 <Map(FAST_SMI_ELEMENTS)>
0x351d933351e9 521 4c3951ff REX.W cmpq [rcx-0x1],r10
0x351d933351ed 525 0f8596010000 jnz 937 (0x351d93335389)
;;; <@100,#76> load-named-field
0x351d933351f3 531 8b421b movl rax,[rdx+0x1b]
;;; <@103,#78> compare-numeric-and-branch
0x351d933351f6 534 3bf8 cmpl rdi,rax
0x351d933351f8 536 0f840d000000 jz 555 (0x351d9333520b)
;;; <@104,#84> -------------------- B7 --------------------
;;; <@106,#85> bounds-check
0x351d933351fe 542 3bc7 cmpl rax,rdi
0x351d93335200 544 0f8688010000 jna 942 (0x351d9333538e)
;;; <@109,#86> goto
0x351d93335206 550 e924000000 jmp 591 (0x351d9333522f)
;;; <@110,#79> -------------------- B8 --------------------
;;; <@112,#80> load-named-field
0x351d9333520b 555 448b410b movl r8,[rcx+0xb]
;;; <@113,#80> gap
0x351d9333520f 559 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@114,#81> maybe-grow-elements
0x351d93335213 563 413bf8 cmpl rdi,r8
0x351d93335216 566 0f8de7000000 jge 803 (0x351d93335303)
0x351d9333521c 572 488bc1 REX.W movq rax,rcx
;;; <@116,#82> add-i
0x351d9333521f 575 8d5f01 leal rbx,[rdi+0x1]
;;; <@118,#112> smi-tag
0x351d93335222 578 8bcb movl rcx,rbx
0x351d93335224 580 48c1e120 REX.W shlq rcx, 32
;;; <@120,#83> store-named-field
0x351d93335228 584 48894a17 REX.W movq [rdx+0x17],rcx
;;; <@122,#87> gap
0x351d9333522c 588 488bc8 REX.W movq rcx,rax
;;; <@124,#89> -------------------- B9 --------------------
;;; <@125,#89> gap
0x351d9333522f 591 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@126,#90> store-keyed
0x351d93335233 595 488944f90f REX.W movq [rcx+rdi*8+0xf],rax
0x351d93335238 600 488d7cf90f REX.W leaq rdi,[rcx+rdi*8+0xf]
0x351d9333523d 605 a801 test al,0x1
0x351d9333523f 607 0f8421000000 jz 646 (0x351d93335266)
0x351d93335245 613 48250000f0ff REX.W and rax,0xfffffffffff00000
0x351d9333524b 619 f6400804 testb [rax+0x8],0x4
0x351d9333524f 623 7415 jz 646 (0x351d93335266)
0x351d93335251 625 48c7c00000f0ff REX.W movq rax,0xfff00000
0x351d93335258 632 4823c1 REX.W andq rax,rcx
0x351d9333525b 635 f6400808 testb [rax+0x8],0x8
0x351d9333525f 639 7405 jz 646 (0x351d93335266)
0x351d93335261 641 e87afdddff call 0x351d93114fe0 ;; code: STUB, RecordWriteStub, minor: 9985
;;; <@130,#19> -------------------- B10 (unreachable/replaced) --------------------
;;; <@134,#94> -------------------- B11 (unreachable/replaced) --------------------
;;; <@138,#97> -------------------- B12 --------------------
;;; <@140,#6> constant-t
0x351d93335266 646 48b8b941c0bdff1f0000 REX.W movq rax,0x1fffbdc041b9 ;; debug: position 38791
;; debug: position 38636
;; object: 0x1fffbdc041b9 <undefined>
;;; <@142,#99> return
0x351d93335270 656 488be5 REX.W movq rsp,rbp
0x351d93335273 659 5d pop rbp
0x351d93335274 660 c21800 ret 0x18
;;; <@54,#110> -------------------- Deferred tagged-to-i --------------------
0x351d93335277 663 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 38857
0x351d9333527b 667 4c3957ff REX.W cmpq [rdi-0x1],r10
0x351d9333527f 671 0f850e010000 jnz 947 (0x351d93335393)
0x351d93335285 677 f20f104707 movsd xmm0,[rdi+0x7]
0x351d9333528a 682 f20f2cf8 cvttsd2sil rdi,xmm0
0x351d9333528e 686 0f57c9 xorps xmm1,xmm1
0x351d93335291 689 f20f2acf cvtsi2sd xmm1,rdi
0x351d93335295 693 660f2ec1 ucomisd xmm0,xmm1
0x351d93335299 697 0f85f9000000 jnz 952 (0x351d93335398)
0x351d9333529f 703 0f8af8000000 jpe 957 (0x351d9333539d)
0x351d933352a5 709 e966feffff jmp 304 (0x351d93335110)
;;; <@68,#43> -------------------- Deferred maybe-grow-elements --------------------
0x351d933352aa 714 48b80000000000000000 REX.W movq rax,(nil)
0x351d933352b4 724 50 push rax
0x351d933352b5 725 51 push rcx
0x351d933352b6 726 52 push rdx
0x351d933352b7 727 53 push rbx
0x351d933352b8 728 56 push rsi
0x351d933352b9 729 57 push rdi
0x351d933352ba 730 4150 push r8
0x351d933352bc 732 4151 push r9
0x351d933352be 734 4153 push r11
0x351d933352c0 736 4154 push r12
0x351d933352c2 738 4156 push r14
0x351d933352c4 740 4157 push r15
0x351d933352c6 742 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d933352cb 747 488bc2 REX.W movq rax,rdx
0x351d933352ce 750 488bdf REX.W movq rbx,rdi
0x351d933352d1 753 48c1e320 REX.W shlq rbx, 32
0x351d933352d5 757 e88637fcff call 0x351d932f8a60 ;; code: STUB, GrowArrayElementsStub, minor: 258
0x351d933352da 762 4889442478 REX.W movq [rsp+0x78],rax
0x351d933352df 767 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d933352e4 772 415f pop r15
0x351d933352e6 774 415e pop r14
0x351d933352e8 776 415c pop r12
0x351d933352ea 778 415b pop r11
0x351d933352ec 780 4159 pop r9
0x351d933352ee 782 4158 pop r8
0x351d933352f0 784 5f pop rdi
0x351d933352f1 785 5e pop rsi
0x351d933352f2 786 5b pop rbx
0x351d933352f3 787 5a pop rdx
0x351d933352f4 788 59 pop rcx
0x351d933352f5 789 58 pop rax
0x351d933352f6 790 a801 test al,0x1
0x351d933352f8 792 0f84a4000000 jz 962 (0x351d933353a2)
0x351d933352fe 798 e936feffff jmp 345 (0x351d93335139)
;;; <@114,#81> -------------------- Deferred maybe-grow-elements --------------------
0x351d93335303 803 48b80000000000000000 REX.W movq rax,(nil) ;; debug: position 38944
0x351d9333530d 813 50 push rax
0x351d9333530e 814 51 push rcx
0x351d9333530f 815 52 push rdx
0x351d93335310 816 53 push rbx
0x351d93335311 817 56 push rsi
0x351d93335312 818 57 push rdi
0x351d93335313 819 4150 push r8
0x351d93335315 821 4151 push r9
0x351d93335317 823 4153 push r11
0x351d93335319 825 4154 push r12
0x351d9333531b 827 4156 push r14
0x351d9333531d 829 4157 push r15
0x351d9333531f 831 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x351d93335324 836 488bc2 REX.W movq rax,rdx
0x351d93335327 839 488bdf REX.W movq rbx,rdi
0x351d9333532a 842 48c1e320 REX.W shlq rbx, 32
0x351d9333532e 846 e82d37fcff call 0x351d932f8a60 ;; code: STUB, GrowArrayElementsStub, minor: 258
0x351d93335333 851 4889442478 REX.W movq [rsp+0x78],rax
0x351d93335338 856 488d642420 REX.W leaq rsp,[rsp+0x20]
0x351d9333533d 861 415f pop r15
0x351d9333533f 863 415e pop r14
0x351d93335341 865 415c pop r12
0x351d93335343 867 415b pop r11
0x351d93335345 869 4159 pop r9
0x351d93335347 871 4158 pop r8
0x351d93335349 873 5f pop rdi
0x351d9333534a 874 5e pop rsi
0x351d9333534b 875 5b pop rbx
0x351d9333534c 876 5a pop rdx
0x351d9333534d 877 59 pop rcx
0x351d9333534e 878 58 pop rax
0x351d9333534f 879 a801 test al,0x1
0x351d93335351 881 0f8450000000 jz 967 (0x351d933353a7)
0x351d93335357 887 e9c3feffff jmp 575 (0x351d9333521f)
;;; -------------------- Jump table --------------------
0x351d9333535c 892 e8a90cadff call 0x351d92e0600a ;; debug: position 83968
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x351d93335361 897 e8ae0cadff call 0x351d92e06014 ;; debug: position 83968
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x351d93335366 902 e8c70cadff call 0x351d92e06032 ;; debug: position 105472
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 5
0x351d9333536b 907 e8cc0cadff call 0x351d92e0603c ;; debug: position 113152
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 6
0x351d93335370 912 e8d10cadff call 0x351d92e06046 ;; debug: position 113152
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 7
0x351d93335375 917 e8d60cadff call 0x351d92e06050 ;; debug: position 113152
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 8
0x351d9333537a 922 e8db0cadff call 0x351d92e0605a ;; debug: position 134656
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 9
0x351d9333537f 927 e8e00cadff call 0x351d92e06064 ;; debug: position 134656
;; debug: deopt reason 'overflow'
;; deoptimization bailout 10
0x351d93335384 932 e8e50cadff call 0x351d92e0606e ;; debug: position 157696
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 11
0x351d93335389 937 e8ea0cadff call 0x351d92e06078 ;; debug: position 157696
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 12
0x351d9333538e 942 e8ef0cadff call 0x351d92e06082 ;; debug: position 157696
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 13
0x351d93335393 947 e8f40cadff call 0x351d92e0608c ;; debug: position 113152
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 14
0x351d93335398 952 e8ef0cadff call 0x351d92e0608c ;; debug: position 113152
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 14
0x351d9333539d 957 e8ea0cadff call 0x351d92e0608c ;; debug: position 113152
;; debug: deopt reason 'NaN'
;; deoptimization bailout 14
0x351d933353a2 962 e8ef0cadff call 0x351d92e06096 ;; debug: position 113152
;; debug: deopt reason 'Smi'
;; deoptimization bailout 15
0x351d933353a7 967 e8f40cadff call 0x351d92e060a0 ;; debug: position 157696
;; debug: deopt reason 'Smi'
;; deoptimization bailout 16
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 17)
index ast id argc pc
0 3 0 59
1 3 0 -1
2 3 0 -1
3 11 0 124
4 11 0 -1
5 5 0 -1
6 5 0 -1
7 5 0 -1
8 5 0 -1
9 29 0 -1
10 29 0 -1
11 51 0 -1
12 51 0 -1
13 51 0 -1
14 5 0 -1
15 5 0 -1
16 51 0 -1
Safepoints (size = 52)
0x351d9333501b 59 1 (sp -> fp) 0
0x351d9333505c 124 1 (sp -> fp) 3
0x351d933352da 762 1 | rcx | rdx | rbx | rsi (sp -> fp) <none>
0x351d93335333 851 1 | rcx | rdx | rbx | rsi (sp -> fp) <none>
RelocInfo (size = 1087)
0x351d93335002 position (38636)
0x351d93335002 comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d93335002 comment (;;; <@2,#1> context)
0x351d93335006 comment (;;; <@3,#1> gap)
0x351d9333500a comment (;;; <@12,#9> -------------------- B1 --------------------)
0x351d9333500a comment (;;; <@13,#9> gap)
0x351d9333500d comment (;;; <@14,#11> stack-check)
0x351d93335017 code target (BUILTIN) (0x351d93134ee0)
0x351d9333501b comment (;;; <@16,#11> lazy-bailout)
0x351d9333501b comment (;;; <@17,#11> gap)
0x351d9333501f comment (;;; <@18,#13> check-non-smi)
0x351d9333501f position (38800)
0x351d93335027 comment (;;; <@20,#14> check-maps)
0x351d93335029 embedded object (0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93335039 embedded object (0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d9333504b comment (;;; <@22,#15> load-named-field)
0x351d9333504f comment (;;; <@23,#15> gap)
0x351d93335057 comment (;;; <@24,#16> load-keyed-generic)
0x351d93335057 position (38811)
0x351d93335058 code target (KEYED_LOAD_IC) (0x351d93125680)
0x351d9333505c comment (;;; <@26,#17> lazy-bailout)
0x351d9333505c comment (;;; <@29,#18> branch)
0x351d93335066 position (89600)
0x351d93335066 deopt reason (unexpected object)
0x351d93335067 runtime entry (deoptimization bailout 4)
0x351d9333506b comment (;;; <@30,#22> -------------------- B2 (unreachable/replaced) --------------------)
0x351d9333506b position (38842)
0x351d9333506b comment (;;; <@34,#25> -------------------- B3 --------------------)
0x351d9333506b comment (;;; <@35,#25> gap)
0x351d9333506f comment (;;; <@36,#27> check-maps)
0x351d93335071 embedded object (0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93335081 embedded object (0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93335093 comment (;;; <@38,#28> load-named-field)
0x351d93335097 comment (;;; <@40,#30> transition-elements-kind)
0x351d93335097 position (38857)
0x351d93335099 embedded object (0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>)
0x351d933350ad embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d933350cb code target (STUB) (0x351d93334cc0)
0x351d933350cf comment (;;; <@42,#31> check-maps)
0x351d933350d1 embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d933350e3 comment (;;; <@44,#33> check-maps)
0x351d933350e3 comment (;;; <@46,#35> check-maps)
0x351d933350e3 comment (;;; <@48,#36> load-named-field)
0x351d933350e7 comment (;;; <@50,#37> check-maps)
0x351d933350e9 embedded object (0x169082904209 <Map(FAST_SMI_ELEMENTS)>)
0x351d933350fb comment (;;; <@52,#38> load-named-field)
0x351d933350fe comment (;;; <@53,#38> gap)
0x351d93335102 comment (;;; <@54,#110> tagged-to-i)
0x351d93335110 comment (;;; <@57,#40> compare-numeric-and-branch)
0x351d93335118 comment (;;; <@58,#47> -------------------- B4 --------------------)
0x351d93335118 comment (;;; <@60,#48> bounds-check)
0x351d93335120 comment (;;; <@63,#49> goto)
0x351d93335125 comment (;;; <@64,#41> -------------------- B5 --------------------)
0x351d93335125 comment (;;; <@66,#42> load-named-field)
0x351d93335129 comment (;;; <@67,#42> gap)
0x351d9333512d comment (;;; <@68,#43> maybe-grow-elements)
0x351d93335139 comment (;;; <@70,#45> add-i)
0x351d9333513c comment (;;; <@72,#111> smi-tag)
0x351d93335142 comment (;;; <@74,#46> store-named-field)
0x351d93335146 comment (;;; <@76,#50> gap)
0x351d93335149 comment (;;; <@78,#52> -------------------- B6 --------------------)
0x351d93335149 comment (;;; <@80,#53> store-keyed)
0x351d9333514b embedded object (0x1fffbdc04211 <true>)
0x351d93335158 comment (;;; <@82,#56> check-maps)
0x351d93335158 position (38899)
0x351d9333515a embedded object (0x14a488a3a551 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d9333516a embedded object (0x14a488a3bba9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d9333517c comment (;;; <@84,#57> load-named-field)
0x351d9333517f comment (;;; <@86,#59> sub-i)
0x351d93335188 comment (;;; <@88,#63> store-named-field)
0x351d9333518b comment (;;; <@90,#67> load-named-field)
0x351d9333518b position (38929)
0x351d9333518f comment (;;; <@92,#68> transition-elements-kind)
0x351d9333518f position (38944)
0x351d93335191 embedded object (0x1690829070c9 <Map(FAST_SMI_ELEMENTS)>)
0x351d933351a5 embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d933351c3 code target (STUB) (0x351d93334cc0)
0x351d933351c7 comment (;;; <@94,#69> check-maps)
0x351d933351c9 embedded object (0x169082906fc1 <Map(FAST_ELEMENTS)>)
0x351d933351db comment (;;; <@96,#74> load-named-field)
0x351d933351df comment (;;; <@98,#75> check-maps)
0x351d933351e1 embedded object (0x169082904209 <Map(FAST_SMI_ELEMENTS)>)
0x351d933351f3 comment (;;; <@100,#76> load-named-field)
0x351d933351f6 comment (;;; <@103,#78> compare-numeric-and-branch)
0x351d933351fe comment (;;; <@104,#84> -------------------- B7 --------------------)
0x351d933351fe comment (;;; <@106,#85> bounds-check)
0x351d93335206 comment (;;; <@109,#86> goto)
0x351d9333520b comment (;;; <@110,#79> -------------------- B8 --------------------)
0x351d9333520b comment (;;; <@112,#80> load-named-field)
0x351d9333520f comment (;;; <@113,#80> gap)
0x351d93335213 comment (;;; <@114,#81> maybe-grow-elements)
0x351d9333521f comment (;;; <@116,#82> add-i)
0x351d93335222 comment (;;; <@118,#112> smi-tag)
0x351d93335228 comment (;;; <@120,#83> store-named-field)
0x351d9333522c comment (;;; <@122,#87> gap)
0x351d9333522f comment (;;; <@124,#89> -------------------- B9 --------------------)
0x351d9333522f comment (;;; <@125,#89> gap)
0x351d93335233 comment (;;; <@126,#90> store-keyed)
0x351d93335262 code target (STUB) (0x351d93114fe0)
0x351d93335266 position (38791)
0x351d93335266 comment (;;; <@130,#19> -------------------- B10 (unreachable/replaced) --------------------)
0x351d93335266 comment (;;; <@134,#94> -------------------- B11 (unreachable/replaced) --------------------)
0x351d93335266 position (38636)
0x351d93335266 comment (;;; <@138,#97> -------------------- B12 --------------------)
0x351d93335266 comment (;;; <@140,#6> constant-t)
0x351d93335268 embedded object (0x1fffbdc041b9 <undefined>)
0x351d93335270 comment (;;; <@142,#99> return)
0x351d93335277 position (38857)
0x351d93335277 comment (;;; <@54,#110> -------------------- Deferred tagged-to-i --------------------)
0x351d933352aa comment (;;; <@68,#43> -------------------- Deferred maybe-grow-elements --------------------)
0x351d933352d6 code target (STUB) (0x351d932f8a60)
0x351d93335303 position (38944)
0x351d93335303 comment (;;; <@114,#81> -------------------- Deferred maybe-grow-elements --------------------)
0x351d9333532f code target (STUB) (0x351d932f8a60)
0x351d9333535c comment (;;; -------------------- Jump table --------------------)
0x351d9333535c position (83968)
0x351d9333535c deopt reason (Smi)
0x351d9333535d runtime entry (deoptimization bailout 1)
0x351d93335361 position (83968)
0x351d93335361 deopt reason (wrong map)
0x351d93335362 runtime entry (deoptimization bailout 2)
0x351d93335366 position (105472)
0x351d93335366 deopt reason (wrong map)
0x351d93335367 runtime entry (deoptimization bailout 5)
0x351d9333536b position (113152)
0x351d9333536b deopt reason (wrong map)
0x351d9333536c runtime entry (deoptimization bailout 6)
0x351d93335370 position (113152)
0x351d93335370 deopt reason (wrong map)
0x351d93335371 runtime entry (deoptimization bailout 7)
0x351d93335375 position (113152)
0x351d93335375 deopt reason (out of bounds)
0x351d93335376 runtime entry (deoptimization bailout 8)
0x351d9333537a position (134656)
0x351d9333537a deopt reason (wrong map)
0x351d9333537b runtime entry (deoptimization bailout 9)
0x351d9333537f position (134656)
0x351d9333537f deopt reason (overflow)
0x351d93335380 runtime entry (deoptimization bailout 10)
0x351d93335384 position (157696)
0x351d93335384 deopt reason (wrong map)
0x351d93335385 runtime entry (deoptimization bailout 11)
0x351d93335389 position (157696)
0x351d93335389 deopt reason (wrong map)
0x351d9333538a runtime entry (deoptimization bailout 12)
0x351d9333538e position (157696)
0x351d9333538e deopt reason (out of bounds)
0x351d9333538f runtime entry (deoptimization bailout 13)
0x351d93335393 position (113152)
0x351d93335393 deopt reason (not a heap number)
0x351d93335394 runtime entry (deoptimization bailout 14)
0x351d93335398 position (113152)
0x351d93335398 deopt reason (lost precision)
0x351d93335399 runtime entry (deoptimization bailout 14)
0x351d9333539d position (113152)
0x351d9333539d deopt reason (NaN)
0x351d9333539e runtime entry (deoptimization bailout 14)
0x351d933353a2 position (113152)
0x351d933353a2 deopt reason (Smi)
0x351d933353a3 runtime entry (deoptimization bailout 15)
0x351d933353a7 position (157696)
0x351d933353a7 deopt reason (Smi)
0x351d933353a8 runtime entry (deoptimization bailout 16)
0x351d933353ac comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (ToUint32) id{41,0} ---
(i){
if(%_IsSmi(i)&&i>=0)return i;
return %NumberToJSUint32(ToNumber(i));
}
--- END ---
--- Raw source ---
(i){
if(%_IsSmi(i)&&i>=0)return i;
return %NumberToJSUint32(ToNumber(i));
}
--- Optimized code ---
optimization_id = 41
source_position = 15144
kind = OPTIMIZED_FUNCTION
name = ToUint32
stack_slots = 1
compiler = crankshaft
Instructions (size = 277)
0x351d933355a0 0 55 push rbp
0x351d933355a1 1 4889e5 REX.W movq rbp,rsp
0x351d933355a4 4 56 push rsi
0x351d933355a5 5 57 push rdi
0x351d933355a6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d933355aa 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 15144
;;; <@3,#1> gap
0x351d933355ae 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d933355b2 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d933355b5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d933355bc 28 7305 jnc 35 (0x351d933355c3)
0x351d933355be 30 e81df9dfff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@16,#12> gap
0x351d933355c3 35 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 15152
;;; <@17,#12> is-smi-and-branch
0x351d933355c7 39 a801 test al,0x1
0x351d933355c9 41 0f8519000000 jnz 72 (0x351d933355e8)
;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------
;;; <@22,#13> -------------------- B3 (unreachable/replaced) --------------------
;;; <@26,#19> -------------------- B4 --------------------
;;; <@27,#19> gap
0x351d933355cf 47 488bd8 REX.W movq rbx,rax ;; debug: position 15167
;;; <@28,#42> tagged-to-i
0x351d933355d2 50 f6c301 testb rbx,0x1 ;; debug: position 15164
0x351d933355d5 53 0f856e000000 jnz 169 (0x351d93335649)
0x351d933355db 59 48c1eb20 REX.W shrq rbx, 32
;;; <@31,#21> compare-numeric-and-branch
0x351d933355df 63 83fb00 cmpl rbx,0x0 ;; debug: position 15165
0x351d933355e2 66 0f8d56000000 jge 158 (0x351d9333563e)
;;; <@32,#25> -------------------- B5 (unreachable/replaced) --------------------
;;; <@36,#31> -------------------- B6 --------------------
;;; <@37,#31> gap
0x351d933355e8 72 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 15204
;;; <@38,#32> load-context-slot
0x351d933355ec 76 488b7b4f REX.W movq rdi,[rbx+0x4f]
;;; <@40,#33> push-argument
0x351d933355f0 80 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d933355fa 90 4152 push r10
;;; <@42,#33> push-argument
0x351d933355fc 92 50 push rax
;;; <@43,#33> gap
0x351d933355fd 93 488bf3 REX.W movq rsi,rbx
;;; <@44,#34> call-function
0x351d93335600 96 48bb611c941214170000 REX.W movq rbx,0x171412941c61 ;; object: 0x171412941c61 <FixedArray[6]>
0x351d9333560a 106 48ba0000000004000000 REX.W movq rdx,0x400000000
0x351d93335614 116 e8a7ddddff call 0x351d931133c0 ;; code: CALL_IC, DEFAULT
;;; <@46,#35> lazy-bailout
;;; <@48,#36> push-argument
0x351d93335619 121 50 push rax ;; debug: position 15186
;;; <@49,#36> gap
0x351d9333561a 122 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@50,#37> call-runtime
0x351d9333561e 126 0f1f840000000000 nop
0x351d93335626 134 b801000000 movl rax,0x1
0x351d9333562b 139 498d9d888933ff REX.W leaq rbx,[r13-0xcc7678]
0x351d93335632 146 e8a93fddff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@52,#38> lazy-bailout
;;; <@54,#40> return
0x351d93335637 151 488be5 REX.W movq rsp,rbp ;; debug: position 15179
0x351d9333563a 154 5d pop rbp
0x351d9333563b 155 c21000 ret 0x10
;;; <@56,#22> -------------------- B7 (unreachable/replaced) --------------------
;;; <@60,#28> -------------------- B8 --------------------
;;; <@61,#28> gap
0x351d9333563e 158 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 15169
;;; <@62,#30> return
0x351d93335642 162 488be5 REX.W movq rsp,rbp
0x351d93335645 165 5d pop rbp
0x351d93335646 166 c21000 ret 0x10
;;; <@28,#42> -------------------- Deferred tagged-to-i --------------------
0x351d93335649 169 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 15164
0x351d9333564d 173 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d93335651 177 0f8525000000 jnz 220 (0x351d9333567c)
0x351d93335657 183 f20f104307 movsd xmm0,[rbx+0x7]
0x351d9333565c 188 f20f2cd8 cvttsd2sil rbx,xmm0
0x351d93335660 192 0f57c9 xorps xmm1,xmm1
0x351d93335663 195 f20f2acb cvtsi2sd xmm1,rbx
0x351d93335667 199 660f2ec1 ucomisd xmm0,xmm1
0x351d9333566b 203 0f8510000000 jnz 225 (0x351d93335681)
0x351d93335671 209 0f8a0f000000 jpe 230 (0x351d93335686)
0x351d93335677 215 e963ffffff jmp 63 (0x351d933355df)
;;; -------------------- Jump table --------------------
0x351d9333567c 220 e89d09adff call 0x351d92e0601e ;; debug: position 10240
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 3
0x351d93335681 225 e89809adff call 0x351d92e0601e ;; debug: position 10240
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 3
0x351d93335686 230 e89309adff call 0x351d92e0601e ;; debug: position 10240
;; debug: deopt reason 'NaN'
;; deoptimization bailout 3
0x351d9333568b 235 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 4)
index ast id argc pc
0 3 0 35
1 32 0 121
2 29 0 151
3 9 0 -1
Safepoints (size = 41)
0x351d933355c3 35 1 (sp -> fp) 0
0x351d93335619 121 1 (sp -> fp) 1
0x351d93335637 151 1 (sp -> fp) 2
RelocInfo (size = 454)
0x351d933355aa position (15144)
0x351d933355aa comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d933355aa comment (;;; <@2,#1> context)
0x351d933355ae comment (;;; <@3,#1> gap)
0x351d933355b2 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d933355b2 comment (;;; <@11,#8> gap)
0x351d933355b5 comment (;;; <@12,#10> stack-check)
0x351d933355bf code target (BUILTIN) (0x351d93134ee0)
0x351d933355c3 comment (;;; <@14,#10> lazy-bailout)
0x351d933355c3 comment (;;; <@16,#12> gap)
0x351d933355c3 position (15152)
0x351d933355c7 comment (;;; <@17,#12> is-smi-and-branch)
0x351d933355cf comment (;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------)
0x351d933355cf comment (;;; <@22,#13> -------------------- B3 (unreachable/replaced) --------------------)
0x351d933355cf position (15167)
0x351d933355cf comment (;;; <@26,#19> -------------------- B4 --------------------)
0x351d933355cf comment (;;; <@27,#19> gap)
0x351d933355d2 comment (;;; <@28,#42> tagged-to-i)
0x351d933355d2 position (15164)
0x351d933355df position (15165)
0x351d933355df comment (;;; <@31,#21> compare-numeric-and-branch)
0x351d933355e8 comment (;;; <@32,#25> -------------------- B5 (unreachable/replaced) --------------------)
0x351d933355e8 position (15204)
0x351d933355e8 comment (;;; <@36,#31> -------------------- B6 --------------------)
0x351d933355e8 comment (;;; <@37,#31> gap)
0x351d933355ec comment (;;; <@38,#32> load-context-slot)
0x351d933355f0 comment (;;; <@40,#33> push-argument)
0x351d933355f2 embedded object (0x1fffbdc041b9 <undefined>)
0x351d933355fc comment (;;; <@42,#33> push-argument)
0x351d933355fd comment (;;; <@43,#33> gap)
0x351d93335600 comment (;;; <@44,#34> call-function)
0x351d93335602 embedded object (0x171412941c61 <FixedArray[6]>)
0x351d93335615 code target (CALL_IC) (0x351d931133c0)
0x351d93335619 comment (;;; <@46,#35> lazy-bailout)
0x351d93335619 comment (;;; <@48,#36> push-argument)
0x351d93335619 position (15186)
0x351d9333561a comment (;;; <@49,#36> gap)
0x351d9333561e comment (;;; <@50,#37> call-runtime)
0x351d93335633 code target (STUB) (0x351d931095e0)
0x351d93335637 comment (;;; <@52,#38> lazy-bailout)
0x351d93335637 comment (;;; <@54,#40> return)
0x351d93335637 position (15179)
0x351d9333563e comment (;;; <@56,#22> -------------------- B7 (unreachable/replaced) --------------------)
0x351d9333563e position (15169)
0x351d9333563e comment (;;; <@60,#28> -------------------- B8 --------------------)
0x351d9333563e comment (;;; <@61,#28> gap)
0x351d93335642 comment (;;; <@62,#30> return)
0x351d93335649 position (15164)
0x351d93335649 comment (;;; <@28,#42> -------------------- Deferred tagged-to-i --------------------)
0x351d9333567c comment (;;; -------------------- Jump table --------------------)
0x351d9333567c position (10240)
0x351d9333567c deopt reason (not a heap number)
0x351d9333567d runtime entry (deoptimization bailout 3)
0x351d93335681 position (10240)
0x351d93335681 deopt reason (lost precision)
0x351d93335682 runtime entry (deoptimization bailout 3)
0x351d93335686 position (10240)
0x351d93335686 deopt reason (NaN)
0x351d93335687 runtime entry (deoptimization bailout 3)
0x351d9333568c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (ToString) id{42,0} ---
(i){
if((typeof(i)==='string'))return i;
if((typeof(i)==='number'))return %_NumberToString(i);
if((typeof(i)==='boolean'))return i?'true':'false';
if((i===(void 0)))return'undefined';
if((typeof(i)==='symbol'))throw MakeTypeError(112);
return((i===null))?'null':ToString(DefaultString(i));
}
--- END ---
--- Raw source ---
(i){
if((typeof(i)==='string'))return i;
if((typeof(i)==='number'))return %_NumberToString(i);
if((typeof(i)==='boolean'))return i?'true':'false';
if((i===(void 0)))return'undefined';
if((typeof(i)==='symbol'))throw MakeTypeError(112);
return((i===null))?'null':ToString(DefaultString(i));
}
--- Optimized code ---
optimization_id = 42
source_position = 14000
kind = OPTIMIZED_FUNCTION
name = ToString
stack_slots = 2
compiler = crankshaft
Instructions (size = 982)
0x351d933377a0 0 55 push rbp
0x351d933377a1 1 4889e5 REX.W movq rbp,rsp
0x351d933377a4 4 56 push rsi
0x351d933377a5 5 57 push rdi
0x351d933377a6 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d933377aa 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 14000
;;; <@3,#1> gap
0x351d933377ae 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@10,#8> -------------------- B1 --------------------
;;; <@11,#8> gap
0x351d933377b2 18 488bf0 REX.W movq rsi,rax
;;; <@12,#10> stack-check
0x351d933377b5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d933377bc 28 7305 jnc 35 (0x351d933377c3)
0x351d933377be 30 e81dd7dfff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@14,#10> lazy-bailout
;;; <@16,#12> gap
0x351d933377c3 35 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 14018
;;; <@17,#12> typeof-is-and-branch
0x351d933377c7 39 a801 test al,0x1
0x351d933377c9 41 7414 jz 63 (0x351d933377df)
0x351d933377cb 43 488b40ff REX.W movq rax,[rax-0x1]
0x351d933377cf 47 80780b80 cmpb [rax+0xb],0x80
0x351d933377d3 51 730a jnc 63 (0x351d933377df)
0x351d933377d5 53 f6400c10 testb [rax+0xc],0x10
0x351d933377d9 57 0f84dd020000 jz 796 (0x351d93337abc)
;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------
;;; <@22,#22> -------------------- B3 --------------------
;;; <@24,#23> gap
0x351d933377df 63 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 14054
;;; <@25,#23> typeof-is-and-branch
0x351d933377e3 67 a801 test al,0x1
0x351d933377e5 69 0f8403020000 jz 590 (0x351d933379ee)
0x351d933377eb 75 4d8b5500 REX.W movq r10,[r13+0x0]
0x351d933377ef 79 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d933377f3 83 0f84f5010000 jz 590 (0x351d933379ee)
;;; <@26,#27> -------------------- B4 (unreachable/replaced) --------------------
;;; <@30,#85> -------------------- B5 --------------------
;;; <@32,#86> gap
0x351d933377f9 89 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 14108
;;; <@33,#86> typeof-is-and-branch
0x351d933377fd 93 493b45c0 REX.W cmpq rax,[r13-0x40]
0x351d93337801 97 0f8435010000 jz 412 (0x351d9333793c)
0x351d93337807 103 493b45c8 REX.W cmpq rax,[r13-0x38]
0x351d9333780b 107 0f842b010000 jz 412 (0x351d9333793c)
;;; <@34,#90> -------------------- B6 (unreachable/replaced) --------------------
;;; <@38,#113> -------------------- B7 --------------------
;;; <@40,#114> gap
0x351d93337811 113 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 14152
;;; <@41,#114> cmp-object-eq-and-branch
0x351d93337815 117 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d9333781f 127 493bc2 REX.W cmpq rax,r10
0x351d93337822 130 0f8403010000 jz 395 (0x351d9333792b)
;;; <@42,#118> -------------------- B8 (unreachable/replaced) --------------------
;;; <@46,#125> -------------------- B9 --------------------
;;; <@48,#126> gap
0x351d93337828 136 488bd8 REX.W movq rbx,rax ;; debug: position 14197
;;; <@49,#126> typeof-is-and-branch
0x351d9333782b 139 f6c301 testb rbx,0x1
0x351d9333782e 142 740e jz 158 (0x351d9333783e)
0x351d93337830 144 488b5bff REX.W movq rbx,[rbx-0x1]
0x351d93337834 148 807b0b80 cmpb [rbx+0xb],0x80
0x351d93337838 152 0f8490000000 jz 302 (0x351d933378ce)
;;; <@50,#130> -------------------- B10 (unreachable/replaced) --------------------
;;; <@54,#151> -------------------- B11 --------------------
;;; <@57,#152> cmp-object-eq-and-branch
0x351d9333783e 158 49ba0141c0bdff1f0000 REX.W movq r10,0x1fffbdc04101 ;; debug: position 14245
;; object: 0x1fffbdc04101 <null>
0x351d93337848 168 493bc2 REX.W cmpq rax,r10
0x351d9333784b 171 0f846c000000 jz 285 (0x351d933378bd)
;;; <@58,#156> -------------------- B12 (unreachable/replaced) --------------------
;;; <@62,#161> -------------------- B13 --------------------
;;; <@63,#161> gap
0x351d93337851 177 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 14262
;;; <@64,#162> load-context-slot
0x351d93337855 181 488b5357 REX.W movq rdx,[rbx+0x57]
;;; <@65,#162> gap
0x351d93337859 185 488955e0 REX.W movq [rbp-0x20],rdx
;;; <@66,#163> load-context-slot
0x351d9333785d 189 488b7b77 REX.W movq rdi,[rbx+0x77] ;; debug: position 14271
;;; <@68,#164> push-argument
0x351d93337861 193 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d9333786b 203 4152 push r10
;;; <@70,#164> push-argument
0x351d9333786d 205 50 push rax
;;; <@71,#164> gap
0x351d9333786e 206 488bf3 REX.W movq rsi,rbx
;;; <@72,#165> call-function
0x351d93337871 209 48bb4941ccbdff1f0000 REX.W movq rbx,0x1fffbdcc4149 ;; object: 0x1fffbdcc4149 <FixedArray[12]>
0x351d9333787b 219 48ba000000000a000000 REX.W movq rdx,0xa00000000
0x351d93337885 229 e836bbddff call 0x351d931133c0 ;; code: CALL_IC, DEFAULT
;;; <@74,#166> lazy-bailout
;;; <@76,#167> push-argument
0x351d9333788a 234 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; debug: position 14262
;; object: 0x1fffbdc041b9 <undefined>
0x351d93337894 244 4152 push r10
;;; <@78,#167> push-argument
0x351d93337896 246 50 push rax
;;; <@79,#167> gap
0x351d93337897 247 488b75e8 REX.W movq rsi,[rbp-0x18]
0x351d9333789b 251 488b7de0 REX.W movq rdi,[rbp-0x20]
;;; <@80,#168> call-function
0x351d9333789f 255 48bb4941ccbdff1f0000 REX.W movq rbx,0x1fffbdcc4149 ;; object: 0x1fffbdcc4149 <FixedArray[12]>
0x351d933378a9 265 48ba0000000008000000 REX.W movq rdx,0x800000000
0x351d933378b3 275 e808bbddff call 0x351d931133c0 ;; code: CALL_IC, DEFAULT
;;; <@82,#169> lazy-bailout
;;; <@85,#173> goto
0x351d933378b8 280 e90a000000 jmp 295 (0x351d933378c7) ;; debug: position 14242
;;; <@86,#153> -------------------- B14 (unreachable/replaced) --------------------
;;; <@90,#159> -------------------- B15 --------------------
;;; <@92,#171> gap
0x351d933378bd 285 48b84141c0bdff1f0000 REX.W movq rax,0x1fffbdc04141 ;; debug: position 14255
;; debug: position 14242
;; object: 0x1fffbdc04141 <String[4]: null>
;;; <@94,#175> -------------------- B16 --------------------
;;; <@96,#177> return
0x351d933378c7 295 488be5 REX.W movq rsp,rbp ;; debug: position 14236
0x351d933378ca 298 5d pop rbp
0x351d933378cb 299 c21000 ret 0x10
;;; <@98,#127> -------------------- B17 (unreachable/replaced) --------------------
;;; <@102,#133> -------------------- B18 --------------------
;;; <@104,#138> push-argument
0x351d933378ce 302 49ba495f1018ab210000 REX.W movq r10,0x21ab18105f49 ;; debug: position 14216
;; object: 0x21ab18105f49 <JS Global Object>
0x351d933378d8 312 4152 push r10
;;; <@106,#138> push-argument
0x351d933378da 314 49ba0000000070000000 REX.W movq r10,0x7000000000
0x351d933378e4 324 4152 push r10
;;; <@108,#134> constant-t
0x351d933378e6 326 48bff9fec9bdff1f0000 REX.W movq rdi,0x1fffbdc9fef9 ;; object: 0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>
;;; <@110,#141> load-named-field
0x351d933378f0 336 488b772f REX.W movq rsi,[rdi+0x2f]
;;; <@112,#134> constant-t
0x351d933378f4 340 48bff9fec9bdff1f0000 REX.W movq rdi,0x1fffbdc9fef9 ;; object: 0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>
;;; <@114,#33> constant-i
0x351d933378fe 350 b801000000 movl rax,0x1 ;; debug: position 14000
;;; <@116,#140> constant-i
0x351d93337903 355 bb04000000 movl rbx,0x4 ;; debug: position 14216
;;; <@118,#144> call-with-descriptor
0x351d93337908 360 e8f325ddff call ArgumentsAdaptorTrampoline (0x351d93109f00) ;; code: BUILTIN
;;; <@120,#145> lazy-bailout
;;; <@122,#146> push-argument
0x351d9333790d 365 50 push rax ;; debug: position 14210
;;; <@123,#146> gap
0x351d9333790e 366 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@124,#147> call-runtime
0x351d93337912 370 0f1f840000000000 nop
0x351d9333791a 378 b801000000 movl rax,0x1
0x351d9333791f 383 498d9dd89b32ff REX.W leaq rbx,[r13-0xcd6428]
0x351d93337926 390 e8b51cddff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@126,#148> lazy-bailout
;;; <@128,#115> -------------------- B19 (unreachable/replaced) --------------------
;;; <@132,#121> -------------------- B20 --------------------
;;; <@134,#122> constant-t
0x351d9333792b 395 48b8d941c0bdff1f0000 REX.W movq rax,0x1fffbdc041d9 ;; debug: position 14171
;; object: 0x1fffbdc041d9 <String[9]: undefined>
;;; <@136,#124> return
0x351d93337935 405 488be5 REX.W movq rsp,rbp ;; debug: position 14165
0x351d93337938 408 5d pop rbp
0x351d93337939 409 c21000 ret 0x10
;;; <@138,#87> -------------------- B21 (unreachable/replaced) --------------------
;;; <@142,#93> -------------------- B22 --------------------
;;; <@144,#94> gap
0x351d9333793c 412 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 14129
;;; <@145,#94> branch
0x351d93337940 416 493b45a8 REX.W cmpq rax,[r13-0x58]
0x351d93337944 420 0f8484000000 jz 558 (0x351d933379ce)
0x351d9333794a 426 493b45c0 REX.W cmpq rax,[r13-0x40]
0x351d9333794e 430 0f8489000000 jz 573 (0x351d933379dd)
0x351d93337954 436 493b45c8 REX.W cmpq rax,[r13-0x38]
0x351d93337958 440 0f8470000000 jz 558 (0x351d933379ce)
0x351d9333795e 446 493b45b8 REX.W cmpq rax,[r13-0x48]
0x351d93337962 450 0f8466000000 jz 558 (0x351d933379ce)
0x351d93337968 456 4885c0 REX.W testq rax,rax
0x351d9333796b 459 0f845d000000 jz 558 (0x351d933379ce)
0x351d93337971 465 a801 test al,0x1
0x351d93337973 467 0f8464000000 jz 573 (0x351d933379dd)
0x351d93337979 473 4c8b50ff REX.W movq r10,[rax-0x1]
0x351d9333797d 477 41f6420c10 testb [r10+0xc],0x10
0x351d93337982 482 0f8546000000 jnz 558 (0x351d933379ce)
0x351d93337988 488 41807a0bb9 cmpb [r10+0xb],0xb9
0x351d9333798d 493 0f834a000000 jnc 573 (0x351d933379dd)
0x351d93337993 499 41807a0b80 cmpb [r10+0xb],0x80
0x351d93337998 504 7310 jnc 522 (0x351d933379aa)
0x351d9333799a 506 4883780f00 REX.W cmpq [rax+0xf],0x0
0x351d9333799f 511 0f8538000000 jnz 573 (0x351d933379dd)
0x351d933379a5 517 e924000000 jmp 558 (0x351d933379ce)
0x351d933379aa 522 41807a0b80 cmpb [r10+0xb],0x80
0x351d933379af 527 0f8428000000 jz 573 (0x351d933379dd)
0x351d933379b5 533 4d3b5500 REX.W cmpq r10,[r13+0x0]
0x351d933379b9 537 7513 jnz 558 (0x351d933379ce)
0x351d933379bb 539 0f57c0 xorps xmm0,xmm0
0x351d933379be 542 660f2e4007 ucomisd xmm0,[rax+0x7]
0x351d933379c3 547 0f8405000000 jz 558 (0x351d933379ce)
0x351d933379c9 553 e90f000000 jmp 573 (0x351d933379dd)
;;; <@146,#98> -------------------- B23 (unreachable/replaced) --------------------
;;; <@150,#103> -------------------- B24 --------------------
;;; <@152,#108> gap
0x351d933379ce 558 48b87142c0bdff1f0000 REX.W movq rax,0x1fffbdc04271 ;; debug: position 14138
;; debug: position 14129
;; object: 0x1fffbdc04271 <String[5]: false>
;;; <@153,#108> goto
0x351d933379d8 568 e90a000000 jmp 583 (0x351d933379e7)
;;; <@154,#95> -------------------- B25 (unreachable/replaced) --------------------
;;; <@158,#101> -------------------- B26 --------------------
;;; <@160,#106> gap
0x351d933379dd 573 48b83142c0bdff1f0000 REX.W movq rax,0x1fffbdc04231 ;; debug: position 14131
;; debug: position 14129
;; object: 0x1fffbdc04231 <String[4]: true>
;;; <@162,#110> -------------------- B27 --------------------
;;; <@164,#112> return
0x351d933379e7 583 488be5 REX.W movq rsp,rbp ;; debug: position 14122
0x351d933379ea 586 5d pop rbp
0x351d933379eb 587 c21000 ret 0x10
;;; <@166,#24> -------------------- B28 --------------------
0x351d933379ee 590 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 14054
;;; <@170,#30> -------------------- B29 --------------------
;;; <@172,#31> load-root
0x351d933379f2 594 498b9da0000000 REX.W movq rbx,[r13+0xa0] ;; debug: position 14074
;;; <@174,#32> load-named-field
0x351d933379f9 601 8b530b movl rdx,[rbx+0xb]
;;; <@176,#34> shift-i
0x351d933379fc 604 d1fa sarl rdx, 1
;;; <@178,#35> sub-i
0x351d933379fe 606 83ea01 subl rdx,0x1
;;; <@181,#36> is-smi-and-branch
0x351d93337a01 609 a801 test al,0x1
0x351d93337a03 611 0f8467000000 jz 720 (0x351d93337a70)
;;; <@182,#46> -------------------- B30 --------------------
;;; <@185,#47> cmp-map-and-branch
0x351d93337a09 617 49bac944908290160000 REX.W movq r10,0x1690829044c9 ;; object: 0x1690829044c9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93337a13 627 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d93337a17 631 0f8578000000 jnz 757 (0x351d93337a95)
;;; <@186,#71> -------------------- B31 (unreachable/replaced) --------------------
;;; <@190,#48> -------------------- B32 --------------------
;;; <@192,#49> load-named-field
0x351d93337a1d 637 8b4807 movl rcx,[rax+0x7]
;;; <@194,#50> load-named-field
0x351d93337a20 640 8b700b movl rsi,[rax+0xb]
;;; <@196,#51> bit-i
0x351d93337a23 643 33f1 xorl rsi,rcx
;;; <@198,#52> bit-i
0x351d93337a25 645 23f2 andl rsi,rdx
;;; <@200,#53> shift-i
0x351d93337a27 647 d1e6 shll rsi, 1
0x351d93337a29 649 4863f6 REX.W movsxlq rsi,rsi
;;; <@202,#54> load-keyed
0x351d93337a2c 652 488b54f30f REX.W movq rdx,[rbx+rsi*8+0xf]
;;; <@205,#55> is-smi-and-branch
0x351d93337a31 657 f6c201 testb rdx,0x1
0x351d93337a34 660 0f845b000000 jz 757 (0x351d93337a95)
;;; <@206,#56> -------------------- B33 --------------------
;;; <@209,#57> cmp-map-and-branch
0x351d93337a3a 666 49bac944908290160000 REX.W movq r10,0x1690829044c9 ;; object: 0x1690829044c9 <Map(FAST_HOLEY_ELEMENTS)>
0x351d93337a44 676 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d93337a48 680 0f8547000000 jnz 757 (0x351d93337a95)
;;; <@210,#67> -------------------- B34 (unreachable/replaced) --------------------
;;; <@214,#58> -------------------- B35 --------------------
;;; <@216,#59> load-named-field
0x351d93337a4e 686 f20f104807 movsd xmm1,[rax+0x7]
;;; <@218,#60> load-named-field
0x351d93337a53 691 f20f105207 movsd xmm2,[rdx+0x7]
;;; <@221,#61> compare-numeric-and-branch
0x351d93337a58 696 660f2ed1 ucomisd xmm2,xmm1
0x351d93337a5c 700 0f8a33000000 jpe 757 (0x351d93337a95)
0x351d93337a62 706 0f852d000000 jnz 757 (0x351d93337a95)
;;; <@222,#65> -------------------- B36 (unreachable/replaced) --------------------
;;; <@226,#62> -------------------- B37 --------------------
;;; <@228,#63> gap
0x351d93337a68 712 488bce REX.W movq rcx,rsi
;;; <@229,#63> goto
0x351d93337a6b 715 e940000000 jmp 784 (0x351d93337ab0)
;;; <@230,#69> -------------------- B38 (unreachable/replaced) --------------------
;;; <@234,#37> -------------------- B39 --------------------
;;; <@235,#37> gap
0x351d93337a70 720 488bc8 REX.W movq rcx,rax
;;; <@236,#179> tagged-to-i
0x351d93337a73 723 f6c101 testb rcx,0x1
0x351d93337a76 726 0f854b000000 jnz 807 (0x351d93337ac7)
0x351d93337a7c 732 48c1e920 REX.W shrq rcx, 32
;;; <@238,#38> bit-i
0x351d93337a80 736 23ca andl rcx,rdx
;;; <@240,#39> shift-i
0x351d93337a82 738 d1e1 shll rcx, 1
0x351d93337a84 740 4863c9 REX.W movsxlq rcx,rcx
;;; <@242,#40> load-keyed
0x351d93337a87 743 488b54cb0f REX.W movq rdx,[rbx+rcx*8+0xf]
;;; <@245,#41> cmp-object-eq-and-branch
0x351d93337a8c 748 483bc2 REX.W cmpq rax,rdx
0x351d93337a8f 751 0f841b000000 jz 784 (0x351d93337ab0)
;;; <@246,#44> -------------------- B40 (unreachable/replaced) --------------------
;;; <@250,#76> -------------------- B41 --------------------
;;; <@252,#77> push-argument
0x351d93337a95 757 50 push rax
;;; <@253,#77> gap
0x351d93337a96 758 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@254,#78> call-runtime
0x351d93337a9a 762 b801000000 movl rax,0x1
0x351d93337a9f 767 498d9d688533ff REX.W leaq rbx,[r13-0xcc7a98]
0x351d93337aa6 774 e8351bddff call 0x351d931095e0 ;; code: STUB, CEntryStub, minor: 0
;;; <@256,#78> lazy-bailout
;;; <@259,#79> goto
0x351d93337aab 779 e905000000 jmp 789 (0x351d93337ab5)
;;; <@260,#42> -------------------- B42 (unreachable/replaced) --------------------
;;; <@264,#73> -------------------- B43 --------------------
;;; <@266,#75> load-keyed
0x351d93337ab0 784 488b44cb17 REX.W movq rax,[rbx+rcx*8+0x17]
;;; <@270,#82> -------------------- B44 --------------------
;;; <@272,#84> return
0x351d93337ab5 789 488be5 REX.W movq rsp,rbp ;; debug: position 14067
0x351d93337ab8 792 5d pop rbp
0x351d93337ab9 793 c21000 ret 0x10
;;; <@274,#13> -------------------- B45 (unreachable/replaced) --------------------
;;; <@278,#19> -------------------- B46 --------------------
;;; <@279,#19> gap
0x351d93337abc 796 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 14031
;;; <@280,#21> return
0x351d93337ac0 800 488be5 REX.W movq rsp,rbp
0x351d93337ac3 803 5d pop rbp
0x351d93337ac4 804 c21000 ret 0x10
;;; <@236,#179> -------------------- Deferred tagged-to-i --------------------
0x351d93337ac7 807 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 14074
0x351d93337acb 811 4c3951ff REX.W cmpq [rcx-0x1],r10
0x351d93337acf 815 7526 jnz 855 (0x351d93337af7)
0x351d93337ad1 817 f20f104107 movsd xmm0,[rcx+0x7]
0x351d93337ad6 822 f2480f2cc8 REX.W cvttsd2siq rcx,xmm0
0x351d93337adb 827 4883f901 REX.W cmpq rcx,0x1
0x351d93337adf 831 7112 jno 851 (0x351d93337af3)
0x351d93337ae1 833 4883ec08 REX.W subq rsp,0x8
0x351d93337ae5 837 f20f110424 movsd [rsp],xmm0
0x351d93337aea 842 e8b10efcff call 0x351d932f89a0 ;; code: STUB, DoubleToIStub, minor: 135236
0x351d93337aef 847 4883c408 REX.W addq rsp,0x8
0x351d93337af3 851 8bc9 movl rcx,rcx
0x351d93337af5 853 eb89 jmp 736 (0x351d93337a80)
0x351d93337af7 855 493b4da8 REX.W cmpq rcx,[r13-0x58]
0x351d93337afb 859 7507 jnz 868 (0x351d93337b04)
0x351d93337afd 861 33c9 xorl rcx,rcx
0x351d93337aff 863 e97cffffff jmp 736 (0x351d93337a80)
0x351d93337b04 868 493b4dc0 REX.W cmpq rcx,[r13-0x40]
0x351d93337b08 872 750a jnz 884 (0x351d93337b14)
0x351d93337b0a 874 b901000000 movl rcx,0x1
0x351d93337b0f 879 e96cffffff jmp 736 (0x351d93337a80)
0x351d93337b14 884 493b4dc8 REX.W cmpq rcx,[r13-0x38]
0x351d93337b18 888 0f8507000000 jnz 901 (0x351d93337b25)
0x351d93337b1e 894 33c9 xorl rcx,rcx
0x351d93337b20 896 e95bffffff jmp 736 (0x351d93337a80)
;;; -------------------- Jump table --------------------
0x351d93337b25 901 e812e5acff call 0x351d92e0603c ;; debug: position 37888
;; debug: deopt reason 'not a heap number/undefined/true/false'
;; deoptimization bailout 6
0x351d93337b2a 906 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 7)
index ast id argc pc
0 3 0 35
1 146 0 234
2 138 0 280
3 111 0 365
4 109 0 395
5 24 0 779
6 24 0 -1
Safepoints (size = 74)
0x351d933377c3 35 01 (sp -> fp) 0
0x351d9333788a 234 11 (sp -> fp) 1
0x351d933378b8 280 01 (sp -> fp) 2
0x351d9333790d 365 01 (sp -> fp) 3
0x351d9333792b 395 01 (sp -> fp) 4
0x351d93337aab 779 01 (sp -> fp) 5
RelocInfo (size = 1680)
0x351d933377aa position (14000)
0x351d933377aa comment (;;; <@0,#0> -------------------- B0 --------------------)
0x351d933377aa comment (;;; <@2,#1> context)
0x351d933377ae comment (;;; <@3,#1> gap)
0x351d933377b2 comment (;;; <@10,#8> -------------------- B1 --------------------)
0x351d933377b2 comment (;;; <@11,#8> gap)
0x351d933377b5 comment (;;; <@12,#10> stack-check)
0x351d933377bf code target (BUILTIN) (0x351d93134ee0)
0x351d933377c3 comment (;;; <@14,#10> lazy-bailout)
0x351d933377c3 comment (;;; <@16,#12> gap)
0x351d933377c3 position (14018)
0x351d933377c7 comment (;;; <@17,#12> typeof-is-and-branch)
0x351d933377df comment (;;; <@18,#16> -------------------- B2 (unreachable/replaced) --------------------)
0x351d933377df position (14054)
0x351d933377df comment (;;; <@22,#22> -------------------- B3 --------------------)
0x351d933377df comment (;;; <@24,#23> gap)
0x351d933377e3 comment (;;; <@25,#23> typeof-is-and-branch)
0x351d933377f9 comment (;;; <@26,#27> -------------------- B4 (unreachable/replaced) --------------------)
0x351d933377f9 position (14108)
0x351d933377f9 comment (;;; <@30,#85> -------------------- B5 --------------------)
0x351d933377f9 comment (;;; <@32,#86> gap)
0x351d933377fd comment (;;; <@33,#86> typeof-is-and-branch)
0x351d93337811 comment (;;; <@34,#90> -------------------- B6 (unreachable/replaced) --------------------)
0x351d93337811 position (14152)
0x351d93337811 comment (;;; <@38,#113> -------------------- B7 --------------------)
0x351d93337811 comment (;;; <@40,#114> gap)
0x351d93337815 comment (;;; <@41,#114> cmp-object-eq-and-branch)
0x351d93337817 embedded object (0x1fffbdc041b9 <undefined>)
0x351d93337828 comment (;;; <@42,#118> -------------------- B8 (unreachable/replaced) --------------------)
0x351d93337828 position (14197)
0x351d93337828 comment (;;; <@46,#125> -------------------- B9 --------------------)
0x351d93337828 comment (;;; <@48,#126> gap)
0x351d9333782b comment (;;; <@49,#126> typeof-is-and-branch)
0x351d9333783e comment (;;; <@50,#130> -------------------- B10 (unreachable/replaced) --------------------)
0x351d9333783e position (14245)
0x351d9333783e comment (;;; <@54,#151> -------------------- B11 --------------------)
0x351d9333783e comment (;;; <@57,#152> cmp-object-eq-and-branch)
0x351d93337840 embedded object (0x1fffbdc04101 <null>)
0x351d93337851 comment (;;; <@58,#156> -------------------- B12 (unreachable/replaced) --------------------)
0x351d93337851 position (14262)
0x351d93337851 comment (;;; <@62,#161> -------------------- B13 --------------------)
0x351d93337851 comment (;;; <@63,#161> gap)
0x351d93337855 comment (;;; <@64,#162> load-context-slot)
0x351d93337859 comment (;;; <@65,#162> gap)
0x351d9333785d comment (;;; <@66,#163> load-context-slot)
0x351d9333785d position (14271)
0x351d93337861 comment (;;; <@68,#164> push-argument)
0x351d93337863 embedded object (0x1fffbdc041b9 <undefined>)
0x351d9333786d comment (;;; <@70,#164> push-argument)
0x351d9333786e comment (;;; <@71,#164> gap)
0x351d93337871 comment (;;; <@72,#165> call-function)
0x351d93337873 embedded object (0x1fffbdcc4149 <FixedArray[12]>)
0x351d93337886 code target (CALL_IC) (0x351d931133c0)
0x351d9333788a comment (;;; <@74,#166> lazy-bailout)
0x351d9333788a comment (;;; <@76,#167> push-argument)
0x351d9333788a position (14262)
0x351d9333788c embedded object (0x1fffbdc041b9 <undefined>)
0x351d93337896 comment (;;; <@78,#167> push-argument)
0x351d93337897 comment (;;; <@79,#167> gap)
0x351d9333789f comment (;;; <@80,#168> call-function)
0x351d933378a1 embedded object (0x1fffbdcc4149 <FixedArray[12]>)
0x351d933378b4 code target (CALL_IC) (0x351d931133c0)
0x351d933378b8 comment (;;; <@82,#169> lazy-bailout)
0x351d933378b8 position (14242)
0x351d933378b8 comment (;;; <@85,#173> goto)
0x351d933378bd comment (;;; <@86,#153> -------------------- B14 (unreachable/replaced) --------------------)
0x351d933378bd position (14255)
0x351d933378bd comment (;;; <@90,#159> -------------------- B15 --------------------)
0x351d933378bd comment (;;; <@92,#171> gap)
0x351d933378bd position (14242)
0x351d933378bf embedded object (0x1fffbdc04141 <String[4]: null>)
0x351d933378c7 position (14236)
0x351d933378c7 comment (;;; <@94,#175> -------------------- B16 --------------------)
0x351d933378c7 comment (;;; <@96,#177> return)
0x351d933378ce comment (;;; <@98,#127> -------------------- B17 (unreachable/replaced) --------------------)
0x351d933378ce position (14216)
0x351d933378ce comment (;;; <@102,#133> -------------------- B18 --------------------)
0x351d933378ce comment (;;; <@104,#138> push-argument)
0x351d933378d0 embedded object (0x21ab18105f49 <JS Global Object>)
0x351d933378da comment (;;; <@106,#138> push-argument)
0x351d933378e6 comment (;;; <@108,#134> constant-t)
0x351d933378e8 embedded object (0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>)
0x351d933378f0 comment (;;; <@110,#141> load-named-field)
0x351d933378f4 comment (;;; <@112,#134> constant-t)
0x351d933378f6 embedded object (0x1fffbdc9fef9 <JS Function MakeTypeError (SharedFunctionInfo 0x1fffbdc43bc9)>)
0x351d933378fe comment (;;; <@114,#33> constant-i)
0x351d933378fe position (14000)
0x351d93337903 comment (;;; <@116,#140> constant-i)
0x351d93337903 position (14216)
0x351d93337908 comment (;;; <@118,#144> call-with-descriptor)
0x351d93337909 code target (BUILTIN) (0x351d93109f00)
0x351d9333790d comment (;;; <@120,#145> lazy-bailout)
0x351d9333790d comment (;;; <@122,#146> push-argument)
0x351d9333790d position (14210)
0x351d9333790e comment (;;; <@123,#146> gap)
0x351d93337912 comment (;;; <@124,#147> call-runtime)
0x351d93337927 code target (STUB) (0x351d931095e0)
0x351d9333792b comment (;;; <@126,#148> lazy-bailout)
0x351d9333792b comment (;;; <@128,#115> -------------------- B19 (unreachable/replaced) --------------------)
0x351d9333792b position (14171)
0x351d9333792b comment (;;; <@132,#121> -------------------- B20 --------------------)
0x351d9333792b comment (;;; <@134,#122> constant-t)
0x351d9333792d embedded object (0x1fffbdc041d9 <String[9]: undefined>)
0x351d93337935 comment (;;; <@136,#124> return)
0x351d93337935 position (14165)
0x351d9333793c comment (;;; <@138,#87> -------------------- B21 (unreachable/replaced) --------------------)
0x351d9333793c position (14129)
0x351d9333793c comment (;;; <@142,#93> -------------------- B22 --------------------)
0x351d9333793c comment (;;; <@144,#94> gap)
0x351d93337940 comment (;;; <@145,#94> branch)
0x351d933379ce comment (;;; <@146,#98> -------------------- B23 (unreachable/replaced) --------------------)
0x351d933379ce position (14138)
0x351d933379ce comment (;;; <@150,#103> -------------------- B24 --------------------)
0x351d933379ce comment (;;; <@152,#108> gap)
0x351d933379ce position (14129)
0x351d933379d0 embedded object (0x1fffbdc04271 <String[5]: false>)
0x351d933379d8 comment (;;; <@153,#108> goto)
0x351d933379dd comment (;;; <@154,#95> -------------------- B25 (unreachable/replaced) --------------------)
0x351d933379dd position (14131)
0x351d933379dd comment (;;; <@158,#101> -------------------- B26 --------------------)
0x351d933379dd comment (;;; <@160,#106> gap)
0x351d933379dd position (14129)
0x351d933379df embedded object (0x1fffbdc04231 <String[4]: true>)
0x351d933379e7 position (14122)
0x351d933379e7 comment (;;; <@162,#110> -------------------- B27 --------------------)
0x351d933379e7 comment (;;; <@164,#112> return)
0x351d933379ee position (14054)
0x351d933379ee comment (;;; <@166,#24> -------------------- B28 --------------------)
0x351d933379f2 position (14074)
0x351d933379f2 comment (;;; <@170,#30> -------------------- B29 --------------------)
0x351d933379f2 comment (;;; <@172,#31> load-root)
0x351d933379f9 comment (;;; <@174,#32> load-named-field)
0x351d933379fc comment (;;; <@176,#34> shift-i)
0x351d933379fe comment (;;; <@178,#35> sub-i)
0x351d93337a01 comment (;;; <@181,#36> is-smi-and-branch)
0x351d93337a09 comment (;;; <@182,#46> -------------------- B30 --------------------)
0x351d93337a09 comment (;;; <@185,#47> cmp-map-and-branch)
0x351d93337a0b embedded object (0x1690829044c9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93337a1d comment (;;; <@186,#71> -------------------- B31 (unreachable/replaced) --------------------)
0x351d93337a1d comment (;;; <@190,#48> -------------------- B32 --------------------)
0x351d93337a1d comment (;;; <@192,#49> load-named-field)
0x351d93337a20 comment (;;; <@194,#50> load-named-field)
0x351d93337a23 comment (;;; <@196,#51> bit-i)
0x351d93337a25 comment (;;; <@198,#52> bit-i)
0x351d93337a27 comment (;;; <@200,#53> shift-i)
0x351d93337a2c comment (;;; <@202,#54> load-keyed)
0x351d93337a31 comment (;;; <@205,#55> is-smi-and-branch)
0x351d93337a3a comment (;;; <@206,#56> -------------------- B33 --------------------)
0x351d93337a3a comment (;;; <@209,#57> cmp-map-and-branch)
0x351d93337a3c embedded object (0x1690829044c9 <Map(FAST_HOLEY_ELEMENTS)>)
0x351d93337a4e comment (;;; <@210,#67> -------------------- B34 (unreachable/replaced) --------------------)
0x351d93337a4e comment (;;; <@214,#58> -------------------- B35 --------------------)
0x351d93337a4e comment (;;; <@216,#59> load-named-field)
0x351d93337a53 comment (;;; <@218,#60> load-named-field)
0x351d93337a58 comment (;;; <@221,#61> compare-numeric-and-branch)
0x351d93337a68 comment (;;; <@222,#65> -------------------- B36 (unreachable/replaced) --------------------)
0x351d93337a68 comment (;;; <@226,#62> -------------------- B37 --------------------)
0x351d93337a68 comment (;;; <@228,#63> gap)
0x351d93337a6b comment (;;; <@229,#63> goto)
0x351d93337a70 comment (;;; <@230,#69> -------------------- B38 (unreachable/replaced) --------------------)
0x351d93337a70 comment (;;; <@234,#37> -------------------- B39 --------------------)
0x351d93337a70 comment (;;; <@235,#37> gap)
0x351d93337a73 comment (;;; <@236,#179> tagged-to-i)
0x351d93337a80 comment (;;; <@238,#38> bit-i)
0x351d93337a82 comment (;;; <@240,#39> shift-i)
0x351d93337a87 comment (;;; <@242,#40> load-keyed)
0x351d93337a8c comment (;;; <@245,#41> cmp-object-eq-and-branch)
0x351d93337a95 comment (;;; <@246,#44> -------------------- B40 (unreachable/replaced) --------------------)
0x351d93337a95 comment (;;; <@250,#76> -------------------- B41 --------------------)
0x351d93337a95 comment (;;; <@252,#77> push-argument)
0x351d93337a96 comment (;;; <@253,#77> gap)
0x351d93337a9a comment (;;; <@254,#78> call-runtime)
0x351d93337aa7 code target (STUB) (0x351d931095e0)
0x351d93337aab comment (;;; <@256,#78> lazy-bailout)
0x351d93337aab comment (;;; <@259,#79> goto)
0x351d93337ab0 comment (;;; <@260,#42> -------------------- B42 (unreachable/replaced) --------------------)
0x351d93337ab0 comment (;;; <@264,#73> -------------------- B43 --------------------)
0x351d93337ab0 comment (;;; <@266,#75> load-keyed)
0x351d93337ab5 position (14067)
0x351d93337ab5 comment (;;; <@270,#82> -------------------- B44 --------------------)
0x351d93337ab5 comment (;;; <@272,#84> return)
0x351d93337abc comment (;;; <@274,#13> -------------------- B45 (unreachable/replaced) --------------------)
0x351d93337abc position (14031)
0x351d93337abc comment (;;; <@278,#19> -------------------- B46 --------------------)
0x351d93337abc comment (;;; <@279,#19> gap)
0x351d93337ac0 comment (;;; <@280,#21> return)
0x351d93337ac7 position (14074)
0x351d93337ac7 comment (;;; <@236,#179> -------------------- Deferred tagged-to-i --------------------)
0x351d93337aeb code target (STUB) (0x351d932f89a0)
0x351d93337b25 comment (;;; -------------------- Jump table --------------------)
0x351d93337b25 position (37888)
0x351d93337b25 deopt reason (not a heap number/undefined/true/false)
0x351d93337b26 runtime entry (deoptimization bailout 6)
0x351d93337b2c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (Buffer) id{43,0} ---
(arg, encoding) {
// Common case.
if (typeof arg === 'number') {
// If less than zero, or NaN.
if (arg < 0 || arg !== arg)
arg = 0;
return allocate(arg);
}
// Slightly less common case.
if (typeof arg === 'string') {
return fromString(arg, encoding);
}
// Unusual.
return fromObject(arg);
}
--- END ---
--- FUNCTION SOURCE (allocate) id{43,1} ---
(size) {
if (size <= 0) {
return createBuffer(0);
}
if (size < (Buffer.poolSize >>> 1)) {
if (size > (poolSize - poolOffset))
createPool();
var b = allocPool.slice(poolOffset, poolOffset + size);
poolOffset += size;
alignPool();
return b;
} else {
// Even though this is checked above, the conditional is a safety net and
// sanity check to prevent any subsequent typed array allocation from not
// being zero filled.
return createBuffer(size, true);
}
}
--- END ---
INLINE (allocate) id{43,1} AS 1 AT <0:161>
--- FUNCTION SOURCE (createPool) id{43,2} ---
() {
poolSize = Buffer.poolSize;
allocPool = createBuffer(poolSize, true);
poolOffset = 0;
}
--- END ---
INLINE (createPool) id{43,2} AS 2 AT <1:146>
--- FUNCTION SOURCE (slice) id{43,3} ---
(start, end) {
const buffer = this.subarray(start, end);
Object.setPrototypeOf(buffer, Buffer.prototype);
return buffer;
}
--- END ---
INLINE (slice) id{43,3} AS 3 AT <1:182>
--- FUNCTION SOURCE (alignPool) id{43,4} ---
() {
// Ensure aligned slices
if (poolOffset & 0x7) {
poolOffset |= 0x7;
poolOffset++;
}
}
--- END ---
INLINE (alignPool) id{43,4} AS 4 AT <1:248>
--- FUNCTION SOURCE (fromString) id{43,5} ---
(string, encoding) {
if (typeof encoding !== 'string' || encoding === '')
encoding = 'utf8';
var length = byteLength(string, encoding);
if (length >= (Buffer.poolSize >>> 1))
return binding.createFromString(string, encoding);
if (length > (poolSize - poolOffset))
createPool();
var actual = allocPool.write(string, poolOffset, encoding);
var b = allocPool.slice(poolOffset, poolOffset + actual);
poolOffset += actual;
alignPool();
return b;
}
--- END ---
INLINE (fromString) id{43,5} AS 5 AT <0:257>
--- FUNCTION SOURCE (alignPool) id{43,6} ---
() {
// Ensure aligned slices
if (poolOffset & 0x7) {
poolOffset |= 0x7;
poolOffset++;
}
}
--- END ---
INLINE (alignPool) id{43,6} AS 6 AT <5:448>
--- Raw source ---
(arg, encoding) {
// Common case.
if (typeof arg === 'number') {
// If less than zero, or NaN.
if (arg < 0 || arg !== arg)
arg = 0;
return allocate(arg);
}
// Slightly less common case.
if (typeof arg === 'string') {
return fromString(arg, encoding);
}
// Unusual.
return fromObject(arg);
}
--- Optimized code ---
optimization_id = 43
source_position = 1056
kind = OPTIMIZED_FUNCTION
name = Buffer
stack_slots = 15
compiler = crankshaft
Instructions (size = 3500)
0x351d9333a6e0 0 55 push rbp
0x351d9333a6e1 1 4889e5 REX.W movq rbp,rsp
0x351d9333a6e4 4 56 push rsi
0x351d9333a6e5 5 57 push rdi
0x351d9333a6e6 6 4883ec78 REX.W subq rsp,0x78
;;; <@0,#0> -------------------- B0 --------------------
;;; <@2,#1> context
0x351d9333a6ea 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 1056
;;; <@3,#1> gap
0x351d9333a6ee 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@12,#9> -------------------- B1 --------------------
;;; <@13,#9> gap
0x351d9333a6f2 18 488bf0 REX.W movq rsi,rax
;;; <@14,#11> stack-check
0x351d9333a6f5 21 493ba548080000 REX.W cmpq rsp,[r13+0x848]
0x351d9333a6fc 28 7305 jnc 35 (0x351d9333a703)
0x351d9333a6fe 30 e8dda7dfff call StackCheck (0x351d93134ee0) ;; code: BUILTIN
;;; <@16,#11> lazy-bailout
;;; <@18,#13> gap
0x351d9333a703 35 488b4518 REX.W movq rax,[rbp+0x18] ;; debug: position 1109
;;; <@19,#13> typeof-is-and-branch
0x351d9333a707 39 a801 test al,0x1
0x351d9333a709 41 0f843b040000 jz 1130 (0x351d9333ab4a)
0x351d9333a70f 47 4d8b5500 REX.W movq r10,[r13+0x0]
0x351d9333a713 51 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d9333a717 55 0f842d040000 jz 1130 (0x351d9333ab4a)
;;; <@20,#17> -------------------- B2 (unreachable/replaced) --------------------
;;; <@24,#241> -------------------- B3 --------------------
;;; <@26,#242> gap
0x351d9333a71d 61 488b4518 REX.W movq rax,[rbp+0x18] ;; debug: position 1286
;;; <@27,#242> typeof-is-and-branch
0x351d9333a721 65 a801 test al,0x1
0x351d9333a723 67 7414 jz 89 (0x351d9333a739)
0x351d9333a725 69 488b40ff REX.W movq rax,[rax-0x1]
0x351d9333a729 73 80780b80 cmpb [rax+0xb],0x80
0x351d9333a72d 77 730a jnc 89 (0x351d9333a739)
0x351d9333a72f 79 f6400c10 testb [rax+0xc],0x10
0x351d9333a733 83 0f843f000000 jz 152 (0x351d9333a778)
;;; <@28,#246> -------------------- B4 (unreachable/replaced) --------------------
;;; <@32,#412> -------------------- B5 --------------------
;;; <@33,#412> gap
0x351d9333a739 89 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 1368
;;; <@34,#413> load-context-slot
0x351d9333a73d 93 488bb8a7000000 REX.W movq rdi,[rax+0xa7]
;;; <@36,#414> push-argument
0x351d9333a744 100 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d9333a74e 110 4152 push r10
;;; <@37,#414> gap
0x351d9333a750 112 488b5d18 REX.W movq rbx,[rbp+0x18]
;;; <@38,#414> push-argument
0x351d9333a754 116 53 push rbx
;;; <@39,#414> gap
0x351d9333a755 117 488bf0 REX.W movq rsi,rax
;;; <@40,#415> call-function
0x351d9333a758 120 48bb0102941214170000 REX.W movq rbx,0x171412940201 ;; object: 0x171412940201 <FixedArray[10]>
0x351d9333a762 130 48ba0000000008000000 REX.W movq rdx,0x800000000
0x351d9333a76c 140 e84f8cddff call 0x351d931133c0 ;; code: CALL_IC, DEFAULT
;;; <@42,#416> lazy-bailout
;;; <@44,#418> return
0x351d9333a771 145 488be5 REX.W movq rsp,rbp ;; debug: position 1361
0x351d9333a774 148 5d pop rbp
0x351d9333a775 149 c21800 ret 0x18
;;; <@46,#243> -------------------- B6 (unreachable/replaced) --------------------
;;; <@50,#249> -------------------- B7 --------------------
;;; <@51,#249> gap
0x351d9333a778 152 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 1313
;;; <@52,#250> load-context-slot
0x351d9333a77c 156 488b9897000000 REX.W movq rbx,[rax+0x97]
;;; <@53,#250> gap
0x351d9333a783 163 48895de0 REX.W movq [rbp-0x20],rbx
;;; <@54,#251> check-value
0x351d9333a787 167 49ba69621218ab210000 REX.W movq r10,0x21ab18126269 ;; object: 0x21ab18126269 <JS Function fromString (SharedFunctionInfo 0x1fffbdcd1211)>
0x351d9333a791 177 493bda REX.W cmpq rbx,r10
0x351d9333a794 180 0f85110b0000 jnz 3019 (0x351d9333b2ab)
;;; <@56,#256> gap
0x351d9333a79a 186 488b5510 REX.W movq rdx,[rbp+0x10] ;; debug: position 4092
;;; <@57,#256> typeof-is-and-branch
0x351d9333a79e 190 f6c201 testb rdx,0x1
0x351d9333a7a1 193 0f841d000000 jz 228 (0x351d9333a7c4)
0x351d9333a7a7 199 488b52ff REX.W movq rdx,[rdx-0x1]
0x351d9333a7ab 203 807a0b80 cmpb [rdx+0xb],0x80
0x351d9333a7af 207 0f830f000000 jnc 228 (0x351d9333a7c4)
0x351d9333a7b5 213 f6420c10 testb [rdx+0xc],0x10
0x351d9333a7b9 217 0f8505000000 jnz 228 (0x351d9333a7c4)
;;; <@58,#260> -------------------- B8 (unreachable/replaced) --------------------
;;; <@62,#257> -------------------- B9 (unreachable/replaced) --------------------
;;; <@66,#263> -------------------- B10 --------------------
;;; <@69,#265> deoptimize
0x351d9333a7bf 223 e85ab8ccff call 0x351d9300601e ;; debug: position 4121
;; debug: position 4117
;; debug: position 34821
;; debug: deopt reason 'Insufficient type feedback for combined type of binary operation'
;; soft deoptimization bailout 3
;;; <@70,#266> -------------------- B11 (unreachable/replaced) --------------------
;;; <@80,#273> -------------------- B12 (unreachable/replaced) --------------------
;;; <@84,#280> -------------------- B13 (unreachable/replaced) --------------------
;;; <@88,#270> -------------------- B14 (unreachable/replaced) --------------------
;;; <@92,#276> -------------------- B15 --------------------
;;; <@94,#279> gap
0x351d9333a7c4 228 48ba61d7cbbdff1f0000 REX.W movq rdx,0x1fffbdcbd761 ;; debug: position 4140
;; debug: position 4072
;; object: 0x1fffbdcbd761 <String[4]: utf8>
;;; <@96,#284> -------------------- B16 --------------------
0x351d9333a7ce 238 488955d8 REX.W movq [rbp-0x28],rdx ;; debug: position 4164
;;; <@98,#252> constant-t
0x351d9333a7d2 242 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@100,#285> load-context-slot
0x351d9333a7dc 252 488b8eb7000000 REX.W movq rcx,[rsi+0xb7] ;; debug: position 4164
;;; <@102,#286> check-value
0x351d9333a7e3 259 49bad9051218ab210000 REX.W movq r10,0x21ab181205d9 ;; object: 0x21ab181205d9 <JS Function byteLength (SharedFunctionInfo 0x1fffbdcd14b1)>
0x351d9333a7ed 269 493bca REX.W cmpq rcx,r10
0x351d9333a7f0 272 0f85ba0a0000 jnz 3024 (0x351d9333b2b0)
;;; <@104,#287> push-argument
0x351d9333a7f6 278 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d9333a800 288 4152 push r10
;;; <@106,#287> push-argument
0x351d9333a802 290 ff7518 push [rbp+0x18]
;;; <@108,#287> push-argument
0x351d9333a805 293 52 push rdx
;;; <@110,#288> constant-t
0x351d9333a806 294 48bfd9051218ab210000 REX.W movq rdi,0x21ab181205d9 ;; object: 0x21ab181205d9 <JS Function byteLength (SharedFunctionInfo 0x1fffbdcd14b1)>
;;; <@112,#289> call-js-function
0x351d9333a810 304 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d9333a814 308 ff5717 call [rdi+0x17]
;;; <@113,#289> gap
0x351d9333a817 311 488945d0 REX.W movq [rbp-0x30],rax
;;; <@114,#290> lazy-bailout
;;; <@116,#252> constant-t
0x351d9333a81b 315 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@118,#293> load-context-slot
0x351d9333a825 325 488b9687000000 REX.W movq rdx,[rsi+0x87] ;; debug: position 4211
;;; <@120,#252> constant-t
0x351d9333a82c 332 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@122,#294> load-named-generic
0x351d9333a836 342 48b9b1ecccbdff1f0000 REX.W movq rcx,0x1fffbdccecb1 ;; debug: position 4217
;; object: 0x1fffbdccecb1 <String[8]: poolSize>
0x351d9333a840 352 48bb91d9ffaa75320000 REX.W movq rbx,0x3275aaffd991 ;; object: 0x3275aaffd991 <FixedArray[24]>
0x351d9333a84a 362 48b80000000006000000 REX.W movq rax,0x600000000
0x351d9333a854 372 e847daf6ff call 0x351d932a82a0 ;; code: LOAD_IC, DEFAULT
;;; <@124,#295> lazy-bailout
;;; <@125,#295> gap
0x351d9333a859 377 488bd8 REX.W movq rbx,rax
;;; <@126,#427> tagged-to-i
0x351d9333a85c 380 f6c301 testb rbx,0x1
0x351d9333a85f 383 0f857b070000 jnz 2304 (0x351d9333afe0)
0x351d9333a865 389 48c1eb20 REX.W shrq rbx, 32
;;; <@128,#297> shift-i
0x351d9333a869 393 d1eb shrl rbx, 1 ;; debug: position 4227
;;; <@129,#297> gap
0x351d9333a86b 395 488b45d0 REX.W movq rax,[rbp-0x30]
;;; <@130,#426> tagged-to-i
0x351d9333a86f 399 a801 test al,0x1 ;; debug: position 4200
0x351d9333a871 401 0f85ca070000 jnz 2401 (0x351d9333b041)
0x351d9333a877 407 48c1e820 REX.W shrq rax, 32
;;; <@133,#299> compare-numeric-and-branch
0x351d9333a87b 411 3bc3 cmpl rax,rbx ;; debug: position 4207
0x351d9333a87d 413 0f8d59020000 jge 1020 (0x351d9333aadc)
;;; <@134,#303> -------------------- B17 (unreachable/replaced) --------------------
;;; <@138,#316> -------------------- B18 --------------------
;;; <@140,#252> constant-t
0x351d9333a883 419 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4297
;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@142,#318> load-context-slot
0x351d9333a88d 429 488b4647 REX.W movq rax,[rsi+0x47] ;; debug: position 4307
;;; <@144,#252> constant-t
0x351d9333a891 433 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@146,#319> load-context-slot
0x351d9333a89b 443 488b5e4f REX.W movq rbx,[rsi+0x4f] ;; debug: position 4318
;;; <@148,#428> check-smi
0x351d9333a89f 447 a801 test al,0x1 ;; debug: position 4307
0x351d9333a8a1 449 0f850e0a0000 jnz 3029 (0x351d9333b2b5)
;;; <@150,#429> check-smi
0x351d9333a8a7 455 f6c301 testb rbx,0x1 ;; debug: position 4318
0x351d9333a8aa 458 0f850a0a0000 jnz 3034 (0x351d9333b2ba)
;;; <@152,#320> sub-i
0x351d9333a8b0 464 482bc3 REX.W subq rax,rbx ;; debug: position 4316
0x351d9333a8b3 467 0f80060a0000 jo 3039 (0x351d9333b2bf)
;;; <@153,#320> gap
0x351d9333a8b9 473 488b5dd0 REX.W movq rbx,[rbp-0x30]
;;; <@154,#425> check-smi
0x351d9333a8bd 477 f6c301 testb rbx,0x1 ;; debug: position 4297
0x351d9333a8c0 480 0f85fe090000 jnz 3044 (0x351d9333b2c4)
;;; <@157,#322> compare-numeric-and-branch
0x351d9333a8c6 486 483bd8 REX.W cmpq rbx,rax ;; debug: position 4304
0x351d9333a8c9 489 0f8e3d000000 jle 556 (0x351d9333a90c)
;;; <@158,#326> -------------------- B19 (unreachable/replaced) --------------------
;;; <@162,#336> -------------------- B20 (unreachable/replaced) --------------------
;;; <@166,#323> -------------------- B21 (unreachable/replaced) --------------------
;;; <@170,#329> -------------------- B22 --------------------
;;; <@172,#252> constant-t
0x351d9333a8cf 495 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4335
;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@174,#330> load-context-slot
0x351d9333a8d9 505 488b7e77 REX.W movq rdi,[rsi+0x77] ;; debug: position 4335
;;; <@176,#331> push-argument
0x351d9333a8dd 509 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d9333a8e7 519 4152 push r10
;;; <@178,#252> constant-t
0x351d9333a8e9 521 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@180,#332> call-function
0x351d9333a8f3 531 48bb91d9ffaa75320000 REX.W movq rbx,0x3275aaffd991 ;; debug: position 4335
;; object: 0x3275aaffd991 <FixedArray[24]>
0x351d9333a8fd 541 48ba000000000c000000 REX.W movq rdx,0xc00000000
0x351d9333a907 551 e894cbddff call 0x351d931174a0 ;; code: CALL_IC, DEFAULT
;;; <@182,#333> lazy-bailout
;;; <@186,#339> -------------------- B23 --------------------
;;; <@188,#252> constant-t
0x351d9333a90c 556 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4364
;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@190,#340> load-context-slot
0x351d9333a916 566 488b4657 REX.W movq rax,[rsi+0x57] ;; debug: position 4364
;;; <@191,#340> gap
0x351d9333a91a 570 488945c8 REX.W movq [rbp-0x38],rax
;;; <@192,#252> constant-t
0x351d9333a91e 574 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@193,#252> gap
0x351d9333a928 584 488bd0 REX.W movq rdx,rax
;;; <@194,#341> load-named-generic
0x351d9333a92b 587 48b9f1efccbdff1f0000 REX.W movq rcx,0x1fffbdcceff1 ;; debug: position 4374
;; object: 0x1fffbdcceff1 <String[5]: write>
0x351d9333a935 597 48bb91d9ffaa75320000 REX.W movq rbx,0x3275aaffd991 ;; object: 0x3275aaffd991 <FixedArray[24]>
0x351d9333a93f 607 48b80000000010000000 REX.W movq rax,0x1000000000
0x351d9333a949 617 e852d9f6ff call 0x351d932a82a0 ;; code: LOAD_IC, DEFAULT
;;; <@196,#342> lazy-bailout
;;; <@198,#252> constant-t
0x351d9333a94e 622 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@200,#343> load-context-slot
0x351d9333a958 632 488b5e4f REX.W movq rbx,[rsi+0x4f] ;; debug: position 4388
;;; <@202,#344> push-argument
0x351d9333a95c 636 ff75c8 push [rbp-0x38] ;; debug: position 4374
;;; <@204,#344> push-argument
0x351d9333a95f 639 ff7518 push [rbp+0x18]
;;; <@206,#344> push-argument
0x351d9333a962 642 53 push rbx
;;; <@208,#344> push-argument
0x351d9333a963 643 ff75d8 push [rbp-0x28]
;;; <@210,#252> constant-t
0x351d9333a966 646 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@211,#252> gap
0x351d9333a970 656 488bf8 REX.W movq rdi,rax
;;; <@212,#345> call-function
0x351d9333a973 659 e888e5ffff call 0x351d93338f00 ;; debug: position 4374
;; code: STUB, CallFunctionStub, argc = 3
;;; <@213,#345> gap
0x351d9333a978 664 488945c0 REX.W movq [rbp-0x40],rax
;;; <@214,#346> lazy-bailout
;;; <@216,#252> constant-t
0x351d9333a97c 668 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@218,#348> load-context-slot
0x351d9333a986 678 488b5e57 REX.W movq rbx,[rsi+0x57] ;; debug: position 4421
;;; <@219,#348> gap
0x351d9333a98a 682 48895db8 REX.W movq [rbp-0x48],rbx
;;; <@220,#252> constant-t
0x351d9333a98e 686 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@221,#252> gap
0x351d9333a998 696 488bd3 REX.W movq rdx,rbx
;;; <@222,#349> load-named-generic
0x351d9333a99b 699 48b939c8c4bdff1f0000 REX.W movq rcx,0x1fffbdc4c839 ;; debug: position 4431
;; object: 0x1fffbdc4c839 <String[5]: slice>
0x351d9333a9a5 709 48bb91d9ffaa75320000 REX.W movq rbx,0x3275aaffd991 ;; object: 0x3275aaffd991 <FixedArray[24]>
0x351d9333a9af 719 48b80000000014000000 REX.W movq rax,0x1400000000
0x351d9333a9b9 729 e8e2d8f6ff call 0x351d932a82a0 ;; code: LOAD_IC, DEFAULT
;;; <@224,#350> lazy-bailout
;;; <@226,#252> constant-t
0x351d9333a9be 734 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@228,#351> load-context-slot
0x351d9333a9c8 744 488b5e4f REX.W movq rbx,[rsi+0x4f] ;; debug: position 4437
;;; <@229,#351> gap
0x351d9333a9cc 748 488b55c0 REX.W movq rdx,[rbp-0x40]
;;; <@230,#431> check-smi
0x351d9333a9d0 752 f6c201 testb rdx,0x1 ;; debug: position 4462
0x351d9333a9d3 755 0f85f0080000 jnz 3049 (0x351d9333b2c9)
;;; <@231,#431> gap
0x351d9333a9d9 761 488955b0 REX.W movq [rbp-0x50],rdx
0x351d9333a9dd 765 488bcb REX.W movq rcx,rbx
;;; <@232,#432> check-smi
0x351d9333a9e0 768 f6c101 testb rcx,0x1 ;; debug: position 4449
0x351d9333a9e3 771 0f85e5080000 jnz 3054 (0x351d9333b2ce)
;;; <@234,#354> add-i
0x351d9333a9e9 777 4803ca REX.W addq rcx,rdx ;; debug: position 4460
0x351d9333a9ec 780 0f80e1080000 jo 3059 (0x351d9333b2d3)
;;; <@236,#433> dummy-use
;;; <@238,#356> push-argument
0x351d9333a9f2 786 ff75b8 push [rbp-0x48] ;; debug: position 4431
;;; <@240,#356> push-argument
0x351d9333a9f5 789 53 push rbx
;;; <@242,#356> push-argument
0x351d9333a9f6 790 51 push rcx
;;; <@244,#252> constant-t
0x351d9333a9f7 791 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@245,#252> gap
0x351d9333aa01 801 488bf8 REX.W movq rdi,rax
;;; <@246,#357> call-function
0x351d9333aa04 804 e85791feff call 0x351d93323b60 ;; debug: position 4431
;; code: STUB, CallFunctionStub, argc = 2
;;; <@248,#358> lazy-bailout
;;; <@250,#252> constant-t
0x351d9333aa09 809 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@252,#360> load-context-slot
0x351d9333aa13 819 488b5e4f REX.W movq rbx,[rsi+0x4f] ;; debug: position 4473
;;; <@254,#434> check-smi
0x351d9333aa17 823 f6c301 testb rbx,0x1
0x351d9333aa1a 826 0f85b8080000 jnz 3064 (0x351d9333b2d8)
;;; <@255,#434> gap
0x351d9333aa20 832 488b55b0 REX.W movq rdx,[rbp-0x50]
;;; <@256,#362> add-i
0x351d9333aa24 836 4803da REX.W addq rbx,rdx ;; debug: position 4485
0x351d9333aa27 839 0f80b0080000 jo 3069 (0x351d9333b2dd)
;;; <@257,#362> gap
0x351d9333aa2d 845 488bd3 REX.W movq rdx,rbx
;;; <@258,#435> dummy-use
;;; <@260,#252> constant-t
0x351d9333aa30 848 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4484
;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@262,#364> store-context-slot
0x351d9333aa3a 858 4889564f REX.W movq [rsi+0x4f],rdx ;; debug: position 4484
;;; <@264,#252> constant-t
0x351d9333aa3e 862 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@266,#366> load-context-slot
0x351d9333aa48 872 488b567f REX.W movq rdx,[rsi+0x7f] ;; debug: position 4497
;;; <@268,#367> check-value
0x351d9333aa4c 876 49bad9611218ab210000 REX.W movq r10,0x21ab181261d9 ;; object: 0x21ab181261d9 <JS Function alignPool (SharedFunctionInfo 0x1fffbdcd0f71)>
0x351d9333aa56 886 493bd2 REX.W cmpq rdx,r10
0x351d9333aa59 889 0f8583080000 jnz 3074 (0x351d9333b2e2)
;;; <@270,#252> constant-t
0x351d9333aa5f 895 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@272,#372> load-context-slot
0x351d9333aa69 905 488b5e4f REX.W movq rbx,[rsi+0x4f] ;; debug: position 972
;;; <@274,#436> tagged-to-i
0x351d9333aa6d 909 f6c301 testb rbx,0x1
0x351d9333aa70 912 0f85fe050000 jnz 2452 (0x351d9333b074)
0x351d9333aa76 918 48c1eb20 REX.W shrq rbx, 32
;;; <@275,#436> gap
0x351d9333aa7a 922 488bcb REX.W movq rcx,rbx
;;; <@276,#374> bit-i
0x351d9333aa7d 925 83e107 andl rcx,0x7 ;; debug: position 983
;;; <@279,#376> branch
0x351d9333aa80 928 85c9 testl rcx,rcx
0x351d9333aa82 930 0f84bb000000 jz 1123 (0x351d9333ab43)
;;; <@280,#380> -------------------- B24 (unreachable/replaced) --------------------
;;; <@284,#396> -------------------- B25 (unreachable/replaced) --------------------
;;; <@288,#377> -------------------- B26 (unreachable/replaced) --------------------
;;; <@292,#383> -------------------- B27 --------------------
;;; <@294,#386> bit-i
0x351d9333aa88 936 83cb07 orl rbx,0x7 ;; debug: position 996
;; debug: position 1008
;;; <@296,#438> smi-tag
0x351d9333aa8b 939 8bcb movl rcx,rbx ;; debug: position 1007
0x351d9333aa8d 941 48c1e120 REX.W shlq rcx, 32
;;; <@298,#252> constant-t
0x351d9333aa91 945 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@300,#388> store-context-slot
0x351d9333aa9b 955 48894e4f REX.W movq [rsi+0x4f],rcx ;; debug: position 1007
;;; <@302,#252> constant-t
0x351d9333aa9f 959 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@304,#390> load-context-slot
0x351d9333aaa9 969 488b4e4f REX.W movq rcx,[rsi+0x4f] ;; debug: position 1019
;;; <@306,#439> tagged-to-i
0x351d9333aaad 973 f6c101 testb rcx,0x1 ;; debug: position 1029
0x351d9333aab0 976 0f851f060000 jnz 2549 (0x351d9333b0d5)
0x351d9333aab6 982 48c1e920 REX.W shrq rcx, 32
;;; <@308,#391> add-i
0x351d9333aaba 986 83c101 addl rcx,0x1
0x351d9333aabd 989 0f8024080000 jo 3079 (0x351d9333b2e7)
;;; <@310,#440> smi-tag
0x351d9333aac3 995 8bd9 movl rbx,rcx
0x351d9333aac5 997 48c1e320 REX.W shlq rbx, 32
;;; <@312,#252> constant-t
0x351d9333aac9 1001 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@314,#392> store-context-slot
0x351d9333aad3 1011 48895e4f REX.W movq [rsi+0x4f],rbx ;; debug: position 1029
;;; <@317,#395> goto
0x351d9333aad7 1015 e967000000 jmp 1123 (0x351d9333ab43) ;; debug: position 968
;;; <@318,#399> -------------------- B28 (unreachable/replaced) --------------------
;;; <@322,#403> -------------------- B29 (unreachable/replaced) --------------------
;;; <@326,#300> -------------------- B30 (unreachable/replaced) --------------------
;;; <@330,#306> -------------------- B31 --------------------
;;; <@332,#252> constant-t
0x351d9333aadc 1020 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4246
;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@334,#307> load-context-slot
0x351d9333aae6 1030 488b4637 REX.W movq rax,[rsi+0x37] ;; debug: position 4246
0x351d9333aaea 1034 493b45b0 REX.W cmpq rax,[r13-0x50]
0x351d9333aaee 1038 0f84f8070000 jz 3084 (0x351d9333b2ec)
;;; <@335,#307> gap
0x351d9333aaf4 1044 488945b0 REX.W movq [rbp-0x50],rax
;;; <@336,#252> constant-t
0x351d9333aaf8 1048 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@337,#252> gap
0x351d9333ab02 1058 488bd0 REX.W movq rdx,rax
;;; <@338,#308> load-named-generic
0x351d9333ab05 1061 48b9a9efccbdff1f0000 REX.W movq rcx,0x1fffbdccefa9 ;; debug: position 4254
;; object: 0x1fffbdccefa9 <String[16]: createFromString>
0x351d9333ab0f 1071 48bb91d9ffaa75320000 REX.W movq rbx,0x3275aaffd991 ;; object: 0x3275aaffd991 <FixedArray[24]>
0x351d9333ab19 1081 48b8000000000a000000 REX.W movq rax,0xa00000000
0x351d9333ab23 1091 e878d7f6ff call 0x351d932a82a0 ;; code: LOAD_IC, DEFAULT
;;; <@340,#309> lazy-bailout
;;; <@342,#310> push-argument
0x351d9333ab28 1096 ff75b0 push [rbp-0x50]
;;; <@344,#310> push-argument
0x351d9333ab2b 1099 ff7518 push [rbp+0x18]
;;; <@346,#310> push-argument
0x351d9333ab2e 1102 ff75d8 push [rbp-0x28]
;;; <@348,#252> constant-t
0x351d9333ab31 1105 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 4049
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@349,#252> gap
0x351d9333ab3b 1115 488bf8 REX.W movq rdi,rax
;;; <@350,#311> call-function
0x351d9333ab3e 1118 e81d90feff call 0x351d93323b60 ;; debug: position 4254
;; code: STUB, CallFunctionStub, argc = 2
;;; <@352,#312> lazy-bailout
;;; <@356,#409> -------------------- B32 --------------------
;;; <@358,#411> return
0x351d9333ab43 1123 488be5 REX.W movq rsp,rbp ;; debug: position 1306
0x351d9333ab46 1126 5d pop rbp
0x351d9333ab47 1127 c21800 ret 0x18
;;; <@360,#14> -------------------- B33 (unreachable/replaced) --------------------
;;; <@364,#20> -------------------- B34 --------------------
;;; <@365,#20> gap
0x351d9333ab4a 1130 488b4518 REX.W movq rax,[rbp+0x18] ;; debug: position 1173
;;; <@366,#423> tagged-to-i
0x351d9333ab4e 1134 a801 test al,0x1 ;; debug: position 1167
0x351d9333ab50 1136 0f85b2050000 jnz 2600 (0x351d9333b108)
0x351d9333ab56 1142 48c1e820 REX.W shrq rax, 32
;;; <@369,#22> compare-numeric-and-branch
0x351d9333ab5a 1146 83f800 cmpl rax,0x0 ;; debug: position 1171
0x351d9333ab5d 1149 0f8c12000000 jl 1173 (0x351d9333ab75)
;;; <@370,#26> -------------------- B35 (unreachable/replaced) --------------------
;;; <@374,#29> -------------------- B36 --------------------
;;; <@375,#29> gap
0x351d9333ab63 1155 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 1182
;;; <@376,#421> check-smi
0x351d9333ab67 1159 f6c301 testb rbx,0x1 ;; debug: position 1186
0x351d9333ab6a 1162 0f8581070000 jnz 3089 (0x351d9333b2f1)
;;; <@379,#30> goto
0x351d9333ab70 1168 e902000000 jmp 1175 (0x351d9333ab77) ;; debug: position 1182
;;; <@380,#34> -------------------- B37 (unreachable/replaced) --------------------
;;; <@384,#31> -------------------- B38 (unreachable/replaced) --------------------
;;; <@388,#41> -------------------- B39 (unreachable/replaced) --------------------
;;; <@392,#23> -------------------- B40 (unreachable/replaced) --------------------
;;; <@396,#37> -------------------- B41 --------------------
;;; <@398,#40> gap
0x351d9333ab75 1173 33c0 xorl rax,rax ;; debug: position 1203
;; debug: position 1163
;;; <@400,#45> -------------------- B42 --------------------
0x351d9333ab77 1175 488945a8 REX.W movq [rbp-0x58],rax ;; debug: position 1217
;;; <@401,#45> gap
0x351d9333ab7b 1179 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@402,#46> load-context-slot
0x351d9333ab7f 1183 488b938f000000 REX.W movq rdx,[rbx+0x8f]
;;; <@403,#46> gap
0x351d9333ab86 1190 488955a0 REX.W movq [rbp-0x60],rdx
;;; <@404,#47> check-value
0x351d9333ab8a 1194 49ba21621218ab210000 REX.W movq r10,0x21ab18126221 ;; object: 0x21ab18126221 <JS Function allocate (SharedFunctionInfo 0x1fffbdcd1169)>
0x351d9333ab94 1204 493bd2 REX.W cmpq rdx,r10
0x351d9333ab97 1207 0f8559070000 jnz 3094 (0x351d9333b2f6)
;;; <@407,#53> compare-numeric-and-branch
0x351d9333ab9d 1213 83f800 cmpl rax,0x0 ;; debug: position 3537
0x351d9333aba0 1216 0f8eee030000 jle 2228 (0x351d9333af94)
;;; <@408,#57> -------------------- B43 (unreachable/replaced) --------------------
;;; <@412,#69> -------------------- B44 --------------------
;;; <@414,#48> constant-t
0x351d9333aba6 1222 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3591
;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@416,#70> load-context-slot
0x351d9333abb0 1232 488b8e87000000 REX.W movq rcx,[rsi+0x87] ;; debug: position 3591
;;; <@418,#71> check-non-smi
0x351d9333abb7 1239 f6c101 testb rcx,0x1 ;; debug: position 3597
0x351d9333abba 1242 0f843b070000 jz 3099 (0x351d9333b2fb)
;;; <@420,#72> check-maps
0x351d9333abc0 1248 49ba694ea088a4140000 REX.W movq r10,0x14a488a04e69 ;; object: 0x14a488a04e69 <Map(FAST_HOLEY_ELEMENTS)>
0x351d9333abca 1258 4c3951ff REX.W cmpq [rcx-0x1],r10
0x351d9333abce 1262 0f852c070000 jnz 3104 (0x351d9333b300)
;;; <@422,#73> load-named-field
0x351d9333abd4 1268 488b4907 REX.W movq rcx,[rcx+0x7]
0x351d9333abd8 1272 488b490f REX.W movq rcx,[rcx+0xf]
;;; <@423,#73> gap
0x351d9333abdc 1276 488bf1 REX.W movq rsi,rcx
;;; <@424,#443> tagged-to-i
0x351d9333abdf 1279 40f6c601 testb rsi,0x1
0x351d9333abe3 1283 0f8567050000 jnz 2672 (0x351d9333b150)
0x351d9333abe9 1289 48c1ee20 REX.W shrq rsi, 32
;;; <@426,#75> shift-i
0x351d9333abed 1293 d1ee shrl rsi, 1 ;; debug: position 3607
;;; <@429,#77> compare-numeric-and-branch
0x351d9333abef 1295 3bc6 cmpl rax,rsi ;; debug: position 3588
0x351d9333abf1 1297 0f8c56000000 jl 1389 (0x351d9333ac4d)
;;; <@430,#81> -------------------- B45 (unreachable/replaced) --------------------
;;; <@434,#227> -------------------- B46 --------------------
;;; <@436,#48> constant-t
0x351d9333abf7 1303 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3996
;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@438,#228> load-context-slot
0x351d9333ac01 1313 488b4e6f REX.W movq rcx,[rsi+0x6f] ;; debug: position 3996
;;; <@440,#230> check-value
0x351d9333ac05 1317 49bae1031218ab210000 REX.W movq r10,0x21ab181203e1 ;; object: 0x21ab181203e1 <JS Function createBuffer (SharedFunctionInfo 0x1fffbdcd0e21)>
0x351d9333ac0f 1327 493bca REX.W cmpq rcx,r10
0x351d9333ac12 1330 0f85ed060000 jnz 3109 (0x351d9333b305)
;;; <@442,#442> smi-tag
0x351d9333ac18 1336 8bc8 movl rcx,rax
0x351d9333ac1a 1338 48c1e120 REX.W shlq rcx, 32
;;; <@444,#231> push-argument
0x351d9333ac1e 1342 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d9333ac28 1352 4152 push r10
;;; <@446,#231> push-argument
0x351d9333ac2a 1354 51 push rcx
;;; <@448,#231> push-argument
0x351d9333ac2b 1355 49ba1142c0bdff1f0000 REX.W movq r10,0x1fffbdc04211 ;; object: 0x1fffbdc04211 <true>
0x351d9333ac35 1365 4152 push r10
;;; <@450,#232> constant-t
0x351d9333ac37 1367 48bfe1031218ab210000 REX.W movq rdi,0x21ab181203e1 ;; object: 0x21ab181203e1 <JS Function createBuffer (SharedFunctionInfo 0x1fffbdcd0e21)>
;;; <@452,#233> call-js-function
0x351d9333ac41 1377 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d9333ac45 1381 ff5717 call [rdi+0x17]
;;; <@454,#234> lazy-bailout
;;; <@457,#237> goto
0x351d9333ac48 1384 e986030000 jmp 2291 (0x351d9333afd3) ;; debug: position 3989
;;; <@458,#78> -------------------- B47 (unreachable/replaced) --------------------
;;; <@462,#84> -------------------- B48 --------------------
;;; <@464,#48> constant-t
0x351d9333ac4d 1389 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3633
;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@466,#85> load-context-slot
0x351d9333ac57 1399 488b4647 REX.W movq rax,[rsi+0x47] ;; debug: position 3633
;;; <@468,#48> constant-t
0x351d9333ac5b 1403 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@470,#86> load-context-slot
0x351d9333ac65 1413 488b5e4f REX.W movq rbx,[rsi+0x4f] ;; debug: position 3644
;;; <@472,#444> check-smi
0x351d9333ac69 1417 a801 test al,0x1 ;; debug: position 3633
0x351d9333ac6b 1419 0f8599060000 jnz 3114 (0x351d9333b30a)
;;; <@474,#445> check-smi
0x351d9333ac71 1425 f6c301 testb rbx,0x1 ;; debug: position 3644
0x351d9333ac74 1428 0f8595060000 jnz 3119 (0x351d9333b30f)
;;; <@476,#87> sub-i
0x351d9333ac7a 1434 482bc3 REX.W subq rax,rbx ;; debug: position 3642
0x351d9333ac7d 1437 0f8091060000 jo 3124 (0x351d9333b314)
;;; <@478,#446> smi-untag
0x351d9333ac83 1443 48c1e820 REX.W shrq rax, 32
;;; <@480,#89> gap
0x351d9333ac87 1447 488b5da8 REX.W movq rbx,[rbp-0x58] ;; debug: position 3630
;;; <@481,#89> compare-numeric-and-branch
0x351d9333ac8b 1451 3bd8 cmpl rbx,rax
0x351d9333ac8d 1453 0f8e3e010000 jle 1777 (0x351d9333add1)
;;; <@482,#93> -------------------- B49 (unreachable/replaced) --------------------
;;; <@486,#128> -------------------- B50 (unreachable/replaced) --------------------
;;; <@490,#90> -------------------- B51 (unreachable/replaced) --------------------
;;; <@494,#96> -------------------- B52 --------------------
;;; <@496,#48> constant-t
0x351d9333ac93 1459 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3663
;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@498,#97> load-context-slot
0x351d9333ac9d 1469 488b4677 REX.W movq rax,[rsi+0x77] ;; debug: position 3663
;;; <@499,#97> gap
0x351d9333aca1 1473 48894598 REX.W movq [rbp-0x68],rax
;;; <@500,#98> check-value
0x351d9333aca5 1477 49ba99031218ab210000 REX.W movq r10,0x21ab18120399 ;; object: 0x21ab18120399 <JS Function createPool (SharedFunctionInfo 0x1fffbdcd0ec9)>
0x351d9333acaf 1487 493bc2 REX.W cmpq rax,r10
0x351d9333acb2 1490 0f8561060000 jnz 3129 (0x351d9333b319)
;;; <@502,#48> constant-t
0x351d9333acb8 1496 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@503,#48> gap
0x351d9333acc2 1506 488bd1 REX.W movq rdx,rcx
;;; <@504,#107> store-context-slot
0x351d9333acc5 1509 48895647 REX.W movq [rsi+0x47],rdx ;; debug: position 817
0x351d9333acc9 1513 f6c201 testb rdx,0x1
0x351d9333accc 1516 0f8426000000 jz 1560 (0x351d9333acf8)
0x351d9333acd2 1522 488d7e47 REX.W leaq rdi,[rsi+0x47]
0x351d9333acd6 1526 4881e20000f0ff REX.W andq rdx,0xfffffffffff00000
0x351d9333acdd 1533 f6420804 testb [rdx+0x8],0x4
0x351d9333ace1 1537 7415 jz 1560 (0x351d9333acf8)
0x351d9333ace3 1539 48c7c20000f0ff REX.W movq rdx,0xfff00000
0x351d9333acea 1546 4823d6 REX.W andq rdx,rsi
0x351d9333aced 1549 f6420808 testb [rdx+0x8],0x8
0x351d9333acf1 1553 7405 jz 1560 (0x351d9333acf8)
0x351d9333acf3 1555 e868e3ffff call 0x351d93339060 ;; code: STUB, RecordWriteStub, minor: 10022
;;; <@506,#48> constant-t
0x351d9333acf8 1560 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@508,#109> load-context-slot
0x351d9333ad02 1570 488b566f REX.W movq rdx,[rsi+0x6f] ;; debug: position 850
;;; <@510,#48> constant-t
0x351d9333ad06 1574 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@512,#110> load-context-slot
0x351d9333ad10 1584 488b7647 REX.W movq rsi,[rsi+0x47] ;; debug: position 863
;;; <@514,#112> check-value
0x351d9333ad14 1588 49bae1031218ab210000 REX.W movq r10,0x21ab181203e1 ;; debug: position 850
;; object: 0x21ab181203e1 <JS Function createBuffer (SharedFunctionInfo 0x1fffbdcd0e21)>
0x351d9333ad1e 1598 493bd2 REX.W cmpq rdx,r10
0x351d9333ad21 1601 0f85f7050000 jnz 3134 (0x351d9333b31e)
;;; <@516,#113> push-argument
0x351d9333ad27 1607 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d9333ad31 1617 4152 push r10
;;; <@518,#113> push-argument
0x351d9333ad33 1619 56 push rsi
;;; <@520,#113> push-argument
0x351d9333ad34 1620 49ba1142c0bdff1f0000 REX.W movq r10,0x1fffbdc04211 ;; object: 0x1fffbdc04211 <true>
0x351d9333ad3e 1630 4152 push r10
;;; <@522,#114> constant-t
0x351d9333ad40 1632 48bfe1031218ab210000 REX.W movq rdi,0x21ab181203e1 ;; object: 0x21ab181203e1 <JS Function createBuffer (SharedFunctionInfo 0x1fffbdcd0e21)>
;;; <@524,#115> call-js-function
0x351d9333ad4a 1642 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d9333ad4e 1646 ff5717 call [rdi+0x17]
;;; <@526,#116> lazy-bailout
;;; <@528,#48> constant-t
0x351d9333ad51 1649 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@530,#117> store-context-slot
0x351d9333ad5b 1659 48894657 REX.W movq [rsi+0x57],rax ;; debug: position 848
0x351d9333ad5f 1663 a801 test al,0x1
0x351d9333ad61 1665 0f8425000000 jz 1708 (0x351d9333ad8c)
0x351d9333ad67 1671 488d5e57 REX.W leaq rbx,[rsi+0x57]
0x351d9333ad6b 1675 48250000f0ff REX.W and rax,0xfffffffffff00000
0x351d9333ad71 1681 f6400804 testb [rax+0x8],0x4
0x351d9333ad75 1685 7415 jz 1708 (0x351d9333ad8c)
0x351d9333ad77 1687 48c7c00000f0ff REX.W movq rax,0xfff00000
0x351d9333ad7e 1694 4823c6 REX.W andq rax,rsi
0x351d9333ad81 1697 f6400808 testb [rax+0x8],0x8
0x351d9333ad85 1701 7405 jz 1708 (0x351d9333ad8c)
0x351d9333ad87 1703 e854edffff call 0x351d93339ae0 ;; code: STUB, RecordWriteStub, minor: 8966
;;; <@532,#48> constant-t
0x351d9333ad8c 1708 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@534,#447> constant-t
0x351d9333ad96 1718 48b80000000000000000 REX.W movq rax,(nil) ;; debug: position 893
;;; <@536,#120> store-context-slot
0x351d9333ada0 1728 4889464f REX.W movq [rsi+0x4f],rax
0x351d9333ada4 1732 a801 test al,0x1
0x351d9333ada6 1734 0f8425000000 jz 1777 (0x351d9333add1)
0x351d9333adac 1740 488d5e4f REX.W leaq rbx,[rsi+0x4f]
0x351d9333adb0 1744 48250000f0ff REX.W and rax,0xfffffffffff00000
0x351d9333adb6 1750 f6400804 testb [rax+0x8],0x4
0x351d9333adba 1754 7415 jz 1777 (0x351d9333add1)
0x351d9333adbc 1756 48c7c00000f0ff REX.W movq rax,0xfff00000
0x351d9333adc3 1763 4823c6 REX.W andq rax,rsi
0x351d9333adc6 1766 f6400808 testb [rax+0x8],0x8
0x351d9333adca 1770 7405 jz 1777 (0x351d9333add1)
0x351d9333adcc 1772 e80fedffff call 0x351d93339ae0 ;; code: STUB, RecordWriteStub, minor: 8966
;;; <@540,#125> -------------------- B53 (unreachable/replaced) --------------------
;;; <@544,#131> -------------------- B54 --------------------
;;; <@546,#48> constant-t
0x351d9333add1 1777 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 801
;; debug: position 3689
;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@548,#132> load-context-slot
0x351d9333addb 1787 488b4657 REX.W movq rax,[rsi+0x57] ;; debug: position 3689
;;; <@549,#132> gap
0x351d9333addf 1791 48894590 REX.W movq [rbp-0x70],rax
;;; <@550,#133> check-non-smi
0x351d9333ade3 1795 a801 test al,0x1 ;; debug: position 3699
0x351d9333ade5 1797 0f8438050000 jz 3139 (0x351d9333b323)
;;; <@552,#134> check-maps
0x351d9333adeb 1803 49ba4149a088a4140000 REX.W movq r10,0x14a488a04941 ;; object: 0x14a488a04941 <Map(EXTERNAL_UINT8_ELEMENTS)>
0x351d9333adf5 1813 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d9333adf9 1817 0f8529050000 jnz 3144 (0x351d9333b328)
;;; <@554,#136> check-maps
;;; <@556,#48> constant-t
0x351d9333adff 1823 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@558,#138> load-context-slot
0x351d9333ae09 1833 488b5e4f REX.W movq rbx,[rsi+0x4f] ;; debug: position 3705
;;; <@559,#138> gap
0x351d9333ae0d 1837 48895d88 REX.W movq [rbp-0x78],rbx
0x351d9333ae11 1841 488bd3 REX.W movq rdx,rbx
;;; <@560,#448> tagged-to-i
0x351d9333ae14 1844 f6c201 testb rdx,0x1 ;; debug: position 3717
0x351d9333ae17 1847 0f8594030000 jnz 2769 (0x351d9333b1b1)
0x351d9333ae1d 1853 48c1ea20 REX.W shrq rdx, 32
;;; <@562,#140> add-i
0x351d9333ae21 1857 0355a8 addl rdx,[rbp-0x58] ;; debug: position 3728
0x351d9333ae24 1860 0f8003050000 jo 3149 (0x351d9333b32d)
;;; <@563,#140> gap
0x351d9333ae2a 1866 48895580 REX.W movq [rbp-0x80],rdx
;;; <@564,#153> check-maps
;;; <@566,#449> smi-tag
0x351d9333ae2e 1870 8bca movl rcx,rdx ;; debug: position 15953
0x351d9333ae30 1872 48c1e120 REX.W shlq rcx, 32
;;; <@568,#156> push-argument
0x351d9333ae34 1876 50 push rax
;;; <@570,#156> push-argument
0x351d9333ae35 1877 53 push rbx
;;; <@572,#156> push-argument
0x351d9333ae36 1878 51 push rcx
;;; <@574,#155> constant-t
0x351d9333ae37 1879 48bf397fcabdff1f0000 REX.W movq rdi,0x1fffbdca7f39 ;; object: 0x1fffbdca7f39 <JS Function subarray (SharedFunctionInfo 0x1fffbdc731c1)>
;;; <@576,#157> call-js-function
0x351d9333ae41 1889 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d9333ae45 1893 ff5717 call [rdi+0x17]
;;; <@577,#157> gap
0x351d9333ae48 1896 48898578ffffff REX.W movq [rbp-0x88],rax
;;; <@578,#158> lazy-bailout
;;; <@580,#161> check-maps
;;; <@582,#48> constant-t
0x351d9333ae4f 1903 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 15984
;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@584,#164> load-context-slot
0x351d9333ae59 1913 488b9e87000000 REX.W movq rbx,[rsi+0x87] ;; debug: position 16007
;;; <@586,#165> check-non-smi
0x351d9333ae60 1920 f6c301 testb rbx,0x1 ;; debug: position 16013
0x351d9333ae63 1923 0f84c9040000 jz 3154 (0x351d9333b332)
;;; <@588,#166> check-maps
0x351d9333ae69 1929 49ba694ea088a4140000 REX.W movq r10,0x14a488a04e69 ;; object: 0x14a488a04e69 <Map(FAST_HOLEY_ELEMENTS)>
0x351d9333ae73 1939 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d9333ae77 1943 0f85ba040000 jnz 3159 (0x351d9333b337)
;;; <@590,#167> load-function-prototype
0x351d9333ae7d 1949 488b531f REX.W movq rdx,[rbx+0x1f]
0x351d9333ae81 1953 493b55b0 REX.W cmpq rdx,[r13-0x50]
0x351d9333ae85 1957 0f84b1040000 jz 3164 (0x351d9333b33c)
0x351d9333ae8b 1963 4c8b52ff REX.W movq r10,[rdx-0x1]
0x351d9333ae8f 1967 41807a0b81 cmpb [r10+0xb],0x81
0x351d9333ae94 1972 7504 jnz 1978 (0x351d9333ae9a)
0x351d9333ae96 1974 488b5217 REX.W movq rdx,[rdx+0x17]
;;; <@592,#169> push-argument
0x351d9333ae9a 1978 49baa90fc9bdff1f0000 REX.W movq r10,0x1fffbdc90fa9 ;; debug: position 15984
;; object: 0x1fffbdc90fa9 <JS Function Object (SharedFunctionInfo 0x1fffbdc3f821)>
0x351d9333aea4 1988 4152 push r10
;;; <@594,#169> push-argument
0x351d9333aea6 1990 50 push rax
;;; <@596,#169> push-argument
0x351d9333aea7 1991 52 push rdx
;;; <@598,#168> constant-t
0x351d9333aea8 1992 48bff150cabdff1f0000 REX.W movq rdi,0x1fffbdca50f1 ;; object: 0x1fffbdca50f1 <JS Function setPrototypeOf (SharedFunctionInfo 0x1fffbdc39f11)>
;;; <@600,#170> call-js-function
0x351d9333aeb2 2002 488b772f REX.W movq rsi,[rdi+0x2f]
0x351d9333aeb6 2006 ff5717 call [rdi+0x17]
;;; <@602,#171> lazy-bailout
;;; <@606,#176> -------------------- B55 --------------------
;;; <@608,#48> constant-t
0x351d9333aeb9 2009 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3681
;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@610,#178> load-context-slot
0x351d9333aec3 2019 488b464f REX.W movq rax,[rsi+0x4f] ;; debug: position 3741
;;; <@612,#450> tagged-to-i
0x351d9333aec7 2023 a801 test al,0x1
0x351d9333aec9 2025 0f8515030000 jnz 2820 (0x351d9333b1e4)
0x351d9333aecf 2031 48c1e820 REX.W shrq rax, 32
;;; <@614,#179> add-i
0x351d9333aed3 2035 0345a8 addl rax,[rbp-0x58] ;; debug: position 3753
0x351d9333aed6 2038 0f8065040000 jo 3169 (0x351d9333b341)
;;; <@616,#451> smi-tag
0x351d9333aedc 2044 8bd8 movl rbx,rax ;; debug: position 3752
0x351d9333aede 2046 48c1e320 REX.W shlq rbx, 32
;;; <@618,#48> constant-t
0x351d9333aee2 2050 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@620,#181> store-context-slot
0x351d9333aeec 2060 48895e4f REX.W movq [rsi+0x4f],rbx ;; debug: position 3752
;;; <@622,#48> constant-t
0x351d9333aef0 2064 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@624,#183> load-context-slot
0x351d9333aefa 2074 488b5e7f REX.W movq rbx,[rsi+0x7f] ;; debug: position 3765
;;; <@626,#184> check-value
0x351d9333aefe 2078 49bad9611218ab210000 REX.W movq r10,0x21ab181261d9 ;; object: 0x21ab181261d9 <JS Function alignPool (SharedFunctionInfo 0x1fffbdcd0f71)>
0x351d9333af08 2088 493bda REX.W cmpq rbx,r10
0x351d9333af0b 2091 0f8535040000 jnz 3174 (0x351d9333b346)
;;; <@628,#48> constant-t
0x351d9333af11 2097 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@630,#189> load-context-slot
0x351d9333af1b 2107 488b464f REX.W movq rax,[rsi+0x4f] ;; debug: position 972
;;; <@632,#452> tagged-to-i
0x351d9333af1f 2111 a801 test al,0x1
0x351d9333af21 2113 0f85f0020000 jnz 2871 (0x351d9333b217)
0x351d9333af27 2119 48c1e820 REX.W shrq rax, 32
;;; <@633,#452> gap
0x351d9333af2b 2123 488bd0 REX.W movq rdx,rax
;;; <@634,#191> bit-i
0x351d9333af2e 2126 83e207 andl rdx,0x7 ;; debug: position 983
;;; <@637,#193> branch
0x351d9333af31 2129 85d2 testl rdx,rdx
0x351d9333af33 2131 0f844f000000 jz 2216 (0x351d9333af88)
;;; <@638,#197> -------------------- B56 (unreachable/replaced) --------------------
;;; <@642,#214> -------------------- B57 (unreachable/replaced) --------------------
;;; <@646,#194> -------------------- B58 (unreachable/replaced) --------------------
;;; <@650,#200> -------------------- B59 --------------------
;;; <@652,#203> bit-i
0x351d9333af39 2137 83c807 orl rax,0x7 ;; debug: position 996
;; debug: position 1008
;;; <@654,#454> smi-tag
0x351d9333af3c 2140 8bd0 movl rdx,rax ;; debug: position 1007
0x351d9333af3e 2142 48c1e220 REX.W shlq rdx, 32
;;; <@656,#48> constant-t
0x351d9333af42 2146 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@658,#205> store-context-slot
0x351d9333af4c 2156 4889564f REX.W movq [rsi+0x4f],rdx ;; debug: position 1007
;;; <@660,#48> constant-t
0x351d9333af50 2160 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@662,#207> load-context-slot
0x351d9333af5a 2170 488b564f REX.W movq rdx,[rsi+0x4f] ;; debug: position 1019
;;; <@664,#455> tagged-to-i
0x351d9333af5e 2174 f6c201 testb rdx,0x1 ;; debug: position 1029
0x351d9333af61 2177 0f8511030000 jnz 2968 (0x351d9333b278)
0x351d9333af67 2183 48c1ea20 REX.W shrq rdx, 32
;;; <@666,#209> add-i
0x351d9333af6b 2187 83c201 addl rdx,0x1
0x351d9333af6e 2190 0f80d7030000 jo 3179 (0x351d9333b34b)
;;; <@668,#456> smi-tag
0x351d9333af74 2196 8bc2 movl rax,rdx
0x351d9333af76 2198 48c1e020 REX.W shlq rax, 32
;;; <@670,#48> constant-t
0x351d9333af7a 2202 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@672,#210> store-context-slot
0x351d9333af84 2212 4889464f REX.W movq [rsi+0x4f],rax ;; debug: position 1029
;;; <@676,#217> -------------------- B60 (unreachable/replaced) --------------------
;;; <@680,#221> -------------------- B61 --------------------
;;; <@682,#225> gap
0x351d9333af88 2216 488b8578ffffff REX.W movq rax,[rbp-0x88] ;; debug: position 968
;; debug: position 3789
;; debug: position 3782
;;; <@683,#225> goto
0x351d9333af8f 2223 e93f000000 jmp 2291 (0x351d9333afd3)
;;; <@684,#54> -------------------- B62 (unreachable/replaced) --------------------
;;; <@688,#60> -------------------- B63 --------------------
;;; <@690,#48> constant-t
0x351d9333af94 2228 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3556
;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@692,#61> load-context-slot
0x351d9333af9e 2238 488b7e6f REX.W movq rdi,[rsi+0x6f] ;; debug: position 3556
;;; <@694,#63> push-argument
0x351d9333afa2 2242 49bab941c0bdff1f0000 REX.W movq r10,0x1fffbdc041b9 ;; object: 0x1fffbdc041b9 <undefined>
0x351d9333afac 2252 4152 push r10
;;; <@696,#63> push-argument
0x351d9333afae 2254 6a00 push 0x0
;;; <@698,#48> constant-t
0x351d9333afb0 2256 48be29041218ab210000 REX.W movq rsi,0x21ab18120429 ;; debug: position 3517
;; object: 0x21ab18120429 <FixedArray[29]>
;;; <@700,#64> call-function
0x351d9333afba 2266 48bb7903941214170000 REX.W movq rbx,0x171412940379 ;; debug: position 3556
;; object: 0x171412940379 <FixedArray[18]>
0x351d9333afc4 2276 48ba0000000004000000 REX.W movq rdx,0x400000000
0x351d9333afce 2286 e8ed83ddff call 0x351d931133c0 ;; code: CALL_IC, DEFAULT
;;; <@702,#65> lazy-bailout
;;; <@706,#238> -------------------- B64 --------------------
;;; <@708,#240> return
0x351d9333afd3 2291 488be5 REX.W movq rsp,rbp ;; debug: position 1210
0x351d9333afd6 2294 5d pop rbp
0x351d9333afd7 2295 c21800 ret 0x18
0x351d9333afda 2298 660f1f440000 nop
;;; <@126,#427> -------------------- Deferred tagged-to-i --------------------
0x351d9333afe0 2304 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 4217
0x351d9333afe4 2308 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d9333afe8 2312 7529 jnz 2355 (0x351d9333b013)
0x351d9333afea 2314 f20f104307 movsd xmm0,[rbx+0x7]
0x351d9333afef 2319 f2480f2cd8 REX.W cvttsd2siq rbx,xmm0
0x351d9333aff4 2324 4883fb01 REX.W cmpq rbx,0x1
0x351d9333aff8 2328 7112 jno 2348 (0x351d9333b00c)
0x351d9333affa 2330 4883ec08 REX.W subq rsp,0x8
0x351d9333affe 2334 f20f110424 movsd [rsp],xmm0
0x351d9333b003 2339 e8b8ddf8ff call 0x351d932c8dc0 ;; code: STUB, DoubleToIStub, minor: 135364
0x351d9333b008 2344 4883c408 REX.W addq rsp,0x8
0x351d9333b00c 2348 8bdb movl rbx,rbx
0x351d9333b00e 2350 e956f8ffff jmp 393 (0x351d9333a869)
0x351d9333b013 2355 493b5da8 REX.W cmpq rbx,[r13-0x58]
0x351d9333b017 2359 7507 jnz 2368 (0x351d9333b020)
0x351d9333b019 2361 33db xorl rbx,rbx
0x351d9333b01b 2363 e949f8ffff jmp 393 (0x351d9333a869)
0x351d9333b020 2368 493b5dc0 REX.W cmpq rbx,[r13-0x40]
0x351d9333b024 2372 750a jnz 2384 (0x351d9333b030)
0x351d9333b026 2374 bb01000000 movl rbx,0x1
0x351d9333b02b 2379 e939f8ffff jmp 393 (0x351d9333a869)
0x351d9333b030 2384 493b5dc8 REX.W cmpq rbx,[r13-0x38]
0x351d9333b034 2388 0f8516030000 jnz 3184 (0x351d9333b350)
0x351d9333b03a 2394 33db xorl rbx,rbx
0x351d9333b03c 2396 e928f8ffff jmp 393 (0x351d9333a869)
;;; <@130,#426> -------------------- Deferred tagged-to-i --------------------
0x351d9333b041 2401 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 4200
0x351d9333b045 2405 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d9333b049 2409 0f8506030000 jnz 3189 (0x351d9333b355)
0x351d9333b04f 2415 f20f104007 movsd xmm0,[rax+0x7]
0x351d9333b054 2420 f20f2cc0 cvttsd2sil rax,xmm0
0x351d9333b058 2424 0f57c9 xorps xmm1,xmm1
0x351d9333b05b 2427 f20f2ac8 cvtsi2sd xmm1,rax
0x351d9333b05f 2431 660f2ec1 ucomisd xmm0,xmm1
0x351d9333b063 2435 0f85f1020000 jnz 3194 (0x351d9333b35a)
0x351d9333b069 2441 0f8af0020000 jpe 3199 (0x351d9333b35f)
0x351d9333b06f 2447 e907f8ffff jmp 411 (0x351d9333a87b)
;;; <@274,#436> -------------------- Deferred tagged-to-i --------------------
0x351d9333b074 2452 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 972
0x351d9333b078 2456 4c3953ff REX.W cmpq [rbx-0x1],r10
0x351d9333b07c 2460 7529 jnz 2503 (0x351d9333b0a7)
0x351d9333b07e 2462 f20f104307 movsd xmm0,[rbx+0x7]
0x351d9333b083 2467 f2480f2cd8 REX.W cvttsd2siq rbx,xmm0
0x351d9333b088 2472 4883fb01 REX.W cmpq rbx,0x1
0x351d9333b08c 2476 7112 jno 2496 (0x351d9333b0a0)
0x351d9333b08e 2478 4883ec08 REX.W subq rsp,0x8
0x351d9333b092 2482 f20f110424 movsd [rsp],xmm0
0x351d9333b097 2487 e824ddf8ff call 0x351d932c8dc0 ;; code: STUB, DoubleToIStub, minor: 135364
0x351d9333b09c 2492 4883c408 REX.W addq rsp,0x8
0x351d9333b0a0 2496 8bdb movl rbx,rbx
0x351d9333b0a2 2498 e9d3f9ffff jmp 922 (0x351d9333aa7a)
0x351d9333b0a7 2503 493b5da8 REX.W cmpq rbx,[r13-0x58]
0x351d9333b0ab 2507 7507 jnz 2516 (0x351d9333b0b4)
0x351d9333b0ad 2509 33db xorl rbx,rbx
0x351d9333b0af 2511 e9c6f9ffff jmp 922 (0x351d9333aa7a)
0x351d9333b0b4 2516 493b5dc0 REX.W cmpq rbx,[r13-0x40]
0x351d9333b0b8 2520 750a jnz 2532 (0x351d9333b0c4)
0x351d9333b0ba 2522 bb01000000 movl rbx,0x1
0x351d9333b0bf 2527 e9b6f9ffff jmp 922 (0x351d9333aa7a)
0x351d9333b0c4 2532 493b5dc8 REX.W cmpq rbx,[r13-0x38]
0x351d9333b0c8 2536 0f8596020000 jnz 3204 (0x351d9333b364)
0x351d9333b0ce 2542 33db xorl rbx,rbx
0x351d9333b0d0 2544 e9a5f9ffff jmp 922 (0x351d9333aa7a)
;;; <@306,#439> -------------------- Deferred tagged-to-i --------------------
0x351d9333b0d5 2549 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 1029
0x351d9333b0d9 2553 4c3951ff REX.W cmpq [rcx-0x1],r10
0x351d9333b0dd 2557 0f8586020000 jnz 3209 (0x351d9333b369)
0x351d9333b0e3 2563 f20f104107 movsd xmm0,[rcx+0x7]
0x351d9333b0e8 2568 f20f2cc8 cvttsd2sil rcx,xmm0
0x351d9333b0ec 2572 0f57c9 xorps xmm1,xmm1
0x351d9333b0ef 2575 f20f2ac9 cvtsi2sd xmm1,rcx
0x351d9333b0f3 2579 660f2ec1 ucomisd xmm0,xmm1
0x351d9333b0f7 2583 0f8571020000 jnz 3214 (0x351d9333b36e)
0x351d9333b0fd 2589 0f8a70020000 jpe 3219 (0x351d9333b373)
0x351d9333b103 2595 e9b2f9ffff jmp 986 (0x351d9333aaba)
;;; <@366,#423> -------------------- Deferred tagged-to-i --------------------
0x351d9333b108 2600 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 1167
0x351d9333b10c 2604 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d9333b110 2608 0f8562020000 jnz 3224 (0x351d9333b378)
0x351d9333b116 2614 f20f104007 movsd xmm0,[rax+0x7]
0x351d9333b11b 2619 f20f2cc0 cvttsd2sil rax,xmm0
0x351d9333b11f 2623 0f57c9 xorps xmm1,xmm1
0x351d9333b122 2626 f20f2ac8 cvtsi2sd xmm1,rax
0x351d9333b126 2630 660f2ec1 ucomisd xmm0,xmm1
0x351d9333b12a 2634 0f854d020000 jnz 3229 (0x351d9333b37d)
0x351d9333b130 2640 0f8a4c020000 jpe 3234 (0x351d9333b382)
0x351d9333b136 2646 85c0 testl rax,rax
0x351d9333b138 2648 0f851cfaffff jnz 1146 (0x351d9333ab5a)
0x351d9333b13e 2654 660f50c0 movmskpd rax,xmm0
0x351d9333b142 2658 83e001 andl rax,0x1
0x351d9333b145 2661 0f853c020000 jnz 3239 (0x351d9333b387)
0x351d9333b14b 2667 e90afaffff jmp 1146 (0x351d9333ab5a)
;;; <@424,#443> -------------------- Deferred tagged-to-i --------------------
0x351d9333b150 2672 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 3597
0x351d9333b154 2676 4c3956ff REX.W cmpq [rsi-0x1],r10
0x351d9333b158 2680 7529 jnz 2723 (0x351d9333b183)
0x351d9333b15a 2682 f20f104607 movsd xmm0,[rsi+0x7]
0x351d9333b15f 2687 f2480f2cf0 REX.W cvttsd2siq rsi,xmm0
0x351d9333b164 2692 4883fe01 REX.W cmpq rsi,0x1
0x351d9333b168 2696 7112 jno 2716 (0x351d9333b17c)
0x351d9333b16a 2698 4883ec08 REX.W subq rsp,0x8
0x351d9333b16e 2702 f20f110424 movsd [rsp],xmm0
0x351d9333b173 2707 e8e8f3ffff call 0x351d9333a560 ;; code: STUB, DoubleToIStub, minor: 135556
0x351d9333b178 2712 4883c408 REX.W addq rsp,0x8
0x351d9333b17c 2716 8bf6 movl rsi,rsi
0x351d9333b17e 2718 e96afaffff jmp 1293 (0x351d9333abed)
0x351d9333b183 2723 493b75a8 REX.W cmpq rsi,[r13-0x58]
0x351d9333b187 2727 7507 jnz 2736 (0x351d9333b190)
0x351d9333b189 2729 33f6 xorl rsi,rsi
0x351d9333b18b 2731 e95dfaffff jmp 1293 (0x351d9333abed)
0x351d9333b190 2736 493b75c0 REX.W cmpq rsi,[r13-0x40]
0x351d9333b194 2740 750a jnz 2752 (0x351d9333b1a0)
0x351d9333b196 2742 be01000000 movl rsi,0x1
0x351d9333b19b 2747 e94dfaffff jmp 1293 (0x351d9333abed)
0x351d9333b1a0 2752 493b75c8 REX.W cmpq rsi,[r13-0x38]
0x351d9333b1a4 2756 0f85e2010000 jnz 3244 (0x351d9333b38c)
0x351d9333b1aa 2762 33f6 xorl rsi,rsi
0x351d9333b1ac 2764 e93cfaffff jmp 1293 (0x351d9333abed)
;;; <@560,#448> -------------------- Deferred tagged-to-i --------------------
0x351d9333b1b1 2769 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 3717
0x351d9333b1b5 2773 4c3952ff REX.W cmpq [rdx-0x1],r10
0x351d9333b1b9 2777 0f85d2010000 jnz 3249 (0x351d9333b391)
0x351d9333b1bf 2783 f20f104207 movsd xmm0,[rdx+0x7]
0x351d9333b1c4 2788 f20f2cd0 cvttsd2sil rdx,xmm0
0x351d9333b1c8 2792 0f57c9 xorps xmm1,xmm1
0x351d9333b1cb 2795 f20f2aca cvtsi2sd xmm1,rdx
0x351d9333b1cf 2799 660f2ec1 ucomisd xmm0,xmm1
0x351d9333b1d3 2803 0f85bd010000 jnz 3254 (0x351d9333b396)
0x351d9333b1d9 2809 0f8abc010000 jpe 3259 (0x351d9333b39b)
0x351d9333b1df 2815 e93dfcffff jmp 1857 (0x351d9333ae21)
;;; <@612,#450> -------------------- Deferred tagged-to-i --------------------
0x351d9333b1e4 2820 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 3741
0x351d9333b1e8 2824 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d9333b1ec 2828 0f85ae010000 jnz 3264 (0x351d9333b3a0)
0x351d9333b1f2 2834 f20f104007 movsd xmm0,[rax+0x7]
0x351d9333b1f7 2839 f20f2cc0 cvttsd2sil rax,xmm0
0x351d9333b1fb 2843 0f57c9 xorps xmm1,xmm1
0x351d9333b1fe 2846 f20f2ac8 cvtsi2sd xmm1,rax
0x351d9333b202 2850 660f2ec1 ucomisd xmm0,xmm1
0x351d9333b206 2854 0f8599010000 jnz 3269 (0x351d9333b3a5)
0x351d9333b20c 2860 0f8a98010000 jpe 3274 (0x351d9333b3aa)
0x351d9333b212 2866 e9bcfcffff jmp 2035 (0x351d9333aed3)
;;; <@632,#452> -------------------- Deferred tagged-to-i --------------------
0x351d9333b217 2871 4d8b5500 REX.W movq r10,[r13+0x0] ;; debug: position 972
0x351d9333b21b 2875 4c3950ff REX.W cmpq [rax-0x1],r10
0x351d9333b21f 2879 7529 jnz 2922 (0x351d9333b24a)
0x351d9333b221 2881 f20f104007 movsd xmm0,[rax+0x7]
0x351d9333b226 2886 f2480f2cc0 REX.W cvttsd2siq rax,xmm0
0x351d9333b22b 2891 4883f801 REX.W cmpq rax,0x1
0x351d9333b22f 2895 7112 jno 2915 (0x351d9333b243)
0x351d9333b231 2897 4883ec08 REX.W subq rsp,0x8
0x351d9333b235 2901 f20f110424 movsd [rsp],xmm0
0x351d9333b23a 2906 e8e1f3ffff call 0x351d9333a620 ;; code: STUB, DoubleToIStub, minor: 135172
0x351d9333b23f 2911 4883c408 REX.W addq rsp,0x8
0x351d9333b243 2915 8bc0 movl rax,rax
0x351d9333b245 2917 e9e1fcffff jmp 2123 (0x351d9333af2b)
0x351d9333b24a 2922 493b45a8 REX.W cmpq rax,[r13-0x58]
0x351d9333b24e 2926 7507 jnz 2935 (0x351d9333b257
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