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

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

Issue 1127383008: Fix CompilerStats info (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 7 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 | Annotate | Revision Log
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 "vm/isolate.h" 5 #include "vm/isolate.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "platform/json.h" 9 #include "platform/json.h"
10 #include "vm/code_observers.h" 10 #include "vm/code_observers.h"
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 stack_overflow_flags_(0), 587 stack_overflow_flags_(0),
588 stack_overflow_count_(0), 588 stack_overflow_count_(0),
589 message_handler_(NULL), 589 message_handler_(NULL),
590 spawn_state_(NULL), 590 spawn_state_(NULL),
591 is_runnable_(false), 591 is_runnable_(false),
592 gc_prologue_callback_(NULL), 592 gc_prologue_callback_(NULL),
593 gc_epilogue_callback_(NULL), 593 gc_epilogue_callback_(NULL),
594 defer_finalization_count_(0), 594 defer_finalization_count_(0),
595 deopt_context_(NULL), 595 deopt_context_(NULL),
596 edge_counter_increment_size_(-1), 596 edge_counter_increment_size_(-1),
597 compiler_stats_(NULL),
597 is_service_isolate_(false), 598 is_service_isolate_(false),
598 log_(new class Log()), 599 log_(new class Log()),
599 stacktrace_(NULL), 600 stacktrace_(NULL),
600 stack_frame_index_(-1), 601 stack_frame_index_(-1),
601 last_allocationprofile_accumulator_reset_timestamp_(0), 602 last_allocationprofile_accumulator_reset_timestamp_(0),
602 last_allocationprofile_gc_timestamp_(0), 603 last_allocationprofile_gc_timestamp_(0),
603 object_id_ring_(NULL), 604 object_id_ring_(NULL),
604 trace_buffer_(NULL), 605 trace_buffer_(NULL),
605 profiler_data_(NULL), 606 profiler_data_(NULL),
606 thread_state_(NULL), 607 thread_state_(NULL),
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 #endif 698 #endif
698 delete mutex_; 699 delete mutex_;
699 mutex_ = NULL; // Fail fast if interrupts are scheduled on a dead isolate. 700 mutex_ = NULL; // Fail fast if interrupts are scheduled on a dead isolate.
700 delete message_handler_; 701 delete message_handler_;
701 message_handler_ = NULL; // Fail fast if we send messages to a dead isolate. 702 message_handler_ = NULL; // Fail fast if we send messages to a dead isolate.
702 ASSERT(deopt_context_ == NULL); // No deopt in progress when isolate deleted. 703 ASSERT(deopt_context_ == NULL); // No deopt in progress when isolate deleted.
703 delete spawn_state_; 704 delete spawn_state_;
704 delete log_; 705 delete log_;
705 log_ = NULL; 706 log_ = NULL;
706 delete pause_loop_monitor_; 707 delete pause_loop_monitor_;
707 pause_loop_monitor_ = NULL; 708 pause_loop_monitor_ = NULL;
siva 2015/05/12 17:39:52 free compiler_stats_ here?
hausner 2015/05/12 21:52:16 Done.
708 } 709 }
709 710
710 711
711 #if defined(DEBUG) 712 #if defined(DEBUG)
712 bool Isolate::IsIsolateOf(Thread* thread) { 713 bool Isolate::IsIsolateOf(Thread* thread) {
713 return this == thread->isolate(); 714 return this == thread->isolate();
714 } 715 }
715 #endif // DEBUG 716 #endif // DEBUG
716 717
717 718
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 result->BuildName(name_prefix); 771 result->BuildName(name_prefix);
771 result->debugger_ = new Debugger(); 772 result->debugger_ = new Debugger();
772 result->debugger_->Initialize(result); 773 result->debugger_->Initialize(result);
773 if (FLAG_trace_isolates) { 774 if (FLAG_trace_isolates) {
774 if (name_prefix == NULL || strcmp(name_prefix, "vm-isolate") != 0) { 775 if (name_prefix == NULL || strcmp(name_prefix, "vm-isolate") != 0) {
775 OS::Print("[+] Starting isolate:\n" 776 OS::Print("[+] Starting isolate:\n"
776 "\tisolate: %s\n", result->name()); 777 "\tisolate: %s\n", result->name());
777 } 778 }
778 } 779 }
779 780
781 result->compiler_stats_ = new CompilerStats(result);
siva 2015/05/12 17:39:52 Should this be done conditionally under FLAG_compi
hausner 2015/05/12 21:52:16 Yes.
782
780 // Add to isolate list. 783 // Add to isolate list.
781 AddIsolateTolist(result); 784 AddIsolateTolist(result);
782 785
783 return result; 786 return result;
784 } 787 }
785 788
786 789
787 void Isolate::InitializeStackLimit() { 790 void Isolate::InitializeStackLimit() {
788 SetStackLimitFromStackBase(Isolate::GetCurrentStackPointer()); 791 SetStackLimitFromStackBase(Isolate::GetCurrentStackPointer());
789 } 792 }
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after
1424 timer_list_.ReportTimers(); 1427 timer_list_.ReportTimers();
1425 1428
1426 // Write out the coverage data if collection has been enabled. 1429 // Write out the coverage data if collection has been enabled.
1427 CodeCoverage::Write(this); 1430 CodeCoverage::Write(this);
1428 1431
1429 // Finalize any weak persistent handles with a non-null referent. 1432 // Finalize any weak persistent handles with a non-null referent.
1430 FinalizeWeakPersistentHandlesVisitor visitor; 1433 FinalizeWeakPersistentHandlesVisitor visitor;
1431 api_state()->weak_persistent_handles().VisitHandles(&visitor); 1434 api_state()->weak_persistent_handles().VisitHandles(&visitor);
1432 api_state()->prologue_weak_persistent_handles().VisitHandles(&visitor); 1435 api_state()->prologue_weak_persistent_handles().VisitHandles(&visitor);
1433 1436
1434 CompilerStats::Print(); 1437 compiler_stats()->Print();
1435 if (FLAG_trace_isolates) { 1438 if (FLAG_trace_isolates) {
1436 heap()->PrintSizes(); 1439 heap()->PrintSizes();
1437 megamorphic_cache_table()->PrintSizes(); 1440 megamorphic_cache_table()->PrintSizes();
1438 Symbols::DumpStats(); 1441 Symbols::DumpStats();
1439 OS::Print("[-] Stopping isolate:\n" 1442 OS::Print("[-] Stopping isolate:\n"
1440 "\tisolate: %s\n", name()); 1443 "\tisolate: %s\n", name());
1441 } 1444 }
1442 } 1445 }
1443 1446
1444 // TODO(5411455): For now just make sure there are no current isolates 1447 // TODO(5411455): For now just make sure there are no current isolates
(...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after
2020 serialized_message_, serialized_message_len_); 2023 serialized_message_, serialized_message_len_);
2021 } 2024 }
2022 2025
2023 2026
2024 void IsolateSpawnState::Cleanup() { 2027 void IsolateSpawnState::Cleanup() {
2025 SwitchIsolateScope switch_scope(I); 2028 SwitchIsolateScope switch_scope(I);
2026 Dart::ShutdownIsolate(); 2029 Dart::ShutdownIsolate();
2027 } 2030 }
2028 2031
2029 } // namespace dart 2032 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698