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 "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 "lib/stacktrace.h" | 9 #include "lib/stacktrace.h" |
10 #include "platform/assert.h" | 10 #include "platform/assert.h" |
(...skipping 5615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5626 // invoking of _completeDeferredLoads) into Isolate::DoneLoading(). | 5626 // invoking of _completeDeferredLoads) into Isolate::DoneLoading(). |
5627 | 5627 |
5628 // Finalize all classes if needed. | 5628 // Finalize all classes if needed. |
5629 Dart_Handle state = Api::CheckAndFinalizePendingClasses(T); | 5629 Dart_Handle state = Api::CheckAndFinalizePendingClasses(T); |
5630 if (::Dart_IsError(state)) { | 5630 if (::Dart_IsError(state)) { |
5631 return state; | 5631 return state; |
5632 } | 5632 } |
5633 | 5633 |
5634 I->DoneFinalizing(); | 5634 I->DoneFinalizing(); |
5635 | 5635 |
| 5636 #if !defined(PRODUCT) |
5636 // Now that the newly loaded classes are finalized, notify the debugger | 5637 // Now that the newly loaded classes are finalized, notify the debugger |
5637 // that new code has been loaded. If there are latent breakpoints in | 5638 // that new code has been loaded. If there are latent breakpoints in |
5638 // the new code, the debugger convert them to unresolved source breakpoints. | 5639 // the new code, the debugger convert them to unresolved source breakpoints. |
5639 // The code that completes the futures (invoked below) may call into the | 5640 // The code that completes the futures (invoked below) may call into the |
5640 // newly loaded code and trigger one of these breakpoints. | 5641 // newly loaded code and trigger one of these breakpoints. |
5641 if (FLAG_support_debugger) { | 5642 I->debugger()->NotifyDoneLoading(); |
5642 I->debugger()->NotifyDoneLoading(); | 5643 #endif |
5643 } | |
5644 | 5644 |
5645 #if !defined(DART_PRECOMPILED_RUNTIME) | 5645 #if !defined(DART_PRECOMPILED_RUNTIME) |
5646 if (FLAG_enable_mirrors) { | 5646 if (FLAG_enable_mirrors) { |
5647 // Notify mirrors that MirrorSystem.libraries needs to be recomputed. | 5647 // Notify mirrors that MirrorSystem.libraries needs to be recomputed. |
5648 const Library& libmirrors = Library::Handle(Z, Library::MirrorsLibrary()); | 5648 const Library& libmirrors = Library::Handle(Z, Library::MirrorsLibrary()); |
5649 const Field& dirty_bit = Field::Handle( | 5649 const Field& dirty_bit = Field::Handle( |
5650 Z, libmirrors.LookupLocalField(String::Handle(String::New("_dirty")))); | 5650 Z, libmirrors.LookupLocalField(String::Handle(String::New("_dirty")))); |
5651 ASSERT(!dirty_bit.IsNull() && dirty_bit.is_static()); | 5651 ASSERT(!dirty_bit.IsNull() && dirty_bit.is_static()); |
5652 dirty_bit.SetStaticValue(Bool::True()); | 5652 dirty_bit.SetStaticValue(Bool::True()); |
5653 } | 5653 } |
(...skipping 1016 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6670 #endif | 6670 #endif |
6671 } | 6671 } |
6672 | 6672 |
6673 DART_EXPORT void Dart_DumpNativeStackTrace(void* context) { | 6673 DART_EXPORT void Dart_DumpNativeStackTrace(void* context) { |
6674 #ifndef PRODUCT | 6674 #ifndef PRODUCT |
6675 Profiler::DumpStackTrace(context); | 6675 Profiler::DumpStackTrace(context); |
6676 #endif | 6676 #endif |
6677 } | 6677 } |
6678 | 6678 |
6679 } // namespace dart | 6679 } // namespace dart |
OLD | NEW |