| Index: src/ic.h
|
| ===================================================================
|
| --- src/ic.h (revision 6955)
|
| +++ src/ic.h (working copy)
|
| @@ -197,16 +197,29 @@
|
|
|
| public:
|
| MUST_USE_RESULT MaybeObject* LoadFunction(State state,
|
| + Code::ExtraICState extra_ic_state,
|
| Handle<Object> object,
|
| Handle<String> name);
|
|
|
| protected:
|
| Code::Kind kind_;
|
|
|
| + bool TryUpdateExtraICState(LookupResult* lookup,
|
| + Handle<Object> object,
|
| + Code::ExtraICState* extra_ic_state);
|
| +
|
| + MUST_USE_RESULT MaybeObject* ComputeMonomorphicStub(
|
| + LookupResult* lookup,
|
| + State state,
|
| + Code::ExtraICState extra_ic_state,
|
| + Handle<Object> object,
|
| + Handle<String> name);
|
| +
|
| // Update the inline cache and the global stub cache based on the
|
| // lookup result.
|
| void UpdateCaches(LookupResult* lookup,
|
| State state,
|
| + Code::ExtraICState extra_ic_state,
|
| Handle<Object> object,
|
| Handle<String> name);
|
|
|
| @@ -280,7 +293,8 @@
|
|
|
| // Specialized code generator routines.
|
| static void GenerateArrayLength(MacroAssembler* masm);
|
| - static void GenerateStringLength(MacroAssembler* masm);
|
| + static void GenerateStringLength(MacroAssembler* masm,
|
| + bool support_wrappers);
|
| static void GenerateFunctionPrototype(MacroAssembler* masm);
|
|
|
| // Clear the use of the inlined version.
|
| @@ -346,12 +360,6 @@
|
| static void GenerateGeneric(MacroAssembler* masm);
|
| static void GenerateString(MacroAssembler* masm);
|
|
|
| - // Generators for external array types. See objects.h.
|
| - // These are similar to the generic IC; they optimize the case of
|
| - // operating upon external array types but fall back to the runtime
|
| - // for all other types.
|
| - static void GenerateExternalArray(MacroAssembler* masm,
|
| - ExternalArrayType array_type);
|
| static void GenerateIndexedInterceptor(MacroAssembler* masm);
|
|
|
| // Clear the use of the inlined version.
|
| @@ -392,7 +400,6 @@
|
| return isolate()->builtins()->builtin(
|
| Builtins::KeyedLoadIC_String);
|
| }
|
| - Code* external_array_stub(JSObject::ElementsKind elements_kind);
|
|
|
| Code* indexed_interceptor_stub() {
|
| return isolate()->builtins()->builtin(
|
| @@ -482,13 +489,6 @@
|
| static void GenerateRuntimeSetProperty(MacroAssembler* masm);
|
| static void GenerateGeneric(MacroAssembler* masm);
|
|
|
| - // Generators for external array types. See objects.h.
|
| - // These are similar to the generic IC; they optimize the case of
|
| - // operating upon external array types but fall back to the runtime
|
| - // for all other types.
|
| - static void GenerateExternalArray(MacroAssembler* masm,
|
| - ExternalArrayType array_type);
|
| -
|
| // Clear the inlined version so the IC is always hit.
|
| static void ClearInlinedVersion(Address address);
|
|
|
| @@ -516,7 +516,6 @@
|
| return isolate()->builtins()->builtin(
|
| Builtins::KeyedStoreIC_Generic);
|
| }
|
| - Code* external_array_stub(JSObject::ElementsKind elements_kind);
|
|
|
| static void Clear(Address address, Code* target);
|
|
|
|
|