Chromium Code Reviews| Index: src/ic.cc |
| diff --git a/src/ic.cc b/src/ic.cc |
| index d5056a9ce8ce3a12c5160ade1fe317383835c3b3..1e7b33363570add68094ed9170df4864f54b69be 100644 |
| --- a/src/ic.cc |
| +++ b/src/ic.cc |
| @@ -1593,7 +1593,7 @@ void KeyedIC::GetReceiverMapsForStub(Code* stub, MapList* result) { |
| RelocInfo* info = it.rinfo(); |
| Object* object = info->target_object(); |
| ASSERT(object->IsMap()); |
| - result->Add(Map::cast(object)); |
| + AddOneReceiverMapIfMissing(result, Map::cast(object)); |
| } |
| } |
| } |
| @@ -1781,11 +1781,6 @@ Map* GetTransitionedMap(Map* map, MapList* maps_list) { |
| MaybeObject* KeyedStoreIC::ComputePolymorphicStub( |
| MapList* receiver_maps, |
| StrictModeFlag strict_mode) { |
| - // TODO(yangguo): <remove> |
| - Code* generic_stub = (strict_mode == kStrictMode) |
| - ? isolate()->builtins()->builtin(Builtins::kKeyedStoreIC_Generic_Strict) |
| - : isolate()->builtins()->builtin(Builtins::kKeyedStoreIC_Generic); |
| - // </remove> |
|
Jakob Kummerow
2011/10/13 09:15:59
nit: remove this empty line
Yang
2011/10/13 09:58:53
Done.
|
| // Collect MONOMORPHIC stubs for all target_receiver_maps. |
| CodeList handler_ics(receiver_maps->length()); |
| @@ -1795,15 +1790,11 @@ MaybeObject* KeyedStoreIC::ComputePolymorphicStub( |
| MaybeObject* maybe_cached_stub = NULL; |
| Map* transitioned_map = GetTransitionedMap(receiver_map, receiver_maps); |
| if (transitioned_map != NULL) { |
| - // TODO(yangguo): Enable this code! |
| - // maybe_cached_stub = FastElementsConversionStub( |
| - // receiver_map->elements_kind(), // original elements_kind |
| - // transitioned_map->elements_kind(), |
| - // receiver_map->instance_type() == JS_ARRAY_TYPE, // is_js_array |
| - // strict_mode_).TryGetCode(); |
| - // TODO(yangguo): <remove> |
| - maybe_cached_stub = generic_stub; |
| - // </remove> |
| + maybe_cached_stub = FastElementsConversionStub( |
| + receiver_map->elements_kind(), // original elements_kind |
| + transitioned_map->elements_kind(), |
| + receiver_map->instance_type() == JS_ARRAY_TYPE, // is_js_array |
| + strict_mode).TryGetCode(); |
| } else { |
| maybe_cached_stub = ComputeMonomorphicStubWithoutMapCheck( |
| receiver_map, strict_mode); |