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

Unified Diff: src/code-stub-assembler.cc

Issue 2123983004: [ic] Split megamorphic stub cache in two caches (for loads and for stores). (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@flags-fix
Patch Set: Rebasing Created 4 years, 5 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
Index: src/code-stub-assembler.cc
diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc
index c9fd66b40ddfdd2d445d32809110e6623262dc8d..f403a4aedb2d4fab545b7cd8d2990415dc9d0fa5 100644
--- a/src/code-stub-assembler.cc
+++ b/src/code-stub-assembler.cc
@@ -2829,9 +2829,11 @@ void CodeStubAssembler::TryProbeStubCacheTable(
}
void CodeStubAssembler::TryProbeStubCache(
- StubCache* stub_cache, Code::Flags flags, compiler::Node* receiver,
- compiler::Node* name, Label* if_handler, Variable* var_handler,
- Label* if_miss) {
+ StubCache* stub_cache, compiler::Node* receiver, compiler::Node* name,
+ Label* if_handler, Variable* var_handler, Label* if_miss) {
+ Code::Flags flags = Code::RemoveHolderFromFlags(
+ Code::ComputeHandlerFlags(stub_cache->ic_kind()));
+
Label try_secondary(this), miss(this);
Counters* counters = isolate()->counters();
@@ -2899,10 +2901,7 @@ void CodeStubAssembler::LoadIC(const LoadICParameters* p) {
WordEqual(feedback, LoadRoot(Heap::kmegamorphic_symbolRootIndex)),
&miss);
- Code::Flags code_flags =
- Code::RemoveHolderFromFlags(Code::ComputeHandlerFlags(Code::LOAD_IC));
-
- TryProbeStubCache(isolate()->stub_cache(), code_flags, p->receiver, p->name,
+ TryProbeStubCache(isolate()->load_stub_cache(), p->receiver, p->name,
&if_handler, &var_handler, &miss);
}
Bind(&miss);

Powered by Google App Engine
This is Rietveld 408576698