Last active
September 7, 2015 21:21
-
-
Save evanlucas/8cc1f1dd40e831495b1b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| start | |
| Process 10116 stopped | |
| * thread #1: tid = 0x680998, 0x00000001006ac2e6 node`node::ProcessWrap::ParseStdioOptions(node::Environment*, v8::Local<v8::Object>, uv_process_options_s*) [inlined] node::Environment::isolate_data(this=0x0000000101803000) const at env-inl.h:374, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2 | |
| frame #0: 0x00000001006ac2e6 node`node::ProcessWrap::ParseStdioOptions(node::Environment*, v8::Local<v8::Object>, uv_process_options_s*) [inlined] node::Environment::isolate_data(this=0x0000000101803000) const at env-inl.h:374 | |
| 371 } | |
| 372 | |
| 373 inline Environment::IsolateData* Environment::isolate_data() const { | |
| -> 374 return isolate_data_; | |
| 375 } | |
| 376 | |
| 377 // this would have been a template function were it not for the fact that g++ | |
| (lldb) b v8::Value::IntegerValue | |
| Breakpoint 2: 2 locations. | |
| (lldb) disas | |
| node`node::ProcessWrap::ParseStdioOptions: | |
| 0x1006ac2c8 <+0>: pushq %rbp | |
| 0x1006ac2c9 <+1>: movq %rsp, %rbp | |
| 0x1006ac2cc <+4>: pushq %r15 | |
| 0x1006ac2ce <+6>: pushq %r14 | |
| 0x1006ac2d0 <+8>: pushq %r13 | |
| 0x1006ac2d2 <+10>: pushq %r12 | |
| 0x1006ac2d4 <+12>: pushq %rbx | |
| 0x1006ac2d5 <+13>: subq $0x38, %rsp | |
| 0x1006ac2d9 <+17>: movq %rdx, %r14 | |
| 0x1006ac2dc <+20>: movq %r14, -0x58(%rbp) | |
| 0x1006ac2e0 <+24>: movq %rsi, %r15 | |
| 0x1006ac2e3 <+27>: movq %rdi, %rbx | |
| -> 0x1006ac2e6 <+30>: movq 0x8(%rbx), %rax | |
| 0x1006ac2ea <+34>: movq 0x8(%rax), %rdi | |
| 0x1006ac2ee <+38>: movl 0x26c(%rax), %esi | |
| 0x1006ac2f4 <+44>: callq 0x1001500b0 ; v8::V8::GetEternal at api.cc:625 | |
| 0x1006ac2f9 <+49>: movq %r15, %rdi | |
| 0x1006ac2fc <+52>: movq %rax, %rsi | |
| 0x1006ac2ff <+55>: callq 0x100160d90 ; v8::Object::Get at api.cc:3608 | |
| 0x1006ac304 <+60>: movq %rax, -0x48(%rbp) | |
| 0x1006ac308 <+64>: movq %rax, %rdi | |
| 0x1006ac30b <+67>: callq 0x10016ad50 ; v8::Array::Length at api.cc:6129 | |
| 0x1006ac310 <+72>: movl %eax, %r15d | |
| 0x1006ac313 <+75>: movl %r15d, -0x4c(%rbp) | |
| 0x1006ac317 <+79>: movl %r15d, %edi | |
| 0x1006ac31a <+82>: shlq $0x4, %rdi | |
| 0x1006ac31e <+86>: callq 0x1006fb752 ; symbol stub for: operator new[](unsigned long) | |
| 0x1006ac323 <+91>: movq %rax, 0x30(%r14) | |
| 0x1006ac327 <+95>: movl %r15d, 0x2c(%r14) | |
| 0x1006ac32b <+99>: testl %r15d, %r15d | |
| 0x1006ac32e <+102>: je 0x1006ac562 ; <+666> at process_wrap.cc:106 | |
| 0x1006ac334 <+108>: xorl %r14d, %r14d | |
| 0x1006ac337 <+111>: xorl %r13d, %r13d | |
| 0x1006ac33a <+114>: movq -0x48(%rbp), %rdi | |
| 0x1006ac33e <+118>: movl %r13d, %esi | |
| 0x1006ac341 <+121>: callq 0x100161110 ; v8::Object::Get at api.cc:3625 | |
| 0x1006ac346 <+126>: movq %rax, %r15 | |
| 0x1006ac349 <+129>: movq 0x8(%rbx), %rax | |
| 0x1006ac34d <+133>: movq 0x8(%rax), %rdi | |
| 0x1006ac351 <+137>: movl 0x2b0(%rax), %esi | |
| 0x1006ac357 <+143>: callq 0x1001500b0 ; v8::V8::GetEternal at api.cc:625 | |
| 0x1006ac35c <+148>: movq %r15, %rdi | |
| 0x1006ac35f <+151>: movq %rax, %rsi | |
| 0x1006ac362 <+154>: callq 0x100160d90 ; v8::Object::Get at api.cc:3608 | |
| 0x1006ac367 <+159>: movq %rax, %r12 | |
| 0x1006ac36a <+162>: movq 0x8(%rbx), %rax | |
| 0x1006ac36e <+166>: movq 0x8(%rax), %rdi | |
| 0x1006ac372 <+170>: movl 0x100(%rax), %esi | |
| 0x1006ac378 <+176>: callq 0x1001500b0 ; v8::V8::GetEternal at api.cc:625 | |
| 0x1006ac37d <+181>: movq %r12, %rdi | |
| 0x1006ac380 <+184>: movq %rax, %rsi | |
| 0x1006ac383 <+187>: callq 0x10015f500 ; v8::Value::Equals at api.cc:3384 | |
| 0x1006ac388 <+192>: testb %al, %al | |
| 0x1006ac38a <+194>: je 0x1006ac3a1 ; <+217> [inlined] node::Environment::isolate_data() const at env-inl.h:480 | |
| 0x1006ac38c <+196>: movq -0x58(%rbp), %rax | |
| 0x1006ac390 <+200>: movq 0x30(%rax), %rax | |
| 0x1006ac394 <+204>: movl $0x0, (%rax,%r14) | |
| 0x1006ac39c <+212>: jmp 0x1006ac551 ; <+649> at process_wrap.cc:77 | |
| 0x1006ac3a1 <+217>: movq 0x8(%rbx), %rax | |
| 0x1006ac3a5 <+221>: movq 0x8(%rax), %rdi | |
| 0x1006ac3a9 <+225>: movl 0x1f0(%rax), %esi | |
| 0x1006ac3af <+231>: callq 0x1001500b0 ; v8::V8::GetEternal at api.cc:625 | |
| 0x1006ac3b4 <+236>: movq %r12, %rdi | |
| 0x1006ac3b7 <+239>: movq %rax, %rsi | |
| 0x1006ac3ba <+242>: callq 0x10015f500 ; v8::Value::Equals at api.cc:3384 | |
| 0x1006ac3bf <+247>: testb %al, %al | |
| 0x1006ac3c1 <+249>: je 0x1006ac411 ; <+329> [inlined] node::Environment::isolate_data() const at env-inl.h:480 | |
| 0x1006ac3c3 <+251>: movq -0x58(%rbp), %r12 | |
| 0x1006ac3c7 <+255>: movq 0x30(%r12), %rax | |
| 0x1006ac3cc <+260>: movl $0x31, (%rax,%r14) | |
| 0x1006ac3d4 <+268>: movq 0x8(%rbx), %rax | |
| 0x1006ac3d8 <+272>: movq 0x8(%rax), %rdi | |
| 0x1006ac3dc <+276>: movl 0xf0(%rax), %esi | |
| 0x1006ac3e2 <+282>: callq 0x1001500b0 ; v8::V8::GetEternal at api.cc:625 | |
| 0x1006ac3e7 <+287>: movq %r15, %rdi | |
| 0x1006ac3ea <+290>: movq %rax, %rsi | |
| 0x1006ac3ed <+293>: callq 0x100160d90 ; v8::Object::Get at api.cc:3608 | |
| 0x1006ac3f2 <+298>: movq %rax, %rdi | |
| 0x1006ac3f5 <+301>: callq 0x1006fadbc ; symbol stub for: node::PipeWrap* node::Unwrap<node::PipeWrap>(v8::Local<v8::Object>) | |
| 0x1006ac3fa <+306>: movq %rax, %rdi | |
| 0x1006ac3fd <+309>: callq 0x10069eb3c ; node::PipeWrap::UVHandle at pipe_wrap.cc:55 | |
| 0x1006ac402 <+314>: movq 0x30(%r12), %rcx | |
| 0x1006ac407 <+319>: movq %rax, 0x8(%rcx,%r14) | |
| 0x1006ac40c <+324>: jmp 0x1006ac551 ; <+649> at process_wrap.cc:77 | |
| 0x1006ac411 <+329>: movq 0x8(%rbx), %rax | |
| 0x1006ac415 <+333>: movq 0x8(%rax), %rdi | |
| 0x1006ac419 <+337>: movl 0x2dc(%rax), %esi | |
| 0x1006ac41f <+343>: callq 0x1001500b0 ; v8::V8::GetEternal at api.cc:625 | |
| 0x1006ac424 <+348>: movq %r12, %rdi | |
| 0x1006ac427 <+351>: movq %rax, %rsi | |
| 0x1006ac42a <+354>: callq 0x10015f500 ; v8::Value::Equals at api.cc:3384 | |
| 0x1006ac42f <+359>: movq 0x8(%rbx), %rcx | |
| 0x1006ac433 <+363>: movq 0x8(%rcx), %rdi | |
| 0x1006ac437 <+367>: testb %al, %al | |
| 0x1006ac439 <+369>: je 0x1006ac48d ; <+453> [inlined] v8::Eternal<v8::String>::Get(v8::Isolate*) at env-inl.h:473 | |
| 0x1006ac43b <+371>: movl 0xf0(%rcx), %esi | |
| 0x1006ac441 <+377>: callq 0x1001500b0 ; v8::V8::GetEternal at api.cc:625 | |
| 0x1006ac446 <+382>: movq %r15, %rdi | |
| 0x1006ac449 <+385>: movq %rax, %rsi | |
| 0x1006ac44c <+388>: callq 0x100160d90 ; v8::Object::Get at api.cc:3608 | |
| 0x1006ac451 <+393>: movq %rax, %r15 | |
| 0x1006ac454 <+396>: movq (%rbx), %rsi | |
| 0x1006ac457 <+399>: leaq -0x40(%rbp), %rdi | |
| 0x1006ac45b <+403>: callq 0x10014f520 ; v8::HandleScope::HandleScope at api.cc:651 | |
| 0x1006ac460 <+408>: movq 0x8d0(%rbx), %rdi | |
| 0x1006ac467 <+415>: testq %rdi, %rdi | |
| 0x1006ac46a <+418>: je 0x1006ac4c9 ; <+513> [inlined] v8::Local<v8::FunctionTemplate> node::StrongPersistentToLocal<v8::FunctionTemplate>(v8::Persistent<v8::FunctionTemplate, v8::NonCopyablePersistentTraits<v8::FunctionTemplate> > const&) at env-inl.h:490 | |
| 0x1006ac46c <+420>: movq %r15, %rsi | |
| 0x1006ac46f <+423>: callq 0x100168e70 ; v8::FunctionTemplate::HasInstance at api.cc:5625 | |
| 0x1006ac474 <+428>: testb %al, %al | |
| 0x1006ac476 <+430>: je 0x1006ac4c9 ; <+513> [inlined] v8::Local<v8::FunctionTemplate> node::StrongPersistentToLocal<v8::FunctionTemplate>(v8::Persistent<v8::FunctionTemplate, v8::NonCopyablePersistentTraits<v8::FunctionTemplate> > const&) at env-inl.h:490 | |
| 0x1006ac478 <+432>: movq %r15, %rdi | |
| 0x1006ac47b <+435>: callq 0x1006fadb6 ; symbol stub for: node::TCPWrap* node::Unwrap<node::TCPWrap>(v8::Local<v8::Object>) | |
| 0x1006ac480 <+440>: movq %rax, %rdi | |
| 0x1006ac483 <+443>: callq 0x1006a9840 ; node::TCPWrap::UVHandle at tcp_wrap.cc:124 | |
| 0x1006ac488 <+448>: jmp 0x1006ac527 ; <+607> [inlined] node::HandleToStream(node::Environment*, v8::Local<v8::Object>) + 94 at process_wrap.cc:94 | |
| 0x1006ac48d <+453>: movl 0xd8(%rcx), %esi | |
| 0x1006ac493 <+459>: callq 0x1001500b0 ; v8::V8::GetEternal at api.cc:625 | |
| 0x1006ac498 <+464>: movq %r15, %rdi | |
| 0x1006ac49b <+467>: movq %rax, %rsi | |
| 0x1006ac49e <+470>: callq 0x100160d90 ; v8::Object::Get at api.cc:3608 | |
| 0x1006ac4a3 <+475>: movq %rax, %rdi | |
| 0x1006ac4a6 <+478>: callq 0x10015e520 ; v8::Value::IntegerValue at api.cc:3276 | |
| 0x1006ac4ab <+483>: movq -0x58(%rbp), %rdx | |
| 0x1006ac4af <+487>: movq 0x30(%rdx), %rcx | |
| 0x1006ac4b3 <+491>: movl $0x2, (%rcx,%r14) | |
| 0x1006ac4bb <+499>: movq 0x30(%rdx), %rcx | |
| 0x1006ac4bf <+503>: movl %eax, 0x8(%rcx,%r14) | |
| 0x1006ac4c4 <+508>: jmp 0x1006ac551 ; <+649> at process_wrap.cc:77 | |
| 0x1006ac4c9 <+513>: movq 0x8f0(%rbx), %rdi | |
| 0x1006ac4d0 <+520>: testq %rdi, %rdi | |
| 0x1006ac4d3 <+523>: je 0x1006ac4f3 ; <+555> [inlined] v8::Local<v8::FunctionTemplate> node::StrongPersistentToLocal<v8::FunctionTemplate>(v8::Persistent<v8::FunctionTemplate, v8::NonCopyablePersistentTraits<v8::FunctionTemplate> > const&) at env-inl.h:490 | |
| 0x1006ac4d5 <+525>: movq %r15, %rsi | |
| 0x1006ac4d8 <+528>: callq 0x100168e70 ; v8::FunctionTemplate::HasInstance at api.cc:5625 | |
| 0x1006ac4dd <+533>: testb %al, %al | |
| 0x1006ac4df <+535>: je 0x1006ac4f3 ; <+555> [inlined] v8::Local<v8::FunctionTemplate> node::StrongPersistentToLocal<v8::FunctionTemplate>(v8::Persistent<v8::FunctionTemplate, v8::NonCopyablePersistentTraits<v8::FunctionTemplate> > const&) at env-inl.h:490 | |
| 0x1006ac4e1 <+537>: movq %r15, %rdi | |
| 0x1006ac4e4 <+540>: callq 0x1006fada4 ; symbol stub for: node::TTYWrap* node::Unwrap<node::TTYWrap>(v8::Local<v8::Object>) | |
| 0x1006ac4e9 <+545>: movq %rax, %rdi | |
| 0x1006ac4ec <+548>: callq 0x1006ab310 ; node::TTYWrap::UVHandle at tty_wrap.cc:54 | |
| 0x1006ac4f1 <+553>: jmp 0x1006ac527 ; <+607> [inlined] node::HandleToStream(node::Environment*, v8::Local<v8::Object>) + 94 at process_wrap.cc:94 | |
| 0x1006ac4f3 <+555>: movq 0x8a0(%rbx), %rdi | |
| 0x1006ac4fa <+562>: testq %rdi, %rdi | |
| 0x1006ac4fd <+565>: movl $0x0, %r12d | |
| 0x1006ac503 <+571>: je 0x1006ac52a ; <+610> [inlined] node::HandleToStream(node::Environment*, v8::Local<v8::Object>) + 97 at process_wrap.cc:94 | |
| 0x1006ac505 <+573>: movq %r15, %rsi | |
| 0x1006ac508 <+576>: callq 0x100168e70 ; v8::FunctionTemplate::HasInstance at api.cc:5625 | |
| 0x1006ac50d <+581>: testb %al, %al | |
| 0x1006ac50f <+583>: movl $0x0, %r12d | |
| 0x1006ac515 <+589>: je 0x1006ac52a ; <+610> [inlined] node::HandleToStream(node::Environment*, v8::Local<v8::Object>) + 97 at process_wrap.cc:94 | |
| 0x1006ac517 <+591>: movq %r15, %rdi | |
| 0x1006ac51a <+594>: callq 0x1006fadbc ; symbol stub for: node::PipeWrap* node::Unwrap<node::PipeWrap>(v8::Local<v8::Object>) | |
| 0x1006ac51f <+599>: movq %rax, %rdi | |
| 0x1006ac522 <+602>: callq 0x10069eb3c ; node::PipeWrap::UVHandle at pipe_wrap.cc:55 | |
| 0x1006ac527 <+607>: movq %rax, %r12 | |
| 0x1006ac52a <+610>: leaq -0x40(%rbp), %rdi | |
| 0x1006ac52e <+614>: callq 0x10014fab0 ; v8::HandleScope::~HandleScope at api.cc:677 | |
| 0x1006ac533 <+619>: testq %r12, %r12 | |
| 0x1006ac536 <+622>: je 0x1006ac571 ; <+681> at process_wrap.cc:95 | |
| 0x1006ac538 <+624>: movq -0x58(%rbp), %rcx | |
| 0x1006ac53c <+628>: movq 0x30(%rcx), %rax | |
| 0x1006ac540 <+632>: movl $0x4, (%rax,%r14) | |
| 0x1006ac548 <+640>: movq 0x30(%rcx), %rax | |
| 0x1006ac54c <+644>: movq %r12, 0x8(%rax,%r14) | |
| 0x1006ac551 <+649>: incl %r13d | |
| 0x1006ac554 <+652>: addq $0x10, %r14 | |
| 0x1006ac558 <+656>: cmpl -0x4c(%rbp), %r13d | |
| 0x1006ac55c <+660>: jb 0x1006ac33a ; <+114> at process_wrap.cc:78 | |
| 0x1006ac562 <+666>: addq $0x38, %rsp | |
| 0x1006ac566 <+670>: popq %rbx | |
| 0x1006ac567 <+671>: popq %r12 | |
| 0x1006ac569 <+673>: popq %r13 | |
| 0x1006ac56b <+675>: popq %r14 | |
| 0x1006ac56d <+677>: popq %r15 | |
| 0x1006ac56f <+679>: popq %rbp | |
| 0x1006ac570 <+680>: retq | |
| 0x1006ac571 <+681>: leaq 0xb0270(%rip), %rdi ; "ParseStdioOptions" | |
| 0x1006ac578 <+688>: leaq 0xb01e1(%rip), %rsi ; "../src/process_wrap.cc" | |
| 0x1006ac57f <+695>: leaq 0xae747(%rip), %rcx ; "(stream) != (nullptr)" | |
| 0x1006ac586 <+702>: movl $0x5f, %edx | |
| 0x1006ac58b <+707>: callq 0x1006fafb4 ; symbol stub for: __assert_rtn | |
| (lldb) c | |
| Process 10116 resuming | |
| Process 10116 stopped | |
| * thread #1: tid = 0x680998, 0x000000010015e52d node`v8::Value::IntegerValue() const [inlined] v8::internal::Handle<v8::internal::Object>::operator*() const at handles-inl.h:44, queue = 'com.apple.main-thread', stop reason = breakpoint 2.2 | |
| frame #0: 0x000000010015e52d node`v8::Value::IntegerValue() const [inlined] v8::internal::Handle<v8::internal::Object>::operator*() const at handles-inl.h:44 | |
| 41 template <typename T> | |
| 42 inline T* Handle<T>::operator*() const { | |
| 43 SLOW_DCHECK(IsDereferenceAllowed(INCLUDE_DEFERRED_CHECK)); | |
| -> 44 return *bit_cast<T**>(location_); | |
| 45 } | |
| 46 | |
| 47 template <typename T> | |
| (lldb) c | |
| Process 10116 resuming | |
| Process 10116 stopped | |
| * thread #1: tid = 0x680998, 0x000000010015e377 node`v8::Value::IntegerValue(v8::Local<v8::Context>) const [inlined] v8::internal::Handle<v8::internal::Object>::operator*() const at handles-inl.h:44, queue = 'com.apple.main-thread', stop reason = breakpoint 2.1 | |
| frame #0: 0x000000010015e377 node`v8::Value::IntegerValue(v8::Local<v8::Context>) const [inlined] v8::internal::Handle<v8::internal::Object>::operator*() const at handles-inl.h:44 | |
| 41 template <typename T> | |
| 42 inline T* Handle<T>::operator*() const { | |
| 43 SLOW_DCHECK(IsDereferenceAllowed(INCLUDE_DEFERRED_CHECK)); | |
| -> 44 return *bit_cast<T**>(location_); | |
| 45 } | |
| 46 | |
| 47 template <typename T> | |
| (lldb) disas | |
| node`v8::Value::IntegerValue: | |
| 0x10015e360 <+0>: pushq %rbp | |
| 0x10015e361 <+1>: movq %rsp, %rbp | |
| 0x10015e364 <+4>: pushq %r15 | |
| 0x10015e366 <+6>: pushq %r14 | |
| 0x10015e368 <+8>: pushq %r13 | |
| 0x10015e36a <+10>: pushq %r12 | |
| 0x10015e36c <+12>: pushq %rbx | |
| 0x10015e36d <+13>: subq $0x18, %rsp | |
| 0x10015e371 <+17>: movq %rsi, %r14 | |
| 0x10015e374 <+20>: movq %rdi, %r15 | |
| -> 0x10015e377 <+23>: movq (%r15), %rax | |
| 0x10015e37a <+26>: testb $0x1, %al | |
| 0x10015e37c <+28>: je 0x10015e4f7 ; <+407> [inlined] v8::internal::Handle<v8::internal::Object>::operator*() const at handles.h:124 | |
| 0x10015e382 <+34>: movq %rax, %rcx | |
| 0x10015e385 <+37>: andq $0x3, %rcx | |
| 0x10015e389 <+41>: cmpq $0x1, %rcx | |
| 0x10015e38d <+45>: jne 0x10015e3a2 ; <+66> at api.cc:3266 | |
| 0x10015e38f <+47>: movq -0x1(%rax), %rax | |
| 0x10015e393 <+51>: movzbl 0xb(%rax), %eax | |
| 0x10015e397 <+55>: cmpl $0x84, %eax | |
| 0x10015e39c <+60>: je 0x10015e4f7 ; <+407> [inlined] v8::internal::Handle<v8::internal::Object>::operator*() const at handles.h:124 | |
| 0x10015e3a2 <+66>: testq %r14, %r14 | |
| 0x10015e3a5 <+69>: je 0x10015e3bb ; <+91> [inlined] v8::internal::Isolate::Current() at api.cc:3266 | |
| 0x10015e3a7 <+71>: movq $-0x100000, %rax | |
| 0x10015e3ae <+78>: andq (%r14), %rax | |
| 0x10015e3b1 <+81>: movq 0x38(%rax), %rbx | |
| 0x10015e3b5 <+85>: addq $-0x20, %rbx | |
| 0x10015e3b9 <+89>: jmp 0x10015e3d4 ; <+116> [inlined] v8::internal::Isolate::has_scheduled_exception() at api.cc:299 | |
| 0x10015e3bb <+91>: leaq 0x947336(%rip), %rax ; v8::internal::Isolate::isolate_key_ | |
| 0x10015e3c2 <+98>: movslq (%rax), %rax | |
| 0x10015e3c5 <+101>: leaq 0x947574(%rip), %rcx ; v8::base::kMacTlsBaseOffset | |
| 0x10015e3cc <+108>: movq (%rcx), %rcx | |
| 0x10015e3cf <+111>: movq %gs:(%rcx,%rax,8), %rbx | |
| 0x10015e3d4 <+116>: movq 0x6ae8(%rbx), %rax | |
| 0x10015e3db <+123>: cmpq 0x68(%rbx), %rax | |
| 0x10015e3df <+127>: je 0x10015e3ee ; <+142> [inlined] v8::internal::HandleScope::HandleScope(v8::internal::Isolate*) at handles-inl.h:91 | |
| 0x10015e3e1 <+129>: cmpq 0x150(%rbx), %rax | |
| 0x10015e3e8 <+136>: je 0x10015e4f3 ; <+403> at handles-inl.h:124 | |
| 0x10015e3ee <+142>: movq 0x6b78(%rbx), %rax | |
| 0x10015e3f5 <+149>: movq %rax, -0x38(%rbp) | |
| 0x10015e3f9 <+153>: movq 0x6b80(%rbx), %rax | |
| 0x10015e400 <+160>: movq %rax, -0x30(%rbp) | |
| 0x10015e404 <+164>: incl 0x6b88(%rbx) | |
| 0x10015e40a <+170>: movq 0x6b90(%rbx), %rax | |
| 0x10015e411 <+177>: incl 0x40(%rax) | |
| 0x10015e414 <+180>: testq %r14, %r14 | |
| 0x10015e417 <+183>: je 0x10015e421 ; <+193> [inlined] v8::internal::Isolate::logger() at api.cc:3266 | |
| 0x10015e419 <+185>: movq %r14, %rdi | |
| 0x10015e41c <+188>: callq 0x100150650 ; v8::Context::Enter at api.cc:742 | |
| 0x10015e421 <+193>: movq 0x6a28(%rbx), %rdi | |
| 0x10015e428 <+200>: cmpb $0x0, 0x20(%rdi) | |
| 0x10015e42c <+204>: je 0x10015e43a ; <+218> [inlined] v8::internal::Isolate::current_vm_state() const at vm-state-inl.h:41 | |
| 0x10015e42e <+206>: leaq 0x5c1a90(%rip), %rsi ; "IntegerValue" | |
| 0x10015e435 <+213>: callq 0x100474e00 ; v8::internal::Logger::ApiEntryCall at log.cc:1060 | |
| 0x10015e43a <+218>: movl 0x6b30(%rbx), %r12d | |
| 0x10015e441 <+225>: movl $0x3, 0x6b30(%rbx) | |
| 0x10015e44b <+235>: movq %rbx, %rdi | |
| 0x10015e44e <+238>: movq %r15, %rsi | |
| 0x10015e451 <+241>: callq 0x1002edd80 ; v8::internal::Execution::ToInteger at execution.cc:559 | |
| 0x10015e456 <+246>: movq %rax, %r15 | |
| 0x10015e459 <+249>: xorl %r13d, %r13d | |
| 0x10015e45c <+252>: testq %r15, %r15 | |
| 0x10015e45f <+255>: movl $0x0, %eax | |
| 0x10015e464 <+260>: jne 0x10015e483 ; <+291> at api.cc:173 | |
| 0x10015e466 <+262>: movq 0x6b90(%rbx), %rax | |
| 0x10015e46d <+269>: decl 0x40(%rax) | |
| 0x10015e470 <+272>: sete %al | |
| 0x10015e473 <+275>: movzbl %al, %esi | |
| 0x10015e476 <+278>: movq %rbx, %rdi | |
| 0x10015e479 <+281>: callq 0x100443530 ; v8::internal::Isolate::OptionalRescheduleException at isolate.cc:1513 | |
| 0x10015e47e <+286>: movb $0x1, %r13b | |
| 0x10015e481 <+289>: movb $0x1, %al | |
| 0x10015e483 <+291>: movl %eax, -0x3c(%rbp) | |
| 0x10015e486 <+294>: testq %r14, %r14 | |
| 0x10015e489 <+297>: movl %r12d, 0x6b30(%rbx) | |
| 0x10015e490 <+304>: je 0x10015e49a ; <+314> [inlined] v8::(anonymous namespace)::CallDepthScope::~CallDepthScope() + 8 at api.cc:161 | |
| 0x10015e492 <+306>: movq %r14, %rdi | |
| 0x10015e495 <+309>: callq 0x1001507a0 ; v8::Context::Exit at api.cc:753 | |
| 0x10015e49a <+314>: testb %r13b, %r13b | |
| 0x10015e49d <+317>: jne 0x10015e4a9 ; <+329> [inlined] void std::swap<v8::internal::Object**>(v8::internal::Object**&, v8::internal::Object**&) at handles-inl.h:116 | |
| 0x10015e49f <+319>: movq 0x6b90(%rbx), %rax | |
| 0x10015e4a6 <+326>: decl 0x40(%rax) | |
| 0x10015e4a9 <+329>: movq 0x6b78(%rbx), %rsi | |
| 0x10015e4b0 <+336>: movq -0x38(%rbp), %rdi | |
| 0x10015e4b4 <+340>: movq %rdi, 0x6b78(%rbx) | |
| 0x10015e4bb <+347>: decl 0x6b88(%rbx) | |
| 0x10015e4c1 <+353>: movq -0x30(%rbp), %r14 | |
| 0x10015e4c5 <+357>: cmpq %r14, 0x6b80(%rbx) | |
| 0x10015e4cc <+364>: je 0x10015e4e7 ; <+391> [inlined] v8::internal::HandleScope::CloseScope(v8::internal::Isolate*, v8::internal::Object**, v8::internal::Object**) + 62 at handles-inl.h:104 | |
| 0x10015e4ce <+366>: movq %r14, 0x6b80(%rbx) | |
| 0x10015e4d5 <+373>: movq %rbx, %rdi | |
| 0x10015e4d8 <+376>: callq 0x100318090 ; v8::internal::HandleScope::DeleteExtensions at handles.cc:60 | |
| 0x10015e4dd <+381>: movq 0x6b78(%rbx), %rdi | |
| 0x10015e4e4 <+388>: movq %r14, %rsi | |
| 0x10015e4e7 <+391>: callq 0x100318150 ; v8::internal::HandleScope::ZapRange at handles.cc:67 | |
| 0x10015e4ec <+396>: movl -0x3c(%rbp), %eax | |
| 0x10015e4ef <+399>: testb %al, %al | |
| 0x10015e4f1 <+401>: je 0x10015e4f7 ; <+407> [inlined] v8::internal::Handle<v8::internal::Object>::operator*() const at handles.h:124 | |
| 0x10015e4f3 <+403>: xorl %eax, %eax | |
| 0x10015e4f5 <+405>: jmp 0x10015e50d ; <+429> at api.cc:3273 | |
| 0x10015e4f7 <+407>: movq (%r15), %rdx | |
| 0x10015e4fa <+410>: testb $0x1, %dl | |
| 0x10015e4fd <+413>: je 0x10015e507 ; <+423> at api.cc:3271 | |
| 0x10015e4ff <+415>: cvttsd2si 0x7(%rdx), %rdx | |
| 0x10015e505 <+421>: jmp 0x10015e50b ; <+427> at api.cc:3271 | |
| 0x10015e507 <+423>: sarq $0x20, %rdx | |
| 0x10015e50b <+427>: movb $0x1, %al | |
| 0x10015e50d <+429>: addq $0x18, %rsp | |
| 0x10015e511 <+433>: popq %rbx | |
| 0x10015e512 <+434>: popq %r12 | |
| 0x10015e514 <+436>: popq %r13 | |
| 0x10015e516 <+438>: popq %r14 | |
| 0x10015e518 <+440>: popq %r15 | |
| 0x10015e51a <+442>: popq %rbp | |
| 0x10015e51b <+443>: retq | |
| 0x10015e51c <+444>: nopl (%rax) | |
| (lldb) b * 0x10015e4ff | |
| Breakpoint 3: no locations (pending). | |
| WARNING: Unable to resolve breakpoint to any actual locations. | |
| (lldb) b *0x10015e4ff | |
| Breakpoint 4: where = node`v8::Value::IntegerValue(v8::Local<v8::Context>) const + 415 at api.cc:3272, address = 0x000000010015e4ff | |
| (lldb) c | |
| Process 10116 resuming | |
| Process 10116 stopped | |
| * thread #1: tid = 0x680998, 0x000000010015e4ff node`v8::Value::IntegerValue(this=<unavailable>, context=<unavailable>) const + 415 at api.cc:3272, queue = 'com.apple.main-thread', stop reason = breakpoint 4.1 | |
| frame #0: 0x000000010015e4ff node`v8::Value::IntegerValue(this=<unavailable>, context=<unavailable>) const + 415 at api.cc:3272 | |
| 3269 RETURN_ON_FAILED_EXECUTION_PRIMITIVE(int64_t); | |
| 3270 } | |
| 3271 return Just(num->IsSmi() ? static_cast<int64_t>(i::Smi::cast(*num)->value()) | |
| -> 3272 : static_cast<int64_t>(num->Number())); | |
| 3273 } | |
| 3274 | |
| 3275 | |
| (lldb) reg r | |
| General Purpose Registers: | |
| rax = 0x0000000000000000 | |
| rbx = 0x0000000101804c00 | |
| rcx = 0x0000000000000003 | |
| rdx = 0x1baddead0baddeaf | |
| rdi = 0x00000001018474a0 | |
| rsi = 0x1baddead0baddeaf | |
| rbp = 0x00007fff5fbfe3c0 | |
| rsp = 0x00007fff5fbfe380 | |
| r8 = 0x000000000000005b | |
| r9 = 0x0000000000000000 | |
| r10 = 0x000000010180b700 | |
| r11 = 0x00000f89050d2020 | |
| r12 = 0x0000000000000004 | |
| r13 = 0x0000000000000000 | |
| r14 = 0x0000000101848ff0 | |
| r15 = 0x0000000101847498 | |
| rip = 0x000000010015e4ff node`v8::Value::IntegerValue(v8::Local<v8::Context>) const + 415 at api.cc:3272 | |
| rflags = 0x0000000000000202 | |
| cs = 0x000000000000002b | |
| fs = 0x0000000000000000 | |
| gs = 0x0000000000000000 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment