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) { |