@@ -334,29 +334,14 @@ static void DumpStackFrame(intptr_t frame_index, uword pc) {
334
334
uintptr_t start = 0 ;
335
335
char * native_symbol_name =
336
336
NativeSymbolResolver::LookupSymbolName (pc, &start);
337
- if (native_symbol_name != NULL ) {
338
- OS::PrintErr (" %" Pp " [native] %s\n " , pc, native_symbol_name);
337
+ if (native_symbol_name == NULL ) {
338
+ OS::PrintErr (" Frame[%" Pd " ] = `unknown symbol` [0x%" Px " ]\n " ,
339
+ frame_index, pc);
340
+ } else {
341
+ OS::PrintErr (" Frame[%" Pd " ] = `%s` [0x%" Px " ]\n " ,
342
+ frame_index, native_symbol_name, pc);
339
343
NativeSymbolResolver::FreeSymbolName (native_symbol_name);
340
- return ;
341
- }
342
-
343
- Code& code = Code::Handle (Code::LookupCodeInVmIsolate (pc));
344
- if (code.IsNull ()) {
345
- code = Code::LookupCode (pc); // In current isolate.
346
- }
347
- if (code.IsNull ()) {
348
- OS::PrintErr (" %" Pp " [unknown]\n " , pc);
349
- return ;
350
- }
351
-
352
- const Object& owner = Object::Handle (code.owner ());
353
- if (owner.IsFunction ()) {
354
- OS::PrintErr (" %" Pp " [dart] %s\n " , pc,
355
- Function::Cast (owner).ToFullyQualifiedCString ());
356
- return ;
357
344
}
358
-
359
- OS::PrintErr (" %" Pp " [stub] %s\n " , pc, code.ToCString ());
360
345
}
361
346
362
347
@@ -365,17 +350,10 @@ static void DumpStackFrame(intptr_t frame_index,
365
350
const Code& code) {
366
351
if (code.IsNull ()) {
367
352
DumpStackFrame (frame_index, pc);
368
- return ;
369
- }
370
-
371
- const Object& owner = Object::Handle (code.owner ());
372
- if (owner.IsFunction ()) {
373
- OS::PrintErr (" %" Pp " [dart] %s\n " , pc,
374
- Function::Cast (owner).ToFullyQualifiedCString ());
375
- return ;
353
+ } else {
354
+ OS::PrintErr (" Frame[%" Pd " ] = Dart:`%s` [0x%" Px " ]\n " ,
355
+ frame_index, code.ToCString (), pc);
376
356
}
377
-
378
- OS::PrintErr (" %" Pp " [stub] %s\n " , pc, code.ToCString ());
379
357
}
380
358
381
359
0 commit comments