| Index: src/elements.h
|
| diff --git a/src/elements.h b/src/elements.h
|
| index 51d402d34168e27167589261657cfa9812d01677..0e0b2a36d8d540380c6f7e51d12186d27f0437fe 100644
|
| --- a/src/elements.h
|
| +++ b/src/elements.h
|
| @@ -28,6 +28,7 @@
|
| #ifndef V8_ELEMENTS_H_
|
| #define V8_ELEMENTS_H_
|
|
|
| +#include "elements-kind.h"
|
| #include "objects.h"
|
| #include "heap.h"
|
| #include "isolate.h"
|
| @@ -45,6 +46,10 @@ class ElementsAccessor {
|
| virtual ElementsKind kind() const = 0;
|
| const char* name() const { return name_; }
|
|
|
| + // Checks the elements of an object for consistency, asserting when a problem
|
| + // is found.
|
| + virtual void Validate(JSObject* obj) = 0;
|
| +
|
| // Returns true if a holder contains an element with the specified key
|
| // without iterating up the prototype chain. The caller can optionally pass
|
| // in the backing store to use for the check, which must be compatible with
|
| @@ -79,9 +84,10 @@ class ElementsAccessor {
|
| // elements. This method should only be called for array expansion OR by
|
| // runtime JavaScript code that use InternalArrays and don't care about
|
| // EcmaScript 5.1 semantics.
|
| - virtual MaybeObject* SetCapacityAndLength(JSArray* array,
|
| - int capacity,
|
| - int length) = 0;
|
| + virtual MaybeObject* SetCapacityAndLength(
|
| + JSArray* array,
|
| + int capacity,
|
| + int length) = 0;
|
|
|
| // Deletes an element in an object, returning a new elements backing store.
|
| virtual MaybeObject* Delete(JSObject* holder,
|
|
|