summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.h
diff options
context:
space:
mode:
author Vladimír Marko <vmarko@google.com> 2024-04-26 13:16:48 +0000
committer Vladimír Marko <vmarko@google.com> 2024-04-29 12:25:17 +0000
commit8192f5832f9f5b43e4f1b9784c90d9bc5db1ad1a (patch)
tree9b215608955dcacf3cc5b39e9f50d2c828b29e10 /compiler/optimizing/code_generator.h
parenteac7cd76d9a39a61c7fecbd3c3eb4f2932a3d55c (diff)
Revert^2 "Fast-path for `HInstanceOf`/`kInterfaceCheck`."
This reverts commit 5117fe6bf9bd58b49b2b7647b148b4c3ea3b17ed. Reason for revert: Fix wrong operator in x86-64 codegen. Change-Id: Id17686bdb5b5e0336f8d70bfeecd85e9c33a7b80 Test: m test-art-host-gtest Test: testrunner.py --host --optimizing --jit --picimage --no-image Test: run-gtests.sh Test: testrunner.py --target --optimizing Bug: 333690895
Diffstat (limited to 'compiler/optimizing/code_generator.h')
-rw-r--r--compiler/optimizing/code_generator.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/optimizing/code_generator.h b/compiler/optimizing/code_generator.h
index 970da76c43..3ac4bd7dcc 100644
--- a/compiler/optimizing/code_generator.h
+++ b/compiler/optimizing/code_generator.h
@@ -461,11 +461,13 @@ class CodeGenerator : public DeletableArenaObject<kArenaAllocCodeGenerator> {
DataType::Type type2);
bool InstanceOfNeedsReadBarrier(HInstanceOf* instance_of) {
- // Used only for kExactCheck, kAbstractClassCheck, kClassHierarchyCheck and kArrayObjectCheck.
+ // Used only for `kExactCheck`, `kAbstractClassCheck`, `kClassHierarchyCheck`,
+ // `kArrayObjectCheck` and `kInterfaceCheck`.
DCHECK(instance_of->GetTypeCheckKind() == TypeCheckKind::kExactCheck ||
instance_of->GetTypeCheckKind() == TypeCheckKind::kAbstractClassCheck ||
instance_of->GetTypeCheckKind() == TypeCheckKind::kClassHierarchyCheck ||
- instance_of->GetTypeCheckKind() == TypeCheckKind::kArrayObjectCheck)
+ instance_of->GetTypeCheckKind() == TypeCheckKind::kArrayObjectCheck ||
+ instance_of->GetTypeCheckKind() == TypeCheckKind::kInterfaceCheck)
<< instance_of->GetTypeCheckKind();
// If the target class is in the boot or app image, it's non-moveable and it doesn't matter
// if we compare it with a from-space or to-space reference, the result is the same.