From df707e406877e9c0426dd051c00933ebb331673e Mon Sep 17 00:00:00 2001 From: Igor Murashkin Date: Tue, 2 Feb 2016 16:56:50 -0800 Subject: runtime: Don't skip verification for -Xverify:soft-fail When forcing the interpreter into access checks mode, make sure that the regular verification is still run, giving the verifier an opportunity to throw a VerifyError. If verification would've succeeded (without -Xverify:soft-fail flag), override this and soft-fail, to force the interpreter-with-access-checks to be run instead of the normal faster interpreter. This fixes the following run-tests under the interpeter-access-checks: * 135 * 412 * 471 * 506 * 800 Bug: 22414682 Change-Id: I5cb86a8bba71c7af9361a63c0802786c852b857b --- runtime/mirror/class.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'runtime/mirror/class.cc') diff --git a/runtime/mirror/class.cc b/runtime/mirror/class.cc index b97d99424e..cdc6204665 100644 --- a/runtime/mirror/class.cc +++ b/runtime/mirror/class.cc @@ -800,11 +800,11 @@ ArtField* Class::FindField(Thread* self, Handle klass, const StringPiece& return nullptr; } -void Class::SetPreverifiedFlagOnAllMethods(size_t pointer_size) { +void Class::SetSkipAccessChecksFlagOnAllMethods(size_t pointer_size) { DCHECK(IsVerified()); for (auto& m : GetMethods(pointer_size)) { if (!m.IsNative() && m.IsInvokable()) { - m.SetPreverified(); + m.SetSkipAccessChecks(); } } } -- cgit v1.2.3-59-g8ed1b