Index: src/ic/handler-configuration.h |
diff --git a/src/ic/handler-configuration.h b/src/ic/handler-configuration.h |
index 7113912983dff7fa675fc08ef61c528ff3aab41c..756cb312acef97ac506586550890778d25fdcc11 100644 |
--- a/src/ic/handler-configuration.h |
+++ b/src/ic/handler-configuration.h |
@@ -16,12 +16,12 @@ namespace internal { |
// A set of bit fields representing Smi handlers for loads. |
class LoadHandler { |
public: |
- enum Kind { kForElements, kForFields, kForConstants }; |
+ enum Kind { kForElements, kForFields, kForConstants, kForNonExistent }; |
class KindBits : public BitField<Kind, 0, 2> {}; |
// Defines whether negative lookup check should be done on receiver object. |
- // Applicable to kForFields and kForConstants kinds only when loading value |
- // from prototype chain. Ignored when loading from holder. |
+ // Applicable to kForFields, kForConstants and kForNonExistent kinds only when |
+ // loading value from prototype chain. Ignored when loading from holder. |
class DoNegativeLookupOnReceiverBits |
: public BitField<bool, KindBits::kNext, 1> {}; |
@@ -86,6 +86,11 @@ class LoadHandler { |
static inline Handle<Object> EnableNegativeLookupOnReceiver( |
Isolate* isolate, Handle<Object> smi_handler); |
+ // Creates a Smi-handler for loading a non-existent property. Works only as |
+ // a part of prototype chain check. |
+ static inline Handle<Object> LoadNonExistent( |
+ Isolate* isolate, bool do_negative_lookup_on_receiver); |
+ |
// Creates a Smi-handler for loading an element. |
static inline Handle<Object> LoadElement(Isolate* isolate, |
ElementsKind elements_kind, |