Do not change to the access check entrypoint when inlined.
The allocation entrypoint that deals with access checks does
not work with inlined methods.
Fixes 542-unresolved-access-check in jit mode.
Change-Id: I02290a8b2089fcf06e2216dabf8089920b529765
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index a5ea154..3b5c384 100644
--- a/compiler/optimizing/nodes.h
+++ b/compiler/optimizing/nodes.h
@@ -1631,6 +1631,11 @@
return holder_;
}
+
+ bool IsFromInlinedInvoke() const {
+ return GetParent() != nullptr;
+ }
+
private:
// Record instructions' use entries of this environment for constant-time removal.
// It should only be called by HInstruction when a new environment use is added.
@@ -3243,7 +3248,7 @@
void SetIntrinsic(Intrinsics intrinsic, IntrinsicNeedsEnvironmentOrCache needs_env_or_cache);
bool IsFromInlinedInvoke() const {
- return GetEnvironment()->GetParent() != nullptr;
+ return GetEnvironment()->IsFromInlinedInvoke();
}
bool CanThrow() const OVERRIDE { return true; }