| Index: runtime/vm/debugger.cc
|
| ===================================================================
|
| --- runtime/vm/debugger.cc (revision 31435)
|
| +++ runtime/vm/debugger.cc (working copy)
|
| @@ -1688,11 +1688,10 @@
|
| ASSERT(!getter_func.IsNull());
|
|
|
| Object& result = Object::Handle();
|
| - LongJump* base = isolate_->long_jump_base();
|
| - LongJump jump;
|
| - isolate_->set_long_jump_base(&jump);
|
| bool saved_ignore_flag = ignore_breakpoints_;
|
| ignore_breakpoints_ = true;
|
| +
|
| + LongJumpScope jump;
|
| if (setjmp(*jump.Set()) == 0) {
|
| const Array& args = Array::Handle(Array::New(1));
|
| args.SetAt(0, object);
|
| @@ -1701,7 +1700,6 @@
|
| result = isolate_->object_store()->sticky_error();
|
| }
|
| ignore_breakpoints_ = saved_ignore_flag;
|
| - isolate_->set_long_jump_base(base);
|
| return result.raw();
|
| }
|
|
|
| @@ -1727,18 +1725,15 @@
|
| }
|
|
|
| Object& result = Object::Handle();
|
| - LongJump* base = isolate_->long_jump_base();
|
| - LongJump jump;
|
| - isolate_->set_long_jump_base(&jump);
|
| bool saved_ignore_flag = ignore_breakpoints_;
|
| ignore_breakpoints_ = true;
|
| + LongJumpScope jump;
|
| if (setjmp(*jump.Set()) == 0) {
|
| result = DartEntry::InvokeFunction(getter_func, Object::empty_array());
|
| } else {
|
| result = isolate_->object_store()->sticky_error();
|
| }
|
| ignore_breakpoints_ = saved_ignore_flag;
|
| - isolate_->set_long_jump_base(base);
|
| return result.raw();
|
| }
|
|
|
|
|