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(); |
} |