Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Unified Diff: src/compiler/machine-operator.h

Issue 2182493003: ARM: Implement UnaligedLoad and UnaligedStore turbofan operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/arm/instruction-selector-arm.cc ('k') | test/cctest/cctest.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/machine-operator.h
diff --git a/src/compiler/machine-operator.h b/src/compiler/machine-operator.h
index 383f0734d761cc773d59599f0cad01e3e9f25f28..68c2d600d3e4908fcc4a160aab373c0cf65bbf67 100644
--- a/src/compiler/machine-operator.h
+++ b/src/compiler/machine-operator.h
@@ -146,13 +146,13 @@ class MachineOperatorBuilder final : public ZoneObject {
bool IsUnalignedLoadSupported(const MachineType& machineType,
uint8_t alignment) const {
- return IsUnalignedSupported(unalignedLoadSupportedTypes_, machineType,
+ return IsUnalignedSupported(unalignedLoadUnsupportedTypes_, machineType,
alignment);
}
bool IsUnalignedStoreSupported(const MachineType& machineType,
uint8_t alignment) const {
- return IsUnalignedSupported(unalignedStoreSupportedTypes_, machineType,
+ return IsUnalignedSupported(unalignedStoreUnsupportedTypes_, machineType,
alignment);
}
@@ -162,25 +162,25 @@ class MachineOperatorBuilder final : public ZoneObject {
static AlignmentRequirements NoUnalignedAccessSupport() {
return AlignmentRequirements(kNoSupport);
}
- static AlignmentRequirements SomeUnalignedAccessSupport(
- const Vector<MachineType>& unalignedLoadSupportedTypes,
- const Vector<MachineType>& unalignedStoreSupportedTypes) {
- return AlignmentRequirements(kSomeSupport, unalignedLoadSupportedTypes,
- unalignedStoreSupportedTypes);
+ static AlignmentRequirements SomeUnalignedAccessUnsupported(
+ const Vector<MachineType>& unalignedLoadUnsupportedTypes,
+ const Vector<MachineType>& unalignedStoreUnsupportedTypes) {
+ return AlignmentRequirements(kSomeSupport, unalignedLoadUnsupportedTypes,
+ unalignedStoreUnsupportedTypes);
}
private:
explicit AlignmentRequirements(
AlignmentRequirements::UnalignedAccessSupport unalignedAccessSupport,
- Vector<MachineType> unalignedLoadSupportedTypes =
+ Vector<MachineType> unalignedLoadUnsupportedTypes =
Vector<MachineType>(NULL, 0),
- Vector<MachineType> unalignedStoreSupportedTypes =
+ Vector<MachineType> unalignedStoreUnsupportedTypes =
Vector<MachineType>(NULL, 0))
: unalignedSupport_(unalignedAccessSupport),
- unalignedLoadSupportedTypes_(unalignedLoadSupportedTypes),
- unalignedStoreSupportedTypes_(unalignedStoreSupportedTypes) {}
+ unalignedLoadUnsupportedTypes_(unalignedLoadUnsupportedTypes),
+ unalignedStoreUnsupportedTypes_(unalignedStoreUnsupportedTypes) {}
- bool IsUnalignedSupported(const Vector<MachineType>& supported,
+ bool IsUnalignedSupported(const Vector<MachineType>& unsupported,
const MachineType& machineType,
uint8_t alignment) const {
if (unalignedSupport_ == kFullSupport) {
@@ -188,18 +188,18 @@ class MachineOperatorBuilder final : public ZoneObject {
} else if (unalignedSupport_ == kNoSupport) {
return false;
} else {
- for (MachineType m : supported) {
+ for (MachineType m : unsupported) {
if (m == machineType) {
- return true;
+ return false;
}
}
- return false;
+ return true;
}
}
const AlignmentRequirements::UnalignedAccessSupport unalignedSupport_;
- const Vector<MachineType> unalignedLoadSupportedTypes_;
- const Vector<MachineType> unalignedStoreSupportedTypes_;
+ const Vector<MachineType> unalignedLoadUnsupportedTypes_;
+ const Vector<MachineType> unalignedStoreUnsupportedTypes_;
};
explicit MachineOperatorBuilder(
« no previous file with comments | « src/compiler/arm/instruction-selector-arm.cc ('k') | test/cctest/cctest.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698