| Index: src/stub-cache.h
|
| ===================================================================
|
| --- src/stub-cache.h (revision 6955)
|
| +++ src/stub-cache.h (working copy)
|
| @@ -180,6 +180,10 @@
|
| MUST_USE_RESULT MaybeObject* ComputeKeyedStoreSpecialized(
|
| JSObject* receiver);
|
|
|
| + MUST_USE_RESULT MaybeObject* ComputeKeyedLoadOrStoreExternalArray(
|
| + JSObject* receiver,
|
| + bool is_store);
|
| +
|
| // ---
|
|
|
| MUST_USE_RESULT MaybeObject* ComputeCallField(int argc,
|
| @@ -190,13 +194,15 @@
|
| JSObject* holder,
|
| int index);
|
|
|
| - MUST_USE_RESULT MaybeObject* ComputeCallConstant(int argc,
|
| - InLoopFlag in_loop,
|
| - Code::Kind,
|
| - String* name,
|
| - Object* object,
|
| - JSObject* holder,
|
| - JSFunction* function);
|
| + MUST_USE_RESULT MaybeObject* ComputeCallConstant(
|
| + int argc,
|
| + InLoopFlag in_loop,
|
| + Code::Kind,
|
| + Code::ExtraICState extra_ic_state,
|
| + String* name,
|
| + Object* object,
|
| + JSObject* holder,
|
| + JSFunction* function);
|
|
|
| MUST_USE_RESULT MaybeObject* ComputeCallNormal(int argc,
|
| InLoopFlag in_loop,
|
| @@ -431,7 +437,8 @@
|
| Register receiver,
|
| Register scratch1,
|
| Register scratch2,
|
| - Label* miss_label);
|
| + Label* miss_label,
|
| + bool support_wrappers);
|
|
|
| static void GenerateLoadFunctionPrototype(MacroAssembler* masm,
|
| Register receiver,
|
| @@ -505,17 +512,16 @@
|
| String* name,
|
| Label* miss);
|
|
|
| - bool GenerateLoadCallback(JSObject* object,
|
| - JSObject* holder,
|
| - Register receiver,
|
| - Register name_reg,
|
| - Register scratch1,
|
| - Register scratch2,
|
| - Register scratch3,
|
| - AccessorInfo* callback,
|
| - String* name,
|
| - Label* miss,
|
| - Failure** failure);
|
| + MaybeObject* GenerateLoadCallback(JSObject* object,
|
| + JSObject* holder,
|
| + Register receiver,
|
| + Register name_reg,
|
| + Register scratch1,
|
| + Register scratch2,
|
| + Register scratch3,
|
| + AccessorInfo* callback,
|
| + String* name,
|
| + Label* miss);
|
|
|
| void GenerateLoadConstant(JSObject* object,
|
| JSObject* holder,
|
| @@ -670,6 +676,7 @@
|
| CallStubCompiler(int argc,
|
| InLoopFlag in_loop,
|
| Code::Kind kind,
|
| + Code::ExtraICState extra_ic_state,
|
| InlineCacheHolderFlag cache_holder);
|
|
|
| MUST_USE_RESULT MaybeObject* CompileCallField(JSObject* object,
|
| @@ -715,6 +722,7 @@
|
| const ParameterCount arguments_;
|
| const InLoopFlag in_loop_;
|
| const Code::Kind kind_;
|
| + const Code::ExtraICState extra_ic_state_;
|
| const InlineCacheHolderFlag cache_holder_;
|
|
|
| const ParameterCount& arguments() { return arguments_; }
|
| @@ -803,6 +811,20 @@
|
| CallHandlerInfo* api_call_info_;
|
| };
|
|
|
| +class ExternalArrayStubCompiler: public StubCompiler {
|
| + public:
|
| + explicit ExternalArrayStubCompiler() {}
|
| +
|
| + MUST_USE_RESULT MaybeObject* CompileKeyedLoadStub(
|
| + ExternalArrayType array_type, Code::Flags flags);
|
| +
|
| + MUST_USE_RESULT MaybeObject* CompileKeyedStoreStub(
|
| + ExternalArrayType array_type, Code::Flags flags);
|
| +
|
| + private:
|
| + MaybeObject* GetCode(Code::Flags flags);
|
| +};
|
| +
|
| } } // namespace v8::internal
|
|
|
| #endif // V8_STUB_CACHE_H_
|
|
|