diff options
| author | 2015-03-09 10:15:14 +0000 | |
|---|---|---|
| committer | 2015-03-09 10:15:14 +0000 | |
| commit | a60bb12ed88a0f11fb6a8444964ea55af2054824 (patch) | |
| tree | 8eabb49a208c04b219e5a1b037254647498d9d1d /runtime/mirror/class.cc | |
| parent | f20cc35c8e37a515fc19ca554b56ee78dfa7cc82 (diff) | |
| parent | 5c9d8f0d2948c2b4fe4258f96e3598ad5b8fa23b (diff) | |
am 5c9d8f0d: Merge "Compute the right catch location for the debugger."
* commit '5c9d8f0d2948c2b4fe4258f96e3598ad5b8fa23b':
Compute the right catch location for the debugger.
Diffstat (limited to 'runtime/mirror/class.cc')
| -rw-r--r-- | runtime/mirror/class.cc | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/runtime/mirror/class.cc b/runtime/mirror/class.cc index 96b15dd676..6f4ef60e85 100644 --- a/runtime/mirror/class.cc +++ b/runtime/mirror/class.cc @@ -77,13 +77,9 @@ void Class::SetStatus(Status new_status, Thread* self) { << "Attempt to set as erroneous an already erroneous class " << PrettyClass(this); // Stash current exception. - StackHandleScope<3> hs(self); - ThrowLocation old_throw_location; - Handle<mirror::Throwable> old_exception(hs.NewHandle(self->GetException(&old_throw_location))); + StackHandleScope<1> hs(self); + Handle<mirror::Throwable> old_exception(hs.NewHandle(self->GetException())); CHECK(old_exception.Get() != nullptr); - Handle<mirror::Object> old_throw_this_object(hs.NewHandle(old_throw_location.GetThis())); - Handle<mirror::ArtMethod> old_throw_method(hs.NewHandle(old_throw_location.GetMethod())); - uint32_t old_throw_dex_pc = old_throw_location.GetDexPc(); Class* eiie_class; // Do't attempt to use FindClass if we have an OOM error since this can try to do more // allocations and may cause infinite loops. @@ -109,9 +105,7 @@ void Class::SetStatus(Status new_status, Thread* self) { } // Restore exception. - ThrowLocation gc_safe_throw_location(old_throw_this_object.Get(), old_throw_method.Get(), - old_throw_dex_pc); - self->SetException(gc_safe_throw_location, old_exception.Get()); + self->SetException(old_exception.Get()); } static_assert(sizeof(Status) == sizeof(uint32_t), "Size of status not equal to uint32"); if (Runtime::Current()->IsActiveTransaction()) { |