| Index: src/compiler/simplified-operator.cc
|
| diff --git a/src/compiler/simplified-operator.cc b/src/compiler/simplified-operator.cc
|
| index e7374246961e3011569ffb646cd90b92f5fb497c..989aa3613e0337bdd9c72b47313bf1d2c624bcfa 100644
|
| --- a/src/compiler/simplified-operator.cc
|
| +++ b/src/compiler/simplified-operator.cc
|
| @@ -503,6 +503,16 @@ struct SimplifiedOperatorGlobalCache final {
|
| AllocateOperator<NOT_TENURED> kAllocateNotTenuredOperator;
|
| AllocateOperator<TENURED> kAllocateTenuredOperator;
|
|
|
| + struct EnsureWritableFastElementsOperator final : public Operator {
|
| + EnsureWritableFastElementsOperator()
|
| + : Operator( // --
|
| + IrOpcode::kEnsureWritableFastElements, // opcode
|
| + Operator::kNoDeopt | Operator::kNoThrow, // flags
|
| + "EnsureWritableFastElements", // name
|
| + 2, 1, 1, 1, 1, 0) {} // counts
|
| + };
|
| + EnsureWritableFastElementsOperator kEnsureWritableFastElements;
|
| +
|
| #define BUFFER_ACCESS(Type, type, TYPE, ctype, size) \
|
| struct LoadBuffer##Type##Operator final : public Operator1<BufferAccess> { \
|
| LoadBuffer##Type##Operator() \
|
| @@ -618,6 +628,10 @@ const Operator* SimplifiedOperatorBuilder::ReferenceEqual(Type* type) {
|
| "ReferenceEqual", 2, 0, 0, 1, 0, 0);
|
| }
|
|
|
| +const Operator* SimplifiedOperatorBuilder::EnsureWritableFastElements() {
|
| + return &cache_.kEnsureWritableFastElements;
|
| +}
|
| +
|
| const Operator* SimplifiedOperatorBuilder::TransitionElementsKind(
|
| ElementsTransition transition) {
|
| return new (zone()) Operator1<ElementsTransition>( // --
|
|
|