diff options
author | 2019-10-07 13:51:13 +0000 | |
---|---|---|
committer | 2019-10-07 18:59:55 +0000 | |
commit | 55eccdf61f46bd2a633f489f8d09cf78e1de1938 (patch) | |
tree | e60d91c8fc48dfe70956ec9febd346b9dc9fcf77 /runtime/entrypoints/entrypoint_utils-inl.h | |
parent | 49df715faf3700e874fbe246b339a8e426549216 (diff) |
Revert^4 "Walk internal ArtField/ArtMethod pointers"
Several of the new tests make use of the invoke-custom opcode. This
opcode is not supported by dexter/slicer causing the tests to fail.
This reverts commit c34eab45161c51bf63e548e44645cbcc59d01268.
Reason for revert: Added tests to redefine-stress known failures
Test: ./test.py --host --redefine-stress
Bug: 134162467
Change-Id: Ic1b375a0cb1e44d0252c17115af92c269fb8efc5
Diffstat (limited to 'runtime/entrypoints/entrypoint_utils-inl.h')
-rw-r--r-- | runtime/entrypoints/entrypoint_utils-inl.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/runtime/entrypoints/entrypoint_utils-inl.h b/runtime/entrypoints/entrypoint_utils-inl.h index 255607937e..fe12a7c379 100644 --- a/runtime/entrypoints/entrypoint_utils-inl.h +++ b/runtime/entrypoints/entrypoint_utils-inl.h @@ -39,6 +39,7 @@ #include "mirror/object-inl.h" #include "mirror/throwable.h" #include "nth_caller_visitor.h" +#include "reflective_handle_scope-inl.h" #include "runtime.h" #include "stack_map.h" #include "thread.h" @@ -381,9 +382,11 @@ inline ArtField* FindFieldFromCode(uint32_t field_idx, return resolved_field; } else { StackHandleScope<1> hs(self); + StackArtFieldHandleScope<1> rhs(self); + ReflectiveHandle<ArtField> resolved_field_handle(rhs.NewHandle(resolved_field)); if (LIKELY(class_linker->EnsureInitialized(self, hs.NewHandle(fields_class), true, true))) { // Otherwise let's ensure the class is initialized before resolving the field. - return resolved_field; + return resolved_field_handle.Get(); } DCHECK(self->IsExceptionPending()); // Throw exception and unwind return nullptr; // Failure. |