Index: src/type-feedback-vector.cc |
diff --git a/src/type-feedback-vector.cc b/src/type-feedback-vector.cc |
index 79afa2dad2dc31d60d735eaf9f746b1c917159c2..b0be315b2b612bfd3733da6f6f0efbb236d68363 100644 |
--- a/src/type-feedback-vector.cc |
+++ b/src/type-feedback-vector.cc |
@@ -207,14 +207,13 @@ Handle<FixedArray> FeedbackNexus::EnsureArrayOfSize(int length) { |
} |
-void FeedbackNexus::InstallHandlers(int start_index, TypeHandleList* types, |
+void FeedbackNexus::InstallHandlers(int start_index, MapHandleList* maps, |
CodeHandleList* handlers) { |
Isolate* isolate = GetIsolate(); |
Handle<FixedArray> array = handle(FixedArray::cast(GetFeedback()), isolate); |
- int receiver_count = types->length(); |
+ int receiver_count = maps->length(); |
for (int current = 0; current < receiver_count; ++current) { |
- Handle<HeapType> type = types->at(current); |
- Handle<Map> map = IC::TypeToMap(*type, isolate); |
+ Handle<Map> map = maps->at(current); |
Handle<WeakCell> cell = Map::WeakCellForMap(map); |
array->set(start_index + (current * 2), *cell); |
array->set(start_index + (current * 2 + 1), *handlers->at(current)); |
@@ -333,10 +332,9 @@ void KeyedLoadICNexus::ConfigurePremonomorphic() { |
} |
-void LoadICNexus::ConfigureMonomorphic(Handle<HeapType> type, |
+void LoadICNexus::ConfigureMonomorphic(Handle<Map> receiver_map, |
Handle<Code> handler) { |
Handle<FixedArray> array = EnsureArrayOfSize(2); |
- Handle<Map> receiver_map = IC::TypeToMap(*type, GetIsolate()); |
Handle<WeakCell> cell = Map::WeakCellForMap(receiver_map); |
array->set(0, *cell); |
array->set(1, *handler); |
@@ -344,10 +342,9 @@ void LoadICNexus::ConfigureMonomorphic(Handle<HeapType> type, |
void KeyedLoadICNexus::ConfigureMonomorphic(Handle<Name> name, |
- Handle<HeapType> type, |
+ Handle<Map> receiver_map, |
Handle<Code> handler) { |
Handle<FixedArray> array = EnsureArrayOfSize(3); |
- Handle<Map> receiver_map = IC::TypeToMap(*type, GetIsolate()); |
if (name.is_null()) { |
array->set(0, Smi::FromInt(0)); |
} else { |
@@ -359,25 +356,25 @@ void KeyedLoadICNexus::ConfigureMonomorphic(Handle<Name> name, |
} |
-void LoadICNexus::ConfigurePolymorphic(TypeHandleList* types, |
+void LoadICNexus::ConfigurePolymorphic(MapHandleList* maps, |
CodeHandleList* handlers) { |
- int receiver_count = types->length(); |
+ int receiver_count = maps->length(); |
EnsureArrayOfSize(receiver_count * 2); |
- InstallHandlers(0, types, handlers); |
+ InstallHandlers(0, maps, handlers); |
} |
void KeyedLoadICNexus::ConfigurePolymorphic(Handle<Name> name, |
- TypeHandleList* types, |
+ MapHandleList* maps, |
CodeHandleList* handlers) { |
- int receiver_count = types->length(); |
+ int receiver_count = maps->length(); |
Handle<FixedArray> array = EnsureArrayOfSize(1 + receiver_count * 2); |
if (name.is_null()) { |
array->set(0, Smi::FromInt(0)); |
} else { |
array->set(0, *name); |
} |
- InstallHandlers(1, types, handlers); |
+ InstallHandlers(1, maps, handlers); |
} |