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/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 1621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1632 ISOLATE_METRIC_LIST(ISOLATE_METRIC_PRINT); | 1632 ISOLATE_METRIC_LIST(ISOLATE_METRIC_PRINT); |
1633 #undef ISOLATE_METRIC_PRINT | 1633 #undef ISOLATE_METRIC_PRINT |
1634 THR_Print("\n"); | 1634 THR_Print("\n"); |
1635 } | 1635 } |
1636 } | 1636 } |
1637 | 1637 |
1638 | 1638 |
1639 void Isolate::Shutdown() { | 1639 void Isolate::Shutdown() { |
1640 ASSERT(this == Isolate::Current()); | 1640 ASSERT(this == Isolate::Current()); |
1641 // Wait until all background compilation has finished. | 1641 // Wait until all background compilation has finished. |
1642 BackgroundCompiler::Stop(background_compiler_); | 1642 if (background_compiler_ != NULL) { |
1643 BackgroundCompiler::Stop(background_compiler_); | |
1644 } | |
rmacnak
2015/11/17 20:51:18
else {
ASSERT(Dart::IsRunningPrecompiledCode())
Florian Schneider
2015/11/18 11:44:09
This may be too strict - e.g. running with --no-ba
rmacnak
2015/11/18 19:00:07
Ack.
| |
1643 | 1645 |
1644 #if defined(DEBUG) | 1646 #if defined(DEBUG) |
1645 if (heap_ != NULL) { | 1647 if (heap_ != NULL) { |
1646 // The VM isolate keeps all objects marked. | 1648 // The VM isolate keeps all objects marked. |
1647 heap_->Verify(this == Dart::vm_isolate() ? kRequireMarked : kForbidMarked); | 1649 heap_->Verify(this == Dart::vm_isolate() ? kRequireMarked : kForbidMarked); |
1648 } | 1650 } |
1649 #endif // DEBUG | 1651 #endif // DEBUG |
1650 | 1652 |
1651 Thread* thread = Thread::Current(); | 1653 Thread* thread = Thread::Current(); |
1652 | 1654 |
(...skipping 877 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2530 } | 2532 } |
2531 | 2533 |
2532 | 2534 |
2533 RawInstance* IsolateSpawnState::BuildMessage(Thread* thread) { | 2535 RawInstance* IsolateSpawnState::BuildMessage(Thread* thread) { |
2534 return DeserializeObject(thread, | 2536 return DeserializeObject(thread, |
2535 serialized_message_, serialized_message_len_); | 2537 serialized_message_, serialized_message_len_); |
2536 } | 2538 } |
2537 | 2539 |
2538 | 2540 |
2539 } // namespace dart | 2541 } // namespace dart |
OLD | NEW |