| Index: src/stub-cache.h
|
| diff --git a/src/stub-cache.h b/src/stub-cache.h
|
| index 737b069599367a73eb6305ea5657e1d4307cd304..72ca16e428325d675da3fbdd02f359de2bae3b59 100644
|
| --- a/src/stub-cache.h
|
| +++ b/src/stub-cache.h
|
| @@ -472,9 +472,6 @@ class StubCompiler BASE_EMBEDDED {
|
| // register is only clobbered if it the same as the holder register. The
|
| // function returns a register containing the holder - either object_reg or
|
| // holder_reg.
|
| - // The function can optionally (when save_at_depth !=
|
| - // kInvalidProtoDepth) save the object at the given depth by moving
|
| - // it to [esp + kPointerSize].
|
| Register CheckPrototypes(Handle<HeapType> type,
|
| Register object_reg,
|
| Handle<JSObject> holder,
|
| @@ -483,20 +480,6 @@ class StubCompiler BASE_EMBEDDED {
|
| Register scratch2,
|
| Handle<Name> name,
|
| Label* miss,
|
| - PrototypeCheckType check = CHECK_ALL_MAPS) {
|
| - return CheckPrototypes(type, object_reg, holder, holder_reg, scratch1,
|
| - scratch2, name, kInvalidProtoDepth, miss, check);
|
| - }
|
| -
|
| - Register CheckPrototypes(Handle<HeapType> type,
|
| - Register object_reg,
|
| - Handle<JSObject> holder,
|
| - Register holder_reg,
|
| - Register scratch1,
|
| - Register scratch2,
|
| - Handle<Name> name,
|
| - int save_at_depth,
|
| - Label* miss,
|
| PrototypeCheckType check = CHECK_ALL_MAPS);
|
|
|
| void GenerateBooleanCheck(Register object, Label* miss);
|
| @@ -1028,10 +1011,19 @@ class CallOptimization BASE_EMBEDDED {
|
| return api_call_info_;
|
| }
|
|
|
| - // Returns the depth of the object having the expected type in the
|
| - // prototype chain between the two arguments.
|
| - int GetPrototypeDepthOfExpectedType(Handle<JSObject> object,
|
| - Handle<JSObject> holder) const;
|
| + enum HolderLookup {
|
| + kHolderNotFound,
|
| + kHolderIsReceiver,
|
| + kHolderIsPrototypeOfMap
|
| + };
|
| + // Returns a map whose prototype has the expected type in the
|
| + // prototype chain between the two arguments
|
| + // null will be returned if the first argument has that property
|
| + // lookup will be set accordingly
|
| + Handle<Map> LookupHolderOfExpectedType(Handle<JSObject> receiver,
|
| + Handle<JSObject> object,
|
| + Handle<JSObject> holder,
|
| + HolderLookup* holder_lookup) const;
|
|
|
| bool IsCompatibleReceiver(Object* receiver) {
|
| ASSERT(is_simple_api_call());
|
|
|