| Index: src/stub-cache.h
|
| diff --git a/src/stub-cache.h b/src/stub-cache.h
|
| index 89ee9d76d272c77f5573fd06e8d142cc04bde0b1..c1cd77a1d31c3e0892a6834ad1756ef11ee3cb89 100644
|
| --- a/src/stub-cache.h
|
| +++ b/src/stub-cache.h
|
| @@ -416,8 +416,10 @@ class StubCompiler BASE_EMBEDDED {
|
| Label* miss);
|
|
|
| static void GenerateFastPropertyLoad(MacroAssembler* masm,
|
| - Register dst, Register src,
|
| - JSObject* holder, int index);
|
| + Register dst,
|
| + Register src,
|
| + Handle<JSObject> holder,
|
| + int index);
|
|
|
| static void GenerateLoadArrayLength(MacroAssembler* masm,
|
| Register receiver,
|
| @@ -466,7 +468,30 @@ class StubCompiler BASE_EMBEDDED {
|
| // 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<JSObject> object,
|
| + Register object_reg,
|
| + Handle<JSObject> holder,
|
| + Register holder_reg,
|
| + Register scratch1,
|
| + Register scratch2,
|
| + Handle<String> name,
|
| + Label* miss) {
|
| + return CheckPrototypes(object, object_reg, holder, holder_reg, scratch1,
|
| + scratch2, name, kInvalidProtoDepth, miss);
|
| + }
|
|
|
| + Register CheckPrototypes(Handle<JSObject> object,
|
| + Register object_reg,
|
| + Handle<JSObject> holder,
|
| + Register holder_reg,
|
| + Register scratch1,
|
| + Register scratch2,
|
| + Handle<String> name,
|
| + int save_at_depth,
|
| + Label* miss);
|
| +
|
| + // TODO(kmillikin): Eliminate this function when the stub cache is fully
|
| + // handlified.
|
| Register CheckPrototypes(JSObject* object,
|
| Register object_reg,
|
| JSObject* holder,
|
| @@ -479,6 +504,8 @@ class StubCompiler BASE_EMBEDDED {
|
| scratch2, name, kInvalidProtoDepth, miss);
|
| }
|
|
|
| + // TODO(kmillikin): Eliminate this function when the stub cache is fully
|
| + // handlified.
|
| Register CheckPrototypes(JSObject* object,
|
| Register object_reg,
|
| JSObject* holder,
|
| @@ -491,6 +518,7 @@ class StubCompiler BASE_EMBEDDED {
|
|
|
| protected:
|
| Handle<Code> GetCodeWithFlags(Code::Flags flags, const char* name);
|
| + Handle<Code> GetCodeWithFlags(Code::Flags flags, Handle<String> name);
|
|
|
| MUST_USE_RESULT MaybeObject* TryGetCodeWithFlags(Code::Flags flags,
|
| const char* name);
|
| @@ -826,11 +854,6 @@ class CallStubCompiler: public StubCompiler {
|
| int index,
|
| Handle<String> name);
|
|
|
| - MUST_USE_RESULT MaybeObject* CompileCallField(JSObject* object,
|
| - JSObject* holder,
|
| - int index,
|
| - String* name);
|
| -
|
| Handle<Code> CompileCallConstant(Handle<Object> object,
|
| Handle<JSObject> holder,
|
| Handle<JSFunction> function,
|
| @@ -899,13 +922,15 @@ class CallStubCompiler: public StubCompiler {
|
|
|
| const ParameterCount& arguments() { return arguments_; }
|
|
|
| - MUST_USE_RESULT MaybeObject* GetCode(PropertyType type, String* name);
|
| + Handle<Code> GetCode(PropertyType type, Handle<String> name);
|
| + Handle<Code> GetCode(Handle<JSFunction> function);
|
|
|
| - // Convenience function. Calls GetCode above passing
|
| - // CONSTANT_FUNCTION type and the name of the given function.
|
| - MUST_USE_RESULT MaybeObject* GetCode(JSFunction* function);
|
| + // TODO(kmillikin): Eliminate these functions when the stub cache is fully
|
| + // handlified.
|
| + MUST_USE_RESULT MaybeObject* TryGetCode(PropertyType type, String* name);
|
| + MUST_USE_RESULT MaybeObject* TryGetCode(JSFunction* function);
|
|
|
| - void GenerateNameCheck(String* name, Label* miss);
|
| + void GenerateNameCheck(Handle<String> name, Label* miss);
|
|
|
| void GenerateGlobalReceiverCheck(JSObject* object,
|
| JSObject* holder,
|
| @@ -918,9 +943,12 @@ class CallStubCompiler: public StubCompiler {
|
| JSFunction* function,
|
| Label* miss);
|
|
|
| - // Generates a jump to CallIC miss stub. Returns Failure if the jump cannot
|
| - // be generated.
|
| - MUST_USE_RESULT MaybeObject* GenerateMissBranch();
|
| + // Generates a jump to CallIC miss stub.
|
| + void GenerateMissBranch();
|
| +
|
| + // TODO(kmillikin): Eliminate this function when the stub cache is fully
|
| + // handlified.
|
| + MUST_USE_RESULT MaybeObject* TryGenerateMissBranch();
|
| };
|
|
|
|
|
|
|