OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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/exceptions.h" | 5 #include "vm/exceptions.h" |
6 | 6 |
7 #include "platform/address_sanitizer.h" | 7 #include "platform/address_sanitizer.h" |
8 | 8 |
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 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
607 if (exception.raw() != isolate->object_store()->out_of_memory() && | 607 if (exception.raw() != isolate->object_store()->out_of_memory() && |
608 exception.raw() != isolate->object_store()->stack_overflow()) { | 608 exception.raw() != isolate->object_store()->stack_overflow()) { |
609 isolate->debugger()->PauseException(exception); | 609 isolate->debugger()->PauseException(exception); |
610 } | 610 } |
611 } | 611 } |
612 // Null object is a valid exception object. | 612 // Null object is a valid exception object. |
613 ThrowExceptionHelper(thread, exception, Stacktrace::Handle(thread->zone()), | 613 ThrowExceptionHelper(thread, exception, Stacktrace::Handle(thread->zone()), |
614 false); | 614 false); |
615 } | 615 } |
616 | 616 |
| 617 |
617 void Exceptions::ReThrow(Thread* thread, | 618 void Exceptions::ReThrow(Thread* thread, |
618 const Instance& exception, | 619 const Instance& exception, |
619 const Instance& stacktrace) { | 620 const Instance& stacktrace) { |
620 // Null object is a valid exception object. | 621 // Null object is a valid exception object. |
621 ThrowExceptionHelper(thread, exception, stacktrace, true); | 622 ThrowExceptionHelper(thread, exception, stacktrace, true); |
622 } | 623 } |
623 | 624 |
624 | 625 |
625 void Exceptions::PropagateError(const Error& error) { | 626 void Exceptions::PropagateError(const Error& error) { |
626 Thread* thread = Thread::Current(); | 627 Thread* thread = Thread::Current(); |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
787 class_name = &Symbols::_CompileTimeError(); | 788 class_name = &Symbols::_CompileTimeError(); |
788 break; | 789 break; |
789 } | 790 } |
790 | 791 |
791 return DartLibraryCalls::InstanceCreate(library, *class_name, | 792 return DartLibraryCalls::InstanceCreate(library, *class_name, |
792 *constructor_name, arguments); | 793 *constructor_name, arguments); |
793 } | 794 } |
794 | 795 |
795 | 796 |
796 } // namespace dart | 797 } // namespace dart |
OLD | NEW |