| Index: src/heap/spaces.cc
|
| diff --git a/src/heap/spaces.cc b/src/heap/spaces.cc
|
| index 17d2a70144b271c767270d2c87dbef185dec6042..1b0441b87fff3dc7bd69d2c47019f0e8e41ac951 100644
|
| --- a/src/heap/spaces.cc
|
| +++ b/src/heap/spaces.cc
|
| @@ -9,11 +9,13 @@
|
| #include "src/base/bits.h"
|
| #include "src/base/platform/platform.h"
|
| #include "src/base/platform/semaphore.h"
|
| +#include "src/frames.h"
|
| #include "src/full-codegen/full-codegen.h"
|
| #include "src/heap/array-buffer-tracker.h"
|
| #include "src/heap/slot-set.h"
|
| #include "src/macro-assembler.h"
|
| #include "src/msan.h"
|
| +#include "src/objects.h"
|
| #include "src/snapshot/snapshot.h"
|
| #include "src/v8.h"
|
|
|
| @@ -1177,6 +1179,29 @@ PagedSpace::PagedSpace(Heap* heap, AllocationSpace space,
|
| allocation_info_.Reset(nullptr, nullptr);
|
| }
|
|
|
| +void PagedSpace::PrintStackFramesAndDie() {
|
| + StackFrameIterator it(heap()->isolate());
|
| + for (int i = 0; !it.done(); it.Advance(), i++) {
|
| + if (it.frame()->is_java_script()) {
|
| + PrintF(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n");
|
| + JavaScriptFrame* frame = static_cast<JavaScriptFrame*>(it.frame());
|
| + PrintF("Frame %d: pc = %p\n", i, reinterpret_cast<void*>(frame->pc()));
|
| + Code* code = frame->unchecked_code();
|
| + if (code && code->IsCode()) {
|
| + if (code->is_turbofanned()) {
|
| + PrintF("[turbofaned]\n");
|
| + } else if (code->is_crankshafted()) {
|
| + PrintF("[crankshafted]\n");
|
| + }
|
| + code->Print();
|
| + } else {
|
| + PrintF("unknown code!\n");
|
| + }
|
| + PrintF("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n");
|
| + }
|
| + }
|
| + CHECK(false);
|
| +}
|
|
|
| bool PagedSpace::SetUp() { return true; }
|
|
|
|
|