Index: src/heap.cc |
diff --git a/src/heap.cc b/src/heap.cc |
index 83da35c9cd735979d08e7320dbc0f1b8706fa958..e8b03b4232ce87ba52c5db78974f8a71e2277cef 100644 |
--- a/src/heap.cc |
+++ b/src/heap.cc |
@@ -467,6 +467,16 @@ intptr_t Heap::SizeOfObjects() { |
} |
+void Heap::ClearAllKeyedStoreICs() { |
danno
2013/10/23 12:22:11
Can you please add a parameter of the IC type and
mvstanton
2013/10/30 10:42:42
Done.
|
+ HeapObjectIterator it(code_space()); |
+ |
+ for (Object* object = it.Next(); object != NULL; object = it.Next()) { |
+ Code* code = Code::cast(object); |
+ code->ClearInlineCaches(Code::KEYED_STORE_IC); |
danno
2013/10/23 12:22:11
You don't have to do this if the code is not a nor
mvstanton
2013/10/30 10:42:42
Done.
|
+ } |
+} |
+ |
+ |
void Heap::RepairFreeListsAfterBoot() { |
PagedSpaces spaces(this); |
for (PagedSpace* space = spaces.next(); |
@@ -2453,6 +2463,7 @@ MaybeObject* Heap::AllocatePartialMap(InstanceType instance_type, |
int bit_field3 = Map::EnumLengthBits::encode(Map::kInvalidEnumCache) | |
Map::OwnsDescriptors::encode(true); |
reinterpret_cast<Map*>(result)->set_bit_field3(bit_field3); |
+ reinterpret_cast<Map*>(result)->set_bit_field4(0); |
return result; |
} |
@@ -2486,6 +2497,7 @@ MaybeObject* Heap::AllocateMap(InstanceType instance_type, |
Map::OwnsDescriptors::encode(true); |
map->set_bit_field3(bit_field3); |
map->set_elements_kind(elements_kind); |
+ map->set_bit_field4(0); |
return map; |
} |