Index: src/compiler/simplified-operator.cc |
diff --git a/src/compiler/simplified-operator.cc b/src/compiler/simplified-operator.cc |
index 525e3a481fa731119412e40b6e184fbd2c849fb4..8070d960cb867b6c10c0d9bc5b2b3f284d729730 100644 |
--- a/src/compiler/simplified-operator.cc |
+++ b/src/compiler/simplified-operator.cc |
@@ -181,6 +181,12 @@ const ElementAccess& ElementAccessOf(const Operator* op) { |
return OpParameter<ElementAccess>(op); |
} |
+ExternalArrayType ExternalArrayTypeOf(const Operator* op) { |
+ DCHECK(op->opcode() == IrOpcode::kLoadTypedElement || |
+ op->opcode() == IrOpcode::kStoreTypedElement); |
+ return OpParameter<ExternalArrayType>(op); |
+} |
+ |
size_t hash_value(CheckFloat64HoleMode mode) { |
return static_cast<size_t>(mode); |
} |
@@ -634,11 +640,13 @@ const Operator* SimplifiedOperatorBuilder::SpeculativeNumberLessThanOrEqual( |
"SpeculativeNumberLessThanOrEqual", 2, 1, 1, 1, 1, 0, hint); |
} |
-#define ACCESS_OP_LIST(V) \ |
- V(LoadField, FieldAccess, Operator::kNoWrite, 1, 1, 1) \ |
- V(StoreField, FieldAccess, Operator::kNoRead, 2, 1, 0) \ |
- V(LoadElement, ElementAccess, Operator::kNoWrite, 2, 1, 1) \ |
- V(StoreElement, ElementAccess, Operator::kNoRead, 3, 1, 0) |
+#define ACCESS_OP_LIST(V) \ |
+ V(LoadField, FieldAccess, Operator::kNoWrite, 1, 1, 1) \ |
+ V(StoreField, FieldAccess, Operator::kNoRead, 2, 1, 0) \ |
+ V(LoadElement, ElementAccess, Operator::kNoWrite, 2, 1, 1) \ |
+ V(StoreElement, ElementAccess, Operator::kNoRead, 3, 1, 0) \ |
+ V(LoadTypedElement, ExternalArrayType, Operator::kNoWrite, 4, 1, 1) \ |
+ V(StoreTypedElement, ExternalArrayType, Operator::kNoRead, 5, 1, 0) |
#define ACCESS(Name, Type, properties, value_input_count, control_input_count, \ |
output_count) \ |