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

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

Issue 1402383003: Simplify timeline backend (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 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/vm/isolate.h ('k') | runtime/vm/thread.h » ('j') | 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 "vm/isolate.h" 5 #include "vm/isolate.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 #include "include/dart_native_api.h" 8 #include "include/dart_native_api.h"
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "platform/json.h" 10 #include "platform/json.h"
(...skipping 1598 matching lines...) Expand 10 before | Expand all | Expand 10 after
1609 debugger()->Shutdown(); 1609 debugger()->Shutdown();
1610 1610
1611 // Close all the ports owned by this isolate. 1611 // Close all the ports owned by this isolate.
1612 PortMap::ClosePorts(message_handler()); 1612 PortMap::ClosePorts(message_handler());
1613 1613
1614 // Fail fast if anybody tries to post any more messsages to this isolate. 1614 // Fail fast if anybody tries to post any more messsages to this isolate.
1615 delete message_handler(); 1615 delete message_handler();
1616 set_message_handler(NULL); 1616 set_message_handler(NULL);
1617 1617
1618 // Before analyzing the isolate's timeline blocks- reclaim all cached blocks. 1618 // Before analyzing the isolate's timeline blocks- reclaim all cached blocks.
1619 ReclaimTimelineBlocks(); 1619 Timeline::ReclaimCachedBlocksFromThreads();
1620 1620
1621 // Dump all timing data for the isolate. 1621 // Dump all timing data for the isolate.
1622 if (FLAG_timing) { 1622 if (FLAG_timing) {
1623 TimelinePauseTrace tpt; 1623 TimelinePauseTrace tpt;
1624 tpt.Print(); 1624 tpt.Print();
1625 } 1625 }
1626 1626
1627 // Finalize any weak persistent handles with a non-null referent. 1627 // Finalize any weak persistent handles with a non-null referent.
1628 FinalizeWeakPersistentHandlesVisitor visitor; 1628 FinalizeWeakPersistentHandlesVisitor visitor;
1629 api_state()->weak_persistent_handles().VisitHandles(&visitor); 1629 api_state()->weak_persistent_handles().VisitHandles(&visitor);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
1711 1711
1712 // TODO(5411455): For now just make sure there are no current isolates 1712 // TODO(5411455): For now just make sure there are no current isolates
1713 // as we are shutting down the isolate. 1713 // as we are shutting down the isolate.
1714 Thread::ExitIsolate(); 1714 Thread::ExitIsolate();
1715 // All threads should have exited by now. 1715 // All threads should have exited by now.
1716 thread_registry()->CheckNotScheduled(this); 1716 thread_registry()->CheckNotScheduled(this);
1717 Profiler::ShutdownProfilingForIsolate(this); 1717 Profiler::ShutdownProfilingForIsolate(this);
1718 } 1718 }
1719 1719
1720 1720
1721 void Isolate::ReclaimTimelineBlocks() {
1722 TimelineEventRecorder* recorder = Timeline::recorder();
1723 if (recorder == NULL) {
1724 return;
1725 }
1726 thread_registry_->ReclaimTimelineBlocks();
1727 }
1728
1729
1730 Dart_IsolateCreateCallback Isolate::create_callback_ = NULL; 1721 Dart_IsolateCreateCallback Isolate::create_callback_ = NULL;
1731 Dart_IsolateInterruptCallback Isolate::interrupt_callback_ = NULL; 1722 Dart_IsolateInterruptCallback Isolate::interrupt_callback_ = NULL;
1732 Dart_IsolateUnhandledExceptionCallback 1723 Dart_IsolateUnhandledExceptionCallback
1733 Isolate::unhandled_exception_callback_ = NULL; 1724 Isolate::unhandled_exception_callback_ = NULL;
1734 Dart_IsolateShutdownCallback Isolate::shutdown_callback_ = NULL; 1725 Dart_IsolateShutdownCallback Isolate::shutdown_callback_ = NULL;
1735 Dart_FileOpenCallback Isolate::file_open_callback_ = NULL; 1726 Dart_FileOpenCallback Isolate::file_open_callback_ = NULL;
1736 Dart_FileReadCallback Isolate::file_read_callback_ = NULL; 1727 Dart_FileReadCallback Isolate::file_read_callback_ = NULL;
1737 Dart_FileWriteCallback Isolate::file_write_callback_ = NULL; 1728 Dart_FileWriteCallback Isolate::file_write_callback_ = NULL;
1738 Dart_FileCloseCallback Isolate::file_close_callback_ = NULL; 1729 Dart_FileCloseCallback Isolate::file_close_callback_ = NULL;
1739 Dart_EntropySource Isolate::entropy_source_callback_ = NULL; 1730 Dart_EntropySource Isolate::entropy_source_callback_ = NULL;
(...skipping 872 matching lines...) Expand 10 before | Expand all | Expand 10 after
2612 serialized_message_, serialized_message_len_); 2603 serialized_message_, serialized_message_len_);
2613 } 2604 }
2614 2605
2615 2606
2616 void IsolateSpawnState::Cleanup() { 2607 void IsolateSpawnState::Cleanup() {
2617 SwitchIsolateScope switch_scope(I); 2608 SwitchIsolateScope switch_scope(I);
2618 Dart::ShutdownIsolate(); 2609 Dart::ShutdownIsolate();
2619 } 2610 }
2620 2611
2621 } // namespace dart 2612 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/isolate.h ('k') | runtime/vm/thread.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698