| Index: src/stub-cache.h
|
| ===================================================================
|
| --- src/stub-cache.h (revision 3935)
|
| +++ src/stub-cache.h (working copy)
|
| @@ -312,6 +312,7 @@
|
| Object* LoadPropertyWithInterceptorForCall(Arguments args);
|
| Object* StoreInterceptorProperty(Arguments args);
|
| Object* CallInterceptorProperty(Arguments args);
|
| +Object* KeyedLoadPropertyWithInterceptor(Arguments args);
|
|
|
|
|
| // Support function for computing call IC miss stubs.
|
| @@ -346,6 +347,7 @@
|
| static void GenerateLoadGlobalFunctionPrototype(MacroAssembler* masm,
|
| int index,
|
| Register prototype);
|
| +
|
| static void GenerateFastPropertyLoad(MacroAssembler* masm,
|
| Register dst, Register src,
|
| JSObject* holder, int index);
|
| @@ -354,22 +356,20 @@
|
| Register receiver,
|
| Register scratch,
|
| Label* miss_label);
|
| +
|
| static void GenerateLoadStringLength(MacroAssembler* masm,
|
| Register receiver,
|
| - Register scratch,
|
| + Register scratch1,
|
| + Register scratch2,
|
| Label* miss_label);
|
| - static void GenerateLoadStringLength2(MacroAssembler* masm,
|
| - Register receiver,
|
| - Register scratch1,
|
| - Register scratch2,
|
| - Label* miss_label);
|
| +
|
| static void GenerateLoadFunctionPrototype(MacroAssembler* masm,
|
| Register receiver,
|
| Register scratch1,
|
| Register scratch2,
|
| Label* miss_label);
|
| +
|
| static void GenerateStoreField(MacroAssembler* masm,
|
| - Builtins::Name storage_extend,
|
| JSObject* object,
|
| int index,
|
| Map* transition,
|
| @@ -377,16 +377,30 @@
|
| Register name_reg,
|
| Register scratch,
|
| Label* miss_label);
|
| +
|
| static void GenerateLoadMiss(MacroAssembler* masm, Code::Kind kind);
|
|
|
| // Check the integrity of the prototype chain to make sure that the
|
| // current IC is still valid.
|
| +
|
| Register CheckPrototypes(JSObject* object,
|
| Register object_reg,
|
| JSObject* holder,
|
| Register holder_reg,
|
| Register scratch,
|
| String* name,
|
| + Label* miss) {
|
| + return CheckPrototypes(object, object_reg, holder, holder_reg, scratch,
|
| + name, kInvalidProtoDepth, miss);
|
| + }
|
| +
|
| + Register CheckPrototypes(JSObject* object,
|
| + Register object_reg,
|
| + JSObject* holder,
|
| + Register holder_reg,
|
| + Register scratch,
|
| + String* name,
|
| + int save_at_depth,
|
| Label* miss);
|
|
|
| protected:
|
| @@ -538,7 +552,7 @@
|
| explicit CallStubCompiler(int argc, InLoopFlag in_loop)
|
| : arguments_(argc), in_loop_(in_loop) { }
|
|
|
| - Object* CompileCallField(Object* object,
|
| + Object* CompileCallField(JSObject* object,
|
| JSObject* holder,
|
| int index,
|
| String* name);
|
| @@ -547,7 +561,7 @@
|
| JSFunction* function,
|
| String* name,
|
| CheckType check);
|
| - Object* CompileCallInterceptor(Object* object,
|
| + Object* CompileCallInterceptor(JSObject* object,
|
| JSObject* holder,
|
| String* name);
|
| Object* CompileCallGlobal(JSObject* object,
|
|
|