| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 "vm/profiler_service.h" | 5 #include "vm/profiler_service.h" |
| 6 | 6 |
| 7 #include "vm/growable_array.h" | 7 #include "vm/growable_array.h" |
| 8 #include "vm/hash_map.h" | 8 #include "vm/hash_map.h" |
| 9 #include "vm/log.h" | 9 #include "vm/log.h" |
| 10 #include "vm/native_symbol.h" | 10 #include "vm/native_symbol.h" |
| (...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 639 ProfileFunction* function = NULL; | 639 ProfileFunction* function = NULL; |
| 640 if ((kind() == kReusedCode) || (kind() == kCollectedCode)) { | 640 if ((kind() == kReusedCode) || (kind() == kCollectedCode)) { |
| 641 if (name() == NULL) { | 641 if (name() == NULL) { |
| 642 // Lazily set generated name. | 642 // Lazily set generated name. |
| 643 GenerateAndSetSymbolName("[Collected]"); | 643 GenerateAndSetSymbolName("[Collected]"); |
| 644 } | 644 } |
| 645 // Map these to a canonical unknown function. | 645 // Map these to a canonical unknown function. |
| 646 function = table->GetUnknown(); | 646 function = table->GetUnknown(); |
| 647 } else if (kind() == kDartCode) { | 647 } else if (kind() == kDartCode) { |
| 648 ASSERT(!code_.IsNull()); | 648 ASSERT(!code_.IsNull()); |
| 649 const String& name = String::Handle(code_.QualifiedName()); | 649 const char* name = code_.QualifiedName(); |
| 650 const Object& obj = Object::Handle(code_.owner()); | 650 const Object& obj = Object::Handle(code_.owner()); |
| 651 if (obj.IsFunction()) { | 651 if (obj.IsFunction()) { |
| 652 function = table->LookupOrAdd(Function::Cast(obj)); | 652 function = table->LookupOrAdd(Function::Cast(obj)); |
| 653 } else { | 653 } else { |
| 654 // A stub. | 654 // A stub. |
| 655 function = table->AddStub(start(), name.ToCString()); | 655 function = table->AddStub(start(), name); |
| 656 } | 656 } |
| 657 SetName(name.ToCString()); | 657 SetName(name); |
| 658 } else if (kind() == kNativeCode) { | 658 } else if (kind() == kNativeCode) { |
| 659 if (name() == NULL) { | 659 if (name() == NULL) { |
| 660 // Lazily set generated name. | 660 // Lazily set generated name. |
| 661 GenerateAndSetSymbolName("[Native]"); | 661 GenerateAndSetSymbolName("[Native]"); |
| 662 } | 662 } |
| 663 function = table->AddNative(start(), name()); | 663 function = table->AddNative(start(), name()); |
| 664 } else if (kind() == kTagCode) { | 664 } else if (kind() == kTagCode) { |
| 665 if (name() == NULL) { | 665 if (name() == NULL) { |
| 666 if (UserTags::IsUserTag(start())) { | 666 if (UserTags::IsUserTag(start())) { |
| 667 const char* tag_name = UserTags::TagName(start()); | 667 const char* tag_name = UserTags::TagName(start()); |
| (...skipping 2231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2899 // Disable thread interrupts while processing the buffer. | 2899 // Disable thread interrupts while processing the buffer. |
| 2900 DisableThreadInterruptsScope dtis(thread); | 2900 DisableThreadInterruptsScope dtis(thread); |
| 2901 | 2901 |
| 2902 ClearProfileVisitor clear_profile(isolate); | 2902 ClearProfileVisitor clear_profile(isolate); |
| 2903 sample_buffer->VisitSamples(&clear_profile); | 2903 sample_buffer->VisitSamples(&clear_profile); |
| 2904 } | 2904 } |
| 2905 | 2905 |
| 2906 #endif // !PRODUCT | 2906 #endif // !PRODUCT |
| 2907 | 2907 |
| 2908 } // namespace dart | 2908 } // namespace dart |
| OLD | NEW |