| Index: src/lithium.cc
|
| diff --git a/src/lithium.cc b/src/lithium.cc
|
| index ecb5a5863563f84f14b3037e6a214617b7bea9ea..77b0fda867367a5042fdcd9a4dba15ccaaf6a376 100644
|
| --- a/src/lithium.cc
|
| +++ b/src/lithium.cc
|
| @@ -234,7 +234,8 @@ LChunk::LChunk(CompilationInfo* info, HGraph* graph)
|
| instructions_(32, graph->zone()),
|
| pointer_maps_(8, graph->zone()),
|
| inlined_closures_(1, graph->zone()),
|
| - deprecation_dependencies_(MapLess(), MapAllocator(graph->zone())) {
|
| + deprecation_dependencies_(MapLess(), MapAllocator(graph->zone())),
|
| + stability_dependencies_(MapLess(), MapAllocator(graph->zone())) {
|
| }
|
|
|
|
|
| @@ -382,6 +383,14 @@ void LChunk::CommitDependencies(Handle<Code> code) const {
|
| Map::AddDependentCode(map, DependentCode::kTransitionGroup, code);
|
| }
|
|
|
| + for (MapSet::const_iterator it = stability_dependencies_.begin(),
|
| + iend = stability_dependencies_.end(); it != iend; ++it) {
|
| + Handle<Map> map = *it;
|
| + ASSERT(map->is_stable());
|
| + ASSERT(map->CanTransition());
|
| + Map::AddDependentCode(map, DependentCode::kPrototypeCheckGroup, code);
|
| + }
|
| +
|
| info_->CommitDependencies(code);
|
| }
|
|
|
|
|