Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(855)

Unified Diff: src/ic/ic.cc

Issue 1875033003: Revert of Turn StoreIC::Megamorphic into a builtin, get rid of the non-monomorphic-cache (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/ic/ic.h ('k') | src/ic/ic-compiler.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ic/ic.cc
diff --git a/src/ic/ic.cc b/src/ic/ic.cc
index 37fbf44843327d1e1112fb5da14cd3058d80d298..17614fa4ec8f1249f4ff8cdae77356d377a15869 100644
--- a/src/ic/ic.cc
+++ b/src/ic/ic.cc
@@ -1431,9 +1431,8 @@
return stub.GetCode();
}
- return is_strict(language_mode)
- ? isolate->builtins()->StoreIC_Megamorphic_Strict()
- : isolate->builtins()->StoreIC_Megamorphic();
+ return PropertyICCompiler::ComputeStore(isolate, initialization_state,
+ ComputeExtraICState(language_mode));
}
Handle<Code> StoreIC::slow_stub() const {
@@ -1632,8 +1631,8 @@
ComputeTransitionedMap(receiver_map, store_mode);
store_mode = GetNonTransitioningStoreMode(store_mode);
Handle<Code> handler =
- PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler(monomorphic_map,
- store_mode);
+ PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler(
+ monomorphic_map, language_mode(), store_mode);
return ConfigureVectorState(Handle<Name>(), monomorphic_map, handler);
}
@@ -1659,7 +1658,7 @@
store_mode = GetNonTransitioningStoreMode(store_mode);
Handle<Code> handler =
PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler(
- transitioned_receiver_map, store_mode);
+ transitioned_receiver_map, language_mode(), store_mode);
ConfigureVectorState(Handle<Name>(), transitioned_receiver_map, handler);
return;
}
@@ -1672,8 +1671,8 @@
// grow at the end of the array, handle OOB accesses or copy COW arrays
// and still stay MONOMORPHIC.
Handle<Code> handler =
- PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler(receiver_map,
- store_mode);
+ PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler(
+ receiver_map, language_mode(), store_mode);
return ConfigureVectorState(Handle<Name>(), receiver_map, handler);
}
}
@@ -1734,7 +1733,8 @@
MapHandleList transitioned_maps(target_receiver_maps.length());
CodeHandleList handlers(target_receiver_maps.length());
PropertyICCompiler::ComputeKeyedStorePolymorphicHandlers(
- &target_receiver_maps, &transitioned_maps, &handlers, store_mode);
+ &target_receiver_maps, &transitioned_maps, &handlers, store_mode,
+ language_mode());
ConfigureVectorState(&target_receiver_maps, &transitioned_maps, &handlers);
}
« no previous file with comments | « src/ic/ic.h ('k') | src/ic/ic-compiler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698