| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/frames.h" | 5 #include "src/frames.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <sstream> | 8 #include <sstream> |
| 9 | 9 |
| 10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
| (...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 ReturnAddressLocationResolver resolver) { | 399 ReturnAddressLocationResolver resolver) { |
| 400 DCHECK(return_address_location_resolver_ == NULL); | 400 DCHECK(return_address_location_resolver_ == NULL); |
| 401 return_address_location_resolver_ = resolver; | 401 return_address_location_resolver_ = resolver; |
| 402 } | 402 } |
| 403 | 403 |
| 404 static bool IsInterpreterFramePc(Isolate* isolate, Address pc) { | 404 static bool IsInterpreterFramePc(Isolate* isolate, Address pc) { |
| 405 Code* interpreter_entry_trampoline = | 405 Code* interpreter_entry_trampoline = |
| 406 isolate->builtins()->builtin(Builtins::kInterpreterEntryTrampoline); | 406 isolate->builtins()->builtin(Builtins::kInterpreterEntryTrampoline); |
| 407 Code* interpreter_bytecode_dispatch = | 407 Code* interpreter_bytecode_dispatch = |
| 408 isolate->builtins()->builtin(Builtins::kInterpreterEnterBytecodeDispatch); | 408 isolate->builtins()->builtin(Builtins::kInterpreterEnterBytecodeDispatch); |
| 409 Code* interpreter_baseline_on_return = | |
| 410 isolate->builtins()->builtin(Builtins::kInterpreterMarkBaselineOnReturn); | |
| 411 | 409 |
| 412 return (pc >= interpreter_entry_trampoline->instruction_start() && | 410 return (pc >= interpreter_entry_trampoline->instruction_start() && |
| 413 pc < interpreter_entry_trampoline->instruction_end()) || | 411 pc < interpreter_entry_trampoline->instruction_end()) || |
| 414 (pc >= interpreter_bytecode_dispatch->instruction_start() && | 412 (pc >= interpreter_bytecode_dispatch->instruction_start() && |
| 415 pc < interpreter_bytecode_dispatch->instruction_end()) || | 413 pc < interpreter_bytecode_dispatch->instruction_end()); |
| 416 (pc >= interpreter_baseline_on_return->instruction_start() && | |
| 417 pc < interpreter_baseline_on_return->instruction_end()); | |
| 418 } | 414 } |
| 419 | 415 |
| 420 StackFrame::Type StackFrame::ComputeType(const StackFrameIteratorBase* iterator, | 416 StackFrame::Type StackFrame::ComputeType(const StackFrameIteratorBase* iterator, |
| 421 State* state) { | 417 State* state) { |
| 422 DCHECK(state->fp != NULL); | 418 DCHECK(state->fp != NULL); |
| 423 | 419 |
| 424 MSAN_MEMORY_IS_INITIALIZED( | 420 MSAN_MEMORY_IS_INITIALIZED( |
| 425 state->fp + CommonFrameConstants::kContextOrFrameTypeOffset, | 421 state->fp + CommonFrameConstants::kContextOrFrameTypeOffset, |
| 426 kPointerSize); | 422 kPointerSize); |
| 427 Object* marker = Memory::Object_at( | 423 Object* marker = Memory::Object_at( |
| (...skipping 1548 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1976 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { | 1972 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { |
| 1977 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); | 1973 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); |
| 1978 list.Add(frame, zone); | 1974 list.Add(frame, zone); |
| 1979 } | 1975 } |
| 1980 return list.ToVector(); | 1976 return list.ToVector(); |
| 1981 } | 1977 } |
| 1982 | 1978 |
| 1983 | 1979 |
| 1984 } // namespace internal | 1980 } // namespace internal |
| 1985 } // namespace v8 | 1981 } // namespace v8 |
| OLD | NEW |