| Index: runtime/vm/thread.cc
|
| diff --git a/runtime/vm/thread.cc b/runtime/vm/thread.cc
|
| index dc4e1cac86f4dc838b115a08454a69f20d51621f..709d735156f35122f439b1abe52a1709a25d7ee9 100644
|
| --- a/runtime/vm/thread.cc
|
| +++ b/runtime/vm/thread.cc
|
| @@ -93,6 +93,9 @@ Thread::Thread(Isolate* isolate)
|
| type_range_cache_(NULL),
|
| deopt_id_(0),
|
| pending_functions_(GrowableObjectArray::null()),
|
| + active_exception_(Object::null()),
|
| + active_stacktrace_(Object::null()),
|
| + resume_pc_(0),
|
| sticky_error_(Error::null()),
|
| compiler_stats_(NULL),
|
| REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_INITIALIZERS)
|
| @@ -215,6 +218,17 @@ void Thread::clear_pending_functions() {
|
| }
|
|
|
|
|
| +void Thread::set_active_exception(const Object& value) {
|
| + ASSERT(!value.IsNull());
|
| + active_exception_ = value.raw();
|
| +}
|
| +
|
| +
|
| +void Thread::set_active_stacktrace(const Object& value) {
|
| + active_stacktrace_ = value.raw();
|
| +}
|
| +
|
| +
|
| RawError* Thread::sticky_error() const {
|
| return sticky_error_;
|
| }
|
| @@ -606,6 +620,8 @@ void Thread::VisitObjectPointers(ObjectPointerVisitor* visitor,
|
| reusable_handles_.VisitObjectPointers(visitor);
|
|
|
| visitor->VisitPointer(reinterpret_cast<RawObject**>(&pending_functions_));
|
| + visitor->VisitPointer(reinterpret_cast<RawObject**>(&active_exception_));
|
| + visitor->VisitPointer(reinterpret_cast<RawObject**>(&active_stacktrace_));
|
| visitor->VisitPointer(reinterpret_cast<RawObject**>(&sticky_error_));
|
|
|
| // Visit the api local scope as it has all the api local handles.
|
|
|