Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Side by Side Diff: runtime/vm/profiler.cc

Issue 2199453002: Attempt to print the stack using the profiler upon assertion failure. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/platform/assert.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "platform/address_sanitizer.h" 5 #include "platform/address_sanitizer.h"
6 #include "platform/memory_sanitizer.h" 6 #include "platform/memory_sanitizer.h"
7 #include "platform/utils.h" 7 #include "platform/utils.h"
8 8
9 #include "vm/allocation.h" 9 #include "vm/allocation.h"
10 #include "vm/atomic.h" 10 #include "vm/atomic.h"
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 static void DumpStackFrame(intptr_t frame_index, uword pc) { 333 static void DumpStackFrame(intptr_t frame_index, uword pc) {
334 uintptr_t start = 0; 334 uintptr_t start = 0;
335 char* native_symbol_name = 335 char* native_symbol_name =
336 NativeSymbolResolver::LookupSymbolName(pc, &start); 336 NativeSymbolResolver::LookupSymbolName(pc, &start);
337 if (native_symbol_name == NULL) { 337 if (native_symbol_name == NULL) {
338 OS::Print("Frame[%" Pd "] = `unknown symbol` [0x%" Px "]\n", 338 OS::Print("Frame[%" Pd "] = `unknown symbol` [0x%" Px "]\n",
339 frame_index, pc); 339 frame_index, pc);
340 } else { 340 } else {
341 OS::Print("Frame[%" Pd "] = `%s` [0x%" Px "]\n", 341 OS::Print("Frame[%" Pd "] = `%s` [0x%" Px "]\n",
342 frame_index, native_symbol_name, pc); 342 frame_index, native_symbol_name, pc);
343 free(native_symbol_name); 343 NativeSymbolResolver::FreeSymbolName(native_symbol_name);
344 } 344 }
345 } 345 }
346 346
347 347
348 static void DumpStackFrame(intptr_t frame_index, 348 static void DumpStackFrame(intptr_t frame_index,
349 uword pc, 349 uword pc,
350 const Code& code) { 350 const Code& code) {
351 if (code.IsNull()) { 351 if (code.IsNull()) {
352 DumpStackFrame(frame_index, pc); 352 DumpStackFrame(frame_index, pc);
353 } else { 353 } else {
(...skipping 1225 matching lines...) Expand 10 before | Expand all | Expand 10 after
1579 1579
1580 1580
1581 ProcessedSampleBuffer::ProcessedSampleBuffer() 1581 ProcessedSampleBuffer::ProcessedSampleBuffer()
1582 : code_lookup_table_(new CodeLookupTable(Thread::Current())) { 1582 : code_lookup_table_(new CodeLookupTable(Thread::Current())) {
1583 ASSERT(code_lookup_table_ != NULL); 1583 ASSERT(code_lookup_table_ != NULL);
1584 } 1584 }
1585 1585
1586 #endif // !PRODUCT 1586 #endif // !PRODUCT
1587 1587
1588 } // namespace dart 1588 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/platform/assert.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698