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

Unified Diff: src/ic/keyed-store-generic.cc

Issue 2674653002: KeyedStoreGeneric: make fast-property stores use the stub cache again (Closed)
Patch Set: Created 3 years, 11 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ic/keyed-store-generic.cc
diff --git a/src/ic/keyed-store-generic.cc b/src/ic/keyed-store-generic.cc
index 89af858539501883852c4896e5cea021c602300e..e50cbb6e9403951e43a1250c92c5146753001f15 100644
--- a/src/ic/keyed-store-generic.cc
+++ b/src/ic/keyed-store-generic.cc
@@ -729,17 +729,20 @@ void KeyedStoreGenericAssembler::EmitGenericPropertyStore(
Bind(&stub_cache);
{
Comment("stub cache probe");
- // The stub cache lookup is opportunistic: if we find a handler, use it;
- // otherwise take the slow path. Since this is a generic stub, compiling
- // a handler (as KeyedStoreIC_Miss would do) is probably a waste of time.
Variable var_handler(this, MachineRepresentation::kTagged);
- Label found_handler(this, &var_handler);
+ Label found_handler(this, &var_handler), stub_cache_miss(this);
TryProbeStubCache(isolate()->store_stub_cache(), receiver, p->name,
- &found_handler, &var_handler, slow);
+ &found_handler, &var_handler, &stub_cache_miss);
Bind(&found_handler);
{
Comment("KeyedStoreGeneric found handler");
- HandleStoreICHandlerCase(p, var_handler.value(), slow);
+ HandleStoreICHandlerCase(p, var_handler.value(), &stub_cache_miss);
+ }
+ Bind(&stub_cache_miss);
+ {
+ Comment("KeyedStoreGeneric_miss");
+ TailCallRuntime(Runtime::kKeyedStoreIC_Miss, p->context, p->value,
+ p->slot, p->vector, p->receiver, p->name);
}
}
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698