| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index 7a6ad6ad6e83c27b225ce90ba2a5a5f1bfebf7db..bf87a0d157449b26e12b373d0d7aaf15763021be 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -65,6 +65,7 @@ namespace internal {
|
| V(FastCloneShallowObject) \
|
| V(FastNewClosure) \
|
| V(FastNewContext) \
|
| + V(GrowArrayElements) \
|
| V(InternalArrayNArgumentsConstructor) \
|
| V(InternalArrayNoArgumentConstructor) \
|
| V(InternalArraySingleArgumentConstructor) \
|
| @@ -662,6 +663,29 @@ class CreateAllocationSiteStub : public HydrogenCodeStub {
|
| };
|
|
|
|
|
| +class GrowArrayElementsStub : public HydrogenCodeStub {
|
| + public:
|
| + GrowArrayElementsStub(Isolate* isolate, bool is_js_array, ElementsKind kind)
|
| + : HydrogenCodeStub(isolate) {
|
| + set_sub_minor_key(ElementsKindBits::encode(kind) |
|
| + IsJsArrayBits::encode(is_js_array));
|
| + }
|
| +
|
| + ElementsKind elements_kind() const {
|
| + return ElementsKindBits::decode(sub_minor_key());
|
| + }
|
| +
|
| + bool is_js_array() const { return IsJsArrayBits::decode(sub_minor_key()); }
|
| +
|
| + private:
|
| + class ElementsKindBits : public BitField<ElementsKind, 0, 8> {};
|
| + class IsJsArrayBits : public BitField<bool, ElementsKindBits::kNext, 1> {};
|
| +
|
| + DEFINE_CALL_INTERFACE_DESCRIPTOR(GrowArrayElements);
|
| + DEFINE_HYDROGEN_CODE_STUB(GrowArrayElements, HydrogenCodeStub);
|
| +};
|
| +
|
| +
|
| class InstanceofStub: public PlatformCodeStub {
|
| public:
|
| enum Flags {
|
|
|