| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index a6bd45f876b984d655ae5bc82a9f5ccfe25c4798..f832f40dd450eb89a3cadba194df13c630ea800f 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -2228,13 +2228,19 @@ class StoreScriptContextFieldStub : public ScriptContextFieldStub {
|
| class LoadFastElementStub : public HydrogenCodeStub {
|
| public:
|
| LoadFastElementStub(Isolate* isolate, bool is_js_array,
|
| - ElementsKind elements_kind)
|
| + ElementsKind elements_kind,
|
| + bool convert_hole_to_undefined = false)
|
| : HydrogenCodeStub(isolate) {
|
| - set_sub_minor_key(ElementsKindBits::encode(elements_kind) |
|
| - IsJSArrayBits::encode(is_js_array));
|
| + set_sub_minor_key(
|
| + ElementsKindBits::encode(elements_kind) |
|
| + IsJSArrayBits::encode(is_js_array) |
|
| + CanConvertHoleToUndefined::encode(convert_hole_to_undefined));
|
| }
|
|
|
| bool is_js_array() const { return IsJSArrayBits::decode(sub_minor_key()); }
|
| + bool convert_hole_to_undefined() const {
|
| + return CanConvertHoleToUndefined::decode(sub_minor_key());
|
| + }
|
|
|
| ElementsKind elements_kind() const {
|
| return ElementsKindBits::decode(sub_minor_key());
|
| @@ -2243,6 +2249,7 @@ class LoadFastElementStub : public HydrogenCodeStub {
|
| private:
|
| class ElementsKindBits: public BitField<ElementsKind, 0, 8> {};
|
| class IsJSArrayBits: public BitField<bool, 8, 1> {};
|
| + class CanConvertHoleToUndefined : public BitField<bool, 9, 1> {};
|
|
|
| CallInterfaceDescriptor GetCallInterfaceDescriptor() override {
|
| if (FLAG_vector_ics) {
|
|
|