| OLD | NEW |
| 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/dart.h" | 5 #include "vm/dart.h" |
| 6 | 6 |
| 7 #include "vm/become.h" | 7 #include "vm/become.h" |
| 8 #include "vm/clustered_snapshot.h" | 8 #include "vm/clustered_snapshot.h" |
| 9 #include "vm/code_observers.h" | 9 #include "vm/code_observers.h" |
| 10 #include "vm/cpu.h" | 10 #include "vm/cpu.h" |
| (...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 662 #endif | 662 #endif |
| 663 } | 663 } |
| 664 | 664 |
| 665 return buffer.Steal(); | 665 return buffer.Steal(); |
| 666 } | 666 } |
| 667 | 667 |
| 668 | 668 |
| 669 void Dart::RunShutdownCallback() { | 669 void Dart::RunShutdownCallback() { |
| 670 Isolate* isolate = Isolate::Current(); | 670 Isolate* isolate = Isolate::Current(); |
| 671 void* callback_data = isolate->init_callback_data(); | 671 void* callback_data = isolate->init_callback_data(); |
| 672 // Clear the data from the isolate so future accesses will see NULL. | |
| 673 isolate->set_init_callback_data(NULL); | |
| 674 Dart_IsolateShutdownCallback callback = Isolate::ShutdownCallback(); | 672 Dart_IsolateShutdownCallback callback = Isolate::ShutdownCallback(); |
| 675 if (callback != NULL) { | 673 if (callback != NULL) { |
| 676 (callback)(callback_data); | 674 (callback)(callback_data); |
| 677 } | 675 } |
| 678 } | 676 } |
| 679 | 677 |
| 680 | 678 |
| 681 void Dart::ShutdownIsolate(Isolate* isolate) { | 679 void Dart::ShutdownIsolate(Isolate* isolate) { |
| 682 ASSERT(Isolate::Current() == NULL); | 680 ASSERT(Isolate::Current() == NULL); |
| 683 // We need to enter the isolate in order to shut it down. | 681 // We need to enter the isolate in order to shut it down. |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 722 return predefined_handles_->handles_.IsValidScopedHandle(address); | 720 return predefined_handles_->handles_.IsValidScopedHandle(address); |
| 723 } | 721 } |
| 724 | 722 |
| 725 | 723 |
| 726 bool Dart::IsReadOnlyApiHandle(Dart_Handle handle) { | 724 bool Dart::IsReadOnlyApiHandle(Dart_Handle handle) { |
| 727 ASSERT(predefined_handles_ != NULL); | 725 ASSERT(predefined_handles_ != NULL); |
| 728 return predefined_handles_->api_handles_.IsValidHandle(handle); | 726 return predefined_handles_->api_handles_.IsValidHandle(handle); |
| 729 } | 727 } |
| 730 | 728 |
| 731 } // namespace dart | 729 } // namespace dart |
| OLD | NEW |