Skip to content

Instantly share code, notes, and snippets.

@evanlucas
Last active September 7, 2015 21:21
Show Gist options
  • Select an option

  • Save evanlucas/8cc1f1dd40e831495b1b to your computer and use it in GitHub Desktop.

Select an option

Save evanlucas/8cc1f1dd40e831495b1b to your computer and use it in GitHub Desktop.
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