| Index: runtime/vm/disassembler_ia32.cc
|
| diff --git a/runtime/vm/disassembler_ia32.cc b/runtime/vm/disassembler_ia32.cc
|
| index 1a6877ff77f66a8489ae3f653c6f8eaa1b0e2d8d..eca4dd4aaddef30683ed07ef817f061c363e4968 100644
|
| --- a/runtime/vm/disassembler_ia32.cc
|
| +++ b/runtime/vm/disassembler_ia32.cc
|
| @@ -485,7 +485,6 @@ static const char* ObjectToCStringNoGC(const Object& obj) {
|
|
|
|
|
| void X86Decoder::PrintAddress(uword addr) {
|
| - NoGCScope no_gc;
|
| char addr_buffer[32];
|
| OS::SNPrint(addr_buffer, sizeof(addr_buffer), "%#" Px "", addr);
|
| Print(addr_buffer);
|
| @@ -494,6 +493,7 @@ void X86Decoder::PrintAddress(uword addr) {
|
| reinterpret_cast<RawObject*>(addr)->IsOldObject() &&
|
| !Isolate::Current()->heap()->CodeContains(addr) &&
|
| Disassembler::CanFindOldObject(addr)) {
|
| + NoGCScope no_gc;
|
| const Object& obj = Object::Handle(reinterpret_cast<RawObject*>(addr));
|
| if (obj.IsArray()) {
|
| const Array& arr = Array::Cast(obj);
|
| @@ -526,15 +526,11 @@ void X86Decoder::PrintAddress(uword addr) {
|
| // Print only if jumping to entry point.
|
| const Code& code = Code::Handle(Code::LookupCode(addr));
|
| if (!code.IsNull() && (code.EntryPoint() == addr)) {
|
| - const Function& function = Function::Handle(code.function());
|
| - if (function.IsNull()) {
|
| - Print(" [ stub ]");
|
| - } else {
|
| - const char* name_of_function = function.ToFullyQualifiedCString();
|
| - Print(" [");
|
| - Print(name_of_function);
|
| - Print("]");
|
| - }
|
| + const String& name = String::Handle(code.UserName());
|
| + const char* name_c = name.ToCString();
|
| + Print(" [");
|
| + Print(name_c);
|
| + Print("]");
|
| }
|
| }
|
| }
|
|
|