Index: src/elements.h |
diff --git a/src/elements.h b/src/elements.h |
index 76b2b0ebfbbaed670c04499c74836edfdb36a5b4..0ef45d0b2c17395c8c74e68f9a6c4555bbebb520 100644 |
--- a/src/elements.h |
+++ b/src/elements.h |
@@ -226,7 +226,11 @@ class ElementsAccessor { |
return elements_accessors_[elements_kind]; |
} |
- static ElementsAccessor* ForArray(Handle<FixedArrayBase> array); |
+ // TODO(ishell): Temporary wrapper until handlified. |
+ inline static ElementsAccessor* ForArray(Handle<FixedArrayBase> array) { |
+ return ForArray(*array); |
+ } |
+ static ElementsAccessor* ForArray(FixedArrayBase* array); |
static void InitializeOncePerProcess(); |
static void TearDown(); |
@@ -234,7 +238,7 @@ class ElementsAccessor { |
protected: |
friend class SloppyArgumentsElementsAccessor; |
- virtual uint32_t GetCapacity(Handle<FixedArrayBase> backing_store) = 0; |
+ virtual uint32_t GetCapacity(FixedArrayBase* backing_store) = 0; |
// Element handlers distinguish between indexes and keys when they manipulate |
// elements. Indexes refer to elements in terms of their location in the |
@@ -247,6 +251,20 @@ class ElementsAccessor { |
virtual uint32_t GetKeyForIndex(Handle<FixedArrayBase> backing_store, |
uint32_t index) = 0; |
+ // TODO(ishell): Non-handlified versions, used only by accessors' |
+ // implementations. To be removed once elements.cc is handlified. |
+ MUST_USE_RESULT virtual PropertyAttributes GetAttributes( |
+ Object* receiver, |
+ JSObject* holder, |
+ uint32_t key, |
+ FixedArrayBase* backing_store) = 0; |
+ |
+ MUST_USE_RESULT virtual PropertyType GetType( |
+ Object* receiver, |
+ JSObject* holder, |
+ uint32_t key, |
+ FixedArrayBase* backing_store) = 0; |
+ |
private: |
static ElementsAccessor** elements_accessors_; |
const char* name_; |