| Index: src/property.h
|
| ===================================================================
|
| --- src/property.h (revision 9531)
|
| +++ src/property.h (working copy)
|
| @@ -115,11 +115,9 @@
|
| class ElementsTransitionDescriptor: public Descriptor {
|
| public:
|
| ElementsTransitionDescriptor(String* key,
|
| - Map* map,
|
| - ElementsKind elements_kind)
|
| - : Descriptor(key, map, PropertyDetails(NONE,
|
| - ELEMENTS_TRANSITION,
|
| - elements_kind)) { }
|
| + Object* map_or_array)
|
| + : Descriptor(key, map_or_array, PropertyDetails(NONE,
|
| + ELEMENTS_TRANSITION)) { }
|
| };
|
|
|
| // Marks a field name in a map so that adding the field is guaranteed
|
| @@ -202,9 +200,9 @@
|
| number_ = entry;
|
| }
|
|
|
| - void HandlerResult() {
|
| + void HandlerResult(JSProxy* proxy) {
|
| lookup_type_ = HANDLER_TYPE;
|
| - holder_ = NULL;
|
| + holder_ = proxy;
|
| details_ = PropertyDetails(NONE, HANDLER);
|
| cacheable_ = false;
|
| }
|
| @@ -221,9 +219,14 @@
|
|
|
| JSObject* holder() {
|
| ASSERT(IsFound());
|
| - return holder_;
|
| + return JSObject::cast(holder_);
|
| }
|
|
|
| + JSProxy* proxy() {
|
| + ASSERT(IsFound());
|
| + return JSProxy::cast(holder_);
|
| + }
|
| +
|
| PropertyType type() {
|
| ASSERT(IsFound());
|
| return details_.type();
|
| @@ -354,7 +357,7 @@
|
| CONSTANT_TYPE
|
| } lookup_type_;
|
|
|
| - JSObject* holder_;
|
| + JSReceiver* holder_;
|
| int number_;
|
| bool cacheable_;
|
| PropertyDetails details_;
|
|
|