| Index: src/isolate.cc
|
| diff --git a/src/isolate.cc b/src/isolate.cc
|
| index ff94105834004077bb8406dad939f42d83e8d6c7..b548fb3870e25c46aee565353770d6a44b2512e0 100644
|
| --- a/src/isolate.cc
|
| +++ b/src/isolate.cc
|
| @@ -667,14 +667,14 @@ Handle<JSArray> Isolate::CaptureCurrentStackTrace(
|
| }
|
|
|
|
|
| -void Isolate::PrintStack(FILE* out) {
|
| +void Isolate::PrintStack(FILE* out, PrintStackMode mode) {
|
| if (stack_trace_nesting_level_ == 0) {
|
| stack_trace_nesting_level_++;
|
| StringStream::ClearMentionedObjectCache(this);
|
| HeapStringAllocator allocator;
|
| StringStream accumulator(&allocator);
|
| incomplete_message_ = &accumulator;
|
| - PrintStack(&accumulator);
|
| + PrintStack(&accumulator, mode);
|
| accumulator.OutputToFile(out);
|
| InitializeLoggingAndCounters();
|
| accumulator.Log(this);
|
| @@ -701,7 +701,7 @@ static void PrintFrames(Isolate* isolate,
|
| }
|
|
|
|
|
| -void Isolate::PrintStack(StringStream* accumulator) {
|
| +void Isolate::PrintStack(StringStream* accumulator, PrintStackMode mode) {
|
| // The MentionedObjectCache is not GC-proof at the moment.
|
| DisallowHeapAllocation no_gc;
|
| DCHECK(StringStream::IsMentionedObjectCacheClear(this));
|
| @@ -712,12 +712,12 @@ void Isolate::PrintStack(StringStream* accumulator) {
|
| accumulator->Add(
|
| "\n==== JS stack trace =========================================\n\n");
|
| PrintFrames(this, accumulator, StackFrame::OVERVIEW);
|
| -
|
| - accumulator->Add(
|
| - "\n==== Details ================================================\n\n");
|
| - PrintFrames(this, accumulator, StackFrame::DETAILS);
|
| -
|
| - accumulator->PrintMentionedObjectCache(this);
|
| + if (mode == kPrintStackVerbose) {
|
| + accumulator->Add(
|
| + "\n==== Details ================================================\n\n");
|
| + PrintFrames(this, accumulator, StackFrame::DETAILS);
|
| + accumulator->PrintMentionedObjectCache(this);
|
| + }
|
| accumulator->Add("=====================\n\n");
|
| }
|
|
|
|
|