| Index: src/compilation-dependencies.cc
|
| diff --git a/src/compilation-dependencies.cc b/src/compilation-dependencies.cc
|
| index 183de2876ea957f531e01dcfe95599e0b78877ad..96b3859e9ab4b73eb22a7e41db3568ed59f30f52 100644
|
| --- a/src/compilation-dependencies.cc
|
| +++ b/src/compilation-dependencies.cc
|
| @@ -124,6 +124,20 @@
|
| }
|
|
|
|
|
| +void CompilationDependencies::AssumePrototypeMapsStable(
|
| + Handle<Map> map, MaybeHandle<JSReceiver> prototype) {
|
| + for (PrototypeIterator i(map); !i.IsAtEnd(); i.Advance()) {
|
| + Handle<JSReceiver> const current =
|
| + PrototypeIterator::GetCurrent<JSReceiver>(i);
|
| + AssumeMapStable(handle(current->map()));
|
| + Handle<JSReceiver> last;
|
| + if (prototype.ToHandle(&last) && last.is_identical_to(current)) {
|
| + break;
|
| + }
|
| + }
|
| +}
|
| +
|
| +
|
| void CompilationDependencies::AssumeTransitionStable(
|
| Handle<AllocationSite> site) {
|
| // Do nothing if the object doesn't have any useful element transitions left.
|
|
|