| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 "platform/assert.h" | 5 #include "platform/assert.h" |
| 6 #include "vm/bootstrap_natives.h" | 6 #include "vm/bootstrap_natives.h" |
| 7 #include "vm/class_finalizer.h" | 7 #include "vm/class_finalizer.h" |
| 8 #include "vm/dart.h" | 8 #include "vm/dart.h" |
| 9 #include "vm/dart_api_impl.h" | 9 #include "vm/dart_api_impl.h" |
| 10 #include "vm/dart_entry.h" | 10 #include "vm/dart_entry.h" |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 const Object& result = | 54 const Object& result = |
| 55 Object::Handle(isolate, DartEntry::InvokeFunction(func, args)); | 55 Object::Handle(isolate, DartEntry::InvokeFunction(func, args)); |
| 56 if (!result.IsError()) { | 56 if (!result.IsError()) { |
| 57 PortMap::SetLive(port_id); | 57 PortMap::SetLive(port_id); |
| 58 } | 58 } |
| 59 return result.raw(); | 59 return result.raw(); |
| 60 } | 60 } |
| 61 | 61 |
| 62 | 62 |
| 63 DEFINE_NATIVE_ENTRY(RawReceivePortImpl_factory, 1) { | 63 DEFINE_NATIVE_ENTRY(RawReceivePortImpl_factory, 1) { |
| 64 ASSERT(AbstractTypeArguments::CheckedHandle( | 64 ASSERT(TypeArguments::CheckedHandle(arguments->NativeArgAt(0)).IsNull()); |
| 65 arguments->NativeArgAt(0)).IsNull()); | |
| 66 Dart_Port port_id = | 65 Dart_Port port_id = |
| 67 PortMap::CreatePort(arguments->isolate()->message_handler()); | 66 PortMap::CreatePort(arguments->isolate()->message_handler()); |
| 68 const Object& port = Object::Handle(ReceivePortCreate(port_id)); | 67 const Object& port = Object::Handle(ReceivePortCreate(port_id)); |
| 69 if (port.IsError()) { | 68 if (port.IsError()) { |
| 70 Exceptions::PropagateError(Error::Cast(port)); | 69 Exceptions::PropagateError(Error::Cast(port)); |
| 71 } | 70 } |
| 72 return port.raw(); | 71 return port.raw(); |
| 73 } | 72 } |
| 74 | 73 |
| 75 | 74 |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 245 | 244 |
| 246 // The control port is being accessed as a regular port from Dart code. This | 245 // The control port is being accessed as a regular port from Dart code. This |
| 247 // is most likely due to the _startIsolate code in dart:isolate. Account for | 246 // is most likely due to the _startIsolate code in dart:isolate. Account for |
| 248 // this by increasing the number of open control ports. | 247 // this by increasing the number of open control ports. |
| 249 isolate->message_handler()->increment_control_ports(); | 248 isolate->message_handler()->increment_control_ports(); |
| 250 | 249 |
| 251 return port.raw(); | 250 return port.raw(); |
| 252 } | 251 } |
| 253 | 252 |
| 254 } // namespace dart | 253 } // namespace dart |
| OLD | NEW |