| Index: src/ic.h
|
| diff --git a/src/ic.h b/src/ic.h
|
| index 6e58eacd94b1ce1c085ab988eece83549bd49089..892138cbf7c33ae8d174a55b5a7aa1bbe70817d6 100644
|
| --- a/src/ic.h
|
| +++ b/src/ic.h
|
| @@ -351,7 +351,7 @@ class KeyedIC: public IC {
|
| explicit KeyedIC(Isolate* isolate) : IC(NO_EXTRA_FRAME, isolate) {}
|
| virtual ~KeyedIC() {}
|
|
|
| - virtual MaybeObject* GetElementStubWithoutMapCheck(
|
| + virtual Handle<Code> GetElementStubWithoutMapCheck(
|
| bool is_js_array,
|
| ElementsKind elements_kind) = 0;
|
|
|
| @@ -367,27 +367,23 @@ class KeyedIC: public IC {
|
| StrictModeFlag strict_mode,
|
| Handle<Code> default_stub);
|
|
|
| - MaybeObject* ComputeStub(JSObject* receiver,
|
| - StubKind stub_kind,
|
| - StrictModeFlag strict_mode,
|
| - Code* default_stub);
|
| -
|
| - virtual MaybeObject* ComputePolymorphicStub(MapList* receiver_maps,
|
| + virtual Handle<Code> ComputePolymorphicStub(MapHandleList* receiver_maps,
|
| StrictModeFlag strict_mode) = 0;
|
|
|
| - MaybeObject* ComputeMonomorphicStubWithoutMapCheck(
|
| - Map* receiver_map,
|
| + Handle<Code> ComputeMonomorphicStubWithoutMapCheck(
|
| + Handle<Map> receiver_map,
|
| StrictModeFlag strict_mode);
|
|
|
| private:
|
| - void GetReceiverMapsForStub(Code* stub, MapList* result);
|
| + void GetReceiverMapsForStub(Handle<Code> stub, MapHandleList* result);
|
|
|
| - MaybeObject* ComputeMonomorphicStub(JSObject* receiver,
|
| + Handle<Code> ComputeMonomorphicStub(Handle<JSObject> receiver,
|
| StubKind stub_kind,
|
| StrictModeFlag strict_mode,
|
| - Code* default_stub);
|
| + Handle<Code> default_stub);
|
|
|
| - MaybeObject* ComputeTransitionedMap(JSObject* receiver, StubKind stub_kind);
|
| + Handle<Map> ComputeTransitionedMap(Handle<JSObject> receiver,
|
| + StubKind stub_kind);
|
|
|
| static bool IsTransitionStubKind(StubKind stub_kind) {
|
| return stub_kind > STORE_NO_TRANSITION;
|
| @@ -427,16 +423,15 @@ class KeyedLoadIC: public KeyedIC {
|
| static const int kSlowCaseBitFieldMask =
|
| (1 << Map::kIsAccessCheckNeeded) | (1 << Map::kHasIndexedInterceptor);
|
|
|
| - virtual MaybeObject* GetElementStubWithoutMapCheck(
|
| + virtual Handle<Code> GetElementStubWithoutMapCheck(
|
| bool is_js_array,
|
| ElementsKind elements_kind);
|
|
|
| protected:
|
| virtual Code::Kind kind() const { return Code::KEYED_LOAD_IC; }
|
|
|
| - virtual MaybeObject* ComputePolymorphicStub(
|
| - MapList* receiver_maps,
|
| - StrictModeFlag strict_mode);
|
| + virtual Handle<Code> ComputePolymorphicStub(MapHandleList* receiver_maps,
|
| + StrictModeFlag strict_mode);
|
|
|
| virtual Handle<Code> string_stub() {
|
| return isolate()->builtins()->KeyedLoadIC_String();
|
| @@ -571,16 +566,15 @@ class KeyedStoreIC: public KeyedIC {
|
| static void GenerateTransitionElementsSmiToDouble(MacroAssembler* masm);
|
| static void GenerateTransitionElementsDoubleToObject(MacroAssembler* masm);
|
|
|
| - virtual MaybeObject* GetElementStubWithoutMapCheck(
|
| + virtual Handle<Code> GetElementStubWithoutMapCheck(
|
| bool is_js_array,
|
| ElementsKind elements_kind);
|
|
|
| protected:
|
| virtual Code::Kind kind() const { return Code::KEYED_STORE_IC; }
|
|
|
| - virtual MaybeObject* ComputePolymorphicStub(
|
| - MapList* receiver_maps,
|
| - StrictModeFlag strict_mode);
|
| + virtual Handle<Code> ComputePolymorphicStub(MapHandleList* receiver_maps,
|
| + StrictModeFlag strict_mode);
|
|
|
| private:
|
| // Update the inline cache.
|
|
|