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

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

Issue 1242343002: Remove more uses of Isolate::current_zone. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 5 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 | « no previous file | runtime/vm/dart_api_state.h » ('j') | runtime/vm/parser.h » ('J')
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 "include/dart_api.h" 5 #include "include/dart_api.h"
6 #include "include/dart_mirrors_api.h" 6 #include "include/dart_mirrors_api.h"
7 #include "include/dart_native_api.h" 7 #include "include/dart_native_api.h"
8 8
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "vm/class_finalizer.h" 10 #include "vm/class_finalizer.h"
(...skipping 1755 matching lines...) Expand 10 before | Expand all | Expand 10 after
1766 DART_EXPORT Dart_Port Dart_GetMainPortId() { 1766 DART_EXPORT Dart_Port Dart_GetMainPortId() {
1767 Isolate* isolate = Isolate::Current(); 1767 Isolate* isolate = Isolate::Current();
1768 CHECK_ISOLATE(isolate); 1768 CHECK_ISOLATE(isolate);
1769 return isolate->main_port(); 1769 return isolate->main_port();
1770 } 1770 }
1771 1771
1772 1772
1773 // --- Scopes ---- 1773 // --- Scopes ----
1774 1774
1775 DART_EXPORT void Dart_EnterScope() { 1775 DART_EXPORT void Dart_EnterScope() {
1776 Isolate* isolate = Isolate::Current(); 1776 Thread* thread = Thread::Current();
1777 Isolate* isolate = thread->isolate();
1777 CHECK_ISOLATE(isolate); 1778 CHECK_ISOLATE(isolate);
1778 ApiState* state = isolate->api_state(); 1779 ApiState* state = isolate->api_state();
1779 ASSERT(state != NULL); 1780 ASSERT(state != NULL);
1780 ApiLocalScope* new_scope = state->reusable_scope(); 1781 ApiLocalScope* new_scope = state->reusable_scope();
1781 if (new_scope == NULL) { 1782 if (new_scope == NULL) {
1782 new_scope = new ApiLocalScope(state->top_scope(), 1783 new_scope = new ApiLocalScope(state->top_scope(),
1783 isolate->top_exit_frame_info()); 1784 thread->top_exit_frame_info());
1784 ASSERT(new_scope != NULL); 1785 ASSERT(new_scope != NULL);
1785 } else { 1786 } else {
1786 new_scope->Reinit(isolate, 1787 new_scope->Reinit(thread,
1787 state->top_scope(), 1788 state->top_scope(),
1788 isolate->top_exit_frame_info()); 1789 thread->top_exit_frame_info());
1789 state->set_reusable_scope(NULL); 1790 state->set_reusable_scope(NULL);
1790 } 1791 }
1791 state->set_top_scope(new_scope); // New scope is now the top scope. 1792 state->set_top_scope(new_scope); // New scope is now the top scope.
1792 } 1793 }
1793 1794
1794 1795
1795 DART_EXPORT void Dart_ExitScope() { 1796 DART_EXPORT void Dart_ExitScope() {
1796 Isolate* isolate = Isolate::Current(); 1797 Thread* thread = Thread::Current();
1798 Isolate* isolate = thread->isolate();
1797 CHECK_ISOLATE_SCOPE(isolate); 1799 CHECK_ISOLATE_SCOPE(isolate);
1798 ApiState* state = isolate->api_state(); 1800 ApiState* state = isolate->api_state();
1799 ApiLocalScope* scope = state->top_scope(); 1801 ApiLocalScope* scope = state->top_scope();
1800 ApiLocalScope* reusable_scope = state->reusable_scope(); 1802 ApiLocalScope* reusable_scope = state->reusable_scope();
1801 state->set_top_scope(scope->previous()); // Reset top scope to previous. 1803 state->set_top_scope(scope->previous()); // Reset top scope to previous.
1802 if (reusable_scope == NULL) { 1804 if (reusable_scope == NULL) {
1803 scope->Reset(isolate); // Reset the old scope which we just exited. 1805 scope->Reset(thread); // Reset the old scope which we just exited.
1804 state->set_reusable_scope(scope); 1806 state->set_reusable_scope(scope);
1805 } else { 1807 } else {
1806 ASSERT(reusable_scope != scope); 1808 ASSERT(reusable_scope != scope);
1807 delete scope; 1809 delete scope;
1808 } 1810 }
1809 } 1811 }
1810 1812
1811 1813
1812 DART_EXPORT uint8_t* Dart_ScopeAllocate(intptr_t size) { 1814 DART_EXPORT uint8_t* Dart_ScopeAllocate(intptr_t size) {
1813 Zone* zone; 1815 Zone* zone;
(...skipping 4039 matching lines...) Expand 10 before | Expand all | Expand 10 after
5853 ASSERT(stream != NULL); 5855 ASSERT(stream != NULL);
5854 TimelineEvent* event = stream->StartEvent(); 5856 TimelineEvent* event = stream->StartEvent();
5855 if (event != NULL) { 5857 if (event != NULL) {
5856 event->AsyncEnd(label, async_id); 5858 event->AsyncEnd(label, async_id);
5857 event->Complete(); 5859 event->Complete();
5858 } 5860 }
5859 return Api::Success(); 5861 return Api::Success();
5860 } 5862 }
5861 5863
5862 } // namespace dart 5864 } // namespace dart
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/dart_api_state.h » ('j') | runtime/vm/parser.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698