Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 2881ec8fe41ca3d686a6ef86f2c4e84f22990b1b..ffc567b73a92aae20c5dba34fa59da0685322e90 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -973,7 +973,6 @@ class Object : public MaybeObject { |
String* key, |
PropertyAttributes* attributes); |
- static Handle<Object> GetProperty(Handle<Object> object, Handle<String> key); |
static Handle<Object> GetProperty(Handle<Object> object, |
Handle<Object> receiver, |
LookupResult* result, |
@@ -1847,11 +1846,29 @@ class JSObject: public JSReceiver { |
PropertyType GetLocalPropertyType(String* name); |
PropertyType GetLocalElementType(uint32_t index); |
- |
- // These methods do not perform access checks! |
AccessorPair* GetLocalPropertyAccessorPair(String* name); |
AccessorPair* GetLocalElementAccessorPair(uint32_t index); |
+ // Tells whether the index'th element is present and how it is stored. |
+ enum LocalElementKind { |
+ // There is no element with given index. |
+ UNDEFINED_ELEMENT, |
+ |
+ // Element with given index is handled by interceptor. |
+ INTERCEPTED_ELEMENT, |
+ |
+ // Element with given index is character in string. |
+ STRING_CHARACTER_ELEMENT, |
+ |
+ // Element with given index is stored in fast backing store. |
+ FAST_ELEMENT, |
+ |
+ // Element with given index is stored in slow backing store. |
+ DICTIONARY_ELEMENT |
+ }; |
+ |
+ LocalElementKind GetLocalElementKind(uint32_t index); |
+ |
MUST_USE_RESULT MaybeObject* SetFastElement(uint32_t index, |
Object* value, |
StrictModeFlag strict_mode, |