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

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

Issue 1154673004: Add "checked" parameter to Isolate.spawnUri. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Skip test for everything but VM for now. Created 5 years, 6 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') | sdk/lib/_internal/compiler/js_lib/isolate_patch.dart » ('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 "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 1781 matching lines...) Expand 10 before | Expand all | Expand 10 after
1792 ASSERT(!obj.IsError()); 1792 ASSERT(!obj.IsError());
1793 Instance& instance = Instance::Handle(isolate); 1793 Instance& instance = Instance::Handle(isolate);
1794 instance ^= obj.raw(); // Can't use Instance::Cast because may be null. 1794 instance ^= obj.raw(); // Can't use Instance::Cast because may be null.
1795 return instance.raw(); 1795 return instance.raw();
1796 } 1796 }
1797 1797
1798 1798
1799 IsolateSpawnState::IsolateSpawnState(Dart_Port parent_port, 1799 IsolateSpawnState::IsolateSpawnState(Dart_Port parent_port,
1800 const Function& func, 1800 const Function& func,
1801 const Instance& message, 1801 const Instance& message,
1802 bool paused) 1802 bool paused,
1803 bool checkedFlag)
1803 : isolate_(NULL), 1804 : isolate_(NULL),
1804 parent_port_(parent_port), 1805 parent_port_(parent_port),
1805 script_url_(NULL), 1806 script_url_(NULL),
1806 package_root_(NULL), 1807 package_root_(NULL),
1807 library_url_(NULL), 1808 library_url_(NULL),
1808 class_name_(NULL), 1809 class_name_(NULL),
1809 function_name_(NULL), 1810 function_name_(NULL),
1810 serialized_args_(NULL), 1811 serialized_args_(NULL),
1811 serialized_args_len_(0), 1812 serialized_args_len_(0),
1812 serialized_message_(NULL), 1813 serialized_message_(NULL),
1813 serialized_message_len_(0), 1814 serialized_message_len_(0),
1814 paused_(paused) { 1815 paused_(paused),
1816 checked_(checkedFlag) {
1815 script_url_ = NULL; 1817 script_url_ = NULL;
1816 const Class& cls = Class::Handle(func.Owner()); 1818 const Class& cls = Class::Handle(func.Owner());
1817 const Library& lib = Library::Handle(cls.library()); 1819 const Library& lib = Library::Handle(cls.library());
1818 const String& lib_url = String::Handle(lib.url()); 1820 const String& lib_url = String::Handle(lib.url());
1819 library_url_ = strdup(lib_url.ToCString()); 1821 library_url_ = strdup(lib_url.ToCString());
1820 1822
1821 const String& func_name = String::Handle(func.name()); 1823 const String& func_name = String::Handle(func.name());
1822 function_name_ = strdup(func_name.ToCString()); 1824 function_name_ = strdup(func_name.ToCString());
1823 if (!cls.IsTopLevel()) { 1825 if (!cls.IsTopLevel()) {
1824 const String& class_name = String::Handle(cls.Name()); 1826 const String& class_name = String::Handle(cls.Name());
1825 class_name_ = strdup(class_name.ToCString()); 1827 class_name_ = strdup(class_name.ToCString());
1826 } 1828 }
1827 bool can_send_any_object = true; 1829 bool can_send_any_object = true;
1828 SerializeObject(message, 1830 SerializeObject(message,
1829 &serialized_message_, 1831 &serialized_message_,
1830 &serialized_message_len_, 1832 &serialized_message_len_,
1831 can_send_any_object); 1833 can_send_any_object);
1832 } 1834 }
1833 1835
1834 1836
1835 IsolateSpawnState::IsolateSpawnState(Dart_Port parent_port, 1837 IsolateSpawnState::IsolateSpawnState(Dart_Port parent_port,
1836 const char* script_url, 1838 const char* script_url,
1837 const char* package_root, 1839 const char* package_root,
1838 const Instance& args, 1840 const Instance& args,
1839 const Instance& message, 1841 const Instance& message,
1840 bool paused) 1842 bool paused,
1843 bool checkedFlag)
1841 : isolate_(NULL), 1844 : isolate_(NULL),
1842 parent_port_(parent_port), 1845 parent_port_(parent_port),
1843 package_root_(NULL), 1846 package_root_(NULL),
1844 library_url_(NULL), 1847 library_url_(NULL),
1845 class_name_(NULL), 1848 class_name_(NULL),
1846 function_name_(NULL), 1849 function_name_(NULL),
1847 serialized_args_(NULL), 1850 serialized_args_(NULL),
1848 serialized_args_len_(0), 1851 serialized_args_len_(0),
1849 serialized_message_(NULL), 1852 serialized_message_(NULL),
1850 serialized_message_len_(0), 1853 serialized_message_len_(0),
1851 paused_(paused) { 1854 paused_(paused),
1855 checked_(checkedFlag) {
1852 script_url_ = strdup(script_url); 1856 script_url_ = strdup(script_url);
1853 if (package_root != NULL) { 1857 if (package_root != NULL) {
1854 package_root_ = strdup(package_root); 1858 package_root_ = strdup(package_root);
1855 } 1859 }
1856 library_url_ = NULL; 1860 library_url_ = NULL;
1857 function_name_ = strdup("main"); 1861 function_name_ = strdup("main");
1858 bool can_send_any_object = false; 1862 bool can_send_any_object = false;
1859 SerializeObject(args, 1863 SerializeObject(args,
1860 &serialized_args_, 1864 &serialized_args_,
1861 &serialized_args_len_, 1865 &serialized_args_len_,
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
1957 serialized_message_, serialized_message_len_); 1961 serialized_message_, serialized_message_len_);
1958 } 1962 }
1959 1963
1960 1964
1961 void IsolateSpawnState::Cleanup() { 1965 void IsolateSpawnState::Cleanup() {
1962 SwitchIsolateScope switch_scope(I); 1966 SwitchIsolateScope switch_scope(I);
1963 Dart::ShutdownIsolate(); 1967 Dart::ShutdownIsolate();
1964 } 1968 }
1965 1969
1966 } // namespace dart 1970 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/isolate.h ('k') | sdk/lib/_internal/compiler/js_lib/isolate_patch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698