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

Unified Diff: src/external-reference-table.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/external-reference-table.cc
diff --git a/src/external-reference-table.cc b/src/external-reference-table.cc
index de3a5553367ed7d2c5230bfdbb7ac621eb0f7f40..2943368a2057d6e1265bbbd14ba4fab24d956e44 100644
--- a/src/external-reference-table.cc
+++ b/src/external-reference-table.cc
@@ -350,21 +350,37 @@ ExternalReferenceTable::ExternalReferenceTable(Isolate* isolate) {
Add(setters[i].address, setters[i].name);
}
- StubCache* stub_cache = isolate->stub_cache();
+ StubCache* load_stub_cache = isolate->load_stub_cache();
// Stub cache tables
- Add(stub_cache->key_reference(StubCache::kPrimary).address(),
- "StubCache::primary_->key");
- Add(stub_cache->value_reference(StubCache::kPrimary).address(),
- "StubCache::primary_->value");
- Add(stub_cache->map_reference(StubCache::kPrimary).address(),
- "StubCache::primary_->map");
- Add(stub_cache->key_reference(StubCache::kSecondary).address(),
- "StubCache::secondary_->key");
- Add(stub_cache->value_reference(StubCache::kSecondary).address(),
- "StubCache::secondary_->value");
- Add(stub_cache->map_reference(StubCache::kSecondary).address(),
- "StubCache::secondary_->map");
+ Add(load_stub_cache->key_reference(StubCache::kPrimary).address(),
+ "Load StubCache::primary_->key");
+ Add(load_stub_cache->value_reference(StubCache::kPrimary).address(),
+ "Load StubCache::primary_->value");
+ Add(load_stub_cache->map_reference(StubCache::kPrimary).address(),
+ "Load StubCache::primary_->map");
+ Add(load_stub_cache->key_reference(StubCache::kSecondary).address(),
+ "Load StubCache::secondary_->key");
+ Add(load_stub_cache->value_reference(StubCache::kSecondary).address(),
+ "Load StubCache::secondary_->value");
+ Add(load_stub_cache->map_reference(StubCache::kSecondary).address(),
+ "Load StubCache::secondary_->map");
+
+ StubCache* store_stub_cache = isolate->store_stub_cache();
+
+ // Stub cache tables
+ Add(store_stub_cache->key_reference(StubCache::kPrimary).address(),
+ "Store StubCache::primary_->key");
+ Add(store_stub_cache->value_reference(StubCache::kPrimary).address(),
+ "Store StubCache::primary_->value");
+ Add(store_stub_cache->map_reference(StubCache::kPrimary).address(),
+ "Store StubCache::primary_->map");
+ Add(store_stub_cache->key_reference(StubCache::kSecondary).address(),
+ "Store StubCache::secondary_->key");
+ Add(store_stub_cache->value_reference(StubCache::kSecondary).address(),
+ "Store StubCache::secondary_->value");
+ Add(store_stub_cache->map_reference(StubCache::kSecondary).address(),
+ "Store StubCache::secondary_->map");
// Runtime entries
Add(ExternalReference::delete_handle_scope_extensions(isolate).address(),

Powered by Google App Engine
This is Rietveld 408576698