| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index 84d9b023b3a237b36aee866c75b1ed5119e20d76..bc581d837d42ae13ffb754d1dc349a6ceb124cd7 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -2310,6 +2310,48 @@ class ElementsTransitionAndStoreStub : public HydrogenCodeStub {
|
| };
|
|
|
|
|
| +// TODO(bmeurer) Remove this when compiled transitions is enabled
|
| +class ElementsTransitionAndStorePlatformStub : public PlatformCodeStub {
|
| + public:
|
| + ElementsTransitionAndStorePlatformStub(ElementsKind from,
|
| + ElementsKind to,
|
| + bool is_jsarray,
|
| + StrictModeFlag strict_mode,
|
| + KeyedAccessStoreMode store_mode)
|
| + : from_(from),
|
| + to_(to),
|
| + is_jsarray_(is_jsarray),
|
| + strict_mode_(strict_mode),
|
| + store_mode_(store_mode) {}
|
| +
|
| + private:
|
| + class FromBits: public BitField<ElementsKind, 0, 8> {};
|
| + class ToBits: public BitField<ElementsKind, 8, 8> {};
|
| + class IsJSArrayBits: public BitField<bool, 16, 1> {};
|
| + class StrictModeBits: public BitField<StrictModeFlag, 17, 1> {};
|
| + class StoreModeBits: public BitField<KeyedAccessStoreMode, 18, 4> {};
|
| +
|
| + Major MajorKey() { return ElementsTransitionAndStore; }
|
| + int MinorKey() {
|
| + return FromBits::encode(from_) |
|
| + ToBits::encode(to_) |
|
| + IsJSArrayBits::encode(is_jsarray_) |
|
| + StrictModeBits::encode(strict_mode_) |
|
| + StoreModeBits::encode(store_mode_);
|
| + }
|
| +
|
| + void Generate(MacroAssembler* masm);
|
| +
|
| + ElementsKind from_;
|
| + ElementsKind to_;
|
| + bool is_jsarray_;
|
| + StrictModeFlag strict_mode_;
|
| + KeyedAccessStoreMode store_mode_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ElementsTransitionAndStorePlatformStub);
|
| +};
|
| +
|
| +
|
| class StoreArrayLiteralElementStub : public PlatformCodeStub {
|
| public:
|
| StoreArrayLiteralElementStub()
|
|
|