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

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

Issue 2759533002: Remove legacy restart code (Closed)
Patch Set: Created 3 years, 9 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
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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_reload.h" 5 #include "vm/isolate_reload.h"
6 6
7 #include "vm/become.h" 7 #include "vm/become.h"
8 #include "vm/bit_vector.h" 8 #include "vm/bit_vector.h"
9 #include "vm/code_generator.h" 9 #include "vm/code_generator.h"
10 #include "vm/compiler.h" 10 #include "vm/compiler.h"
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 Dart_Handle retval = (I->library_tag_handler())( 628 Dart_Handle retval = (I->library_tag_handler())(
629 Dart_kScriptTag, Api::NewHandle(thread, packages_url.raw()), 629 Dart_kScriptTag, Api::NewHandle(thread, packages_url.raw()),
630 Api::NewHandle(thread, root_lib_url.raw())); 630 Api::NewHandle(thread, root_lib_url.raw()));
631 result = Api::UnwrapHandle(retval); 631 result = Api::UnwrapHandle(retval);
632 } 632 }
633 // 633 //
634 // WEIRD CONTROL FLOW ENDS. 634 // WEIRD CONTROL FLOW ENDS.
635 TIR_Print("---- EXITED TAG HANDLER\n"); 635 TIR_Print("---- EXITED TAG HANDLER\n");
636 636
637 if (result.IsUnwindError()) { 637 if (result.IsUnwindError()) {
638 // We can only propagate errors when there are Dart frames on the stack.
639 // TODO(johnmccutchan): Fix dartbug.com/29092.
640 if (thread->top_exit_frame_info() == 0) { 638 if (thread->top_exit_frame_info() == 0) {
641 FATAL( 639 // We can only propagate errors when there are Dart frames on the stack.
642 "Got an Unwind Error in the middle of a reload. " 640 // In this case there are no Dart frames on the stack and we set the
643 "http://dartbug.com/29092"); 641 // thread's sticky error. This error will be returned to the message
642 // handler.
643 thread->set_sticky_error(Error::Cast(result));
644 } else {
645 // If the tag handler returns with an UnwindError error, propagate it and
646 // give up.
647 Exceptions::PropagateError(Error::Cast(result));
648 UNREACHABLE();
644 } 649 }
645 // If the tag handler returns with an UnwindError error, propagate it and
646 // give up.
647 Exceptions::PropagateError(Error::Cast(result));
648 UNREACHABLE();
649 } 650 }
650 651
651 // Other errors (e.g. a parse error) are captured by the reload system. 652 // Other errors (e.g. a parse error) are captured by the reload system.
652 if (result.IsError()) { 653 if (result.IsError()) {
653 FinalizeFailedLoad(Error::Cast(result)); 654 FinalizeFailedLoad(Error::Cast(result));
654 } 655 }
655 } 656 }
656 657
657 658
658 void IsolateReloadContext::RegisterClass(const Class& new_cls) { 659 void IsolateReloadContext::RegisterClass(const Class& new_cls) {
(...skipping 1234 matching lines...) Expand 10 before | Expand all | Expand 10 after
1893 ASSERT(!super_cls.IsNull()); 1894 ASSERT(!super_cls.IsNull());
1894 super_cls.AddDirectSubclass(cls); 1895 super_cls.AddDirectSubclass(cls);
1895 } 1896 }
1896 } 1897 }
1897 } 1898 }
1898 } 1899 }
1899 1900
1900 #endif // !PRODUCT 1901 #endif // !PRODUCT
1901 1902
1902 } // namespace dart 1903 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698