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

Unified Diff: src/typing.cc

Issue 736043002: Do not bailout from optimizing functions that use f(x, arguments) (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Remove Lookup Created 6 years, 1 month 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/typing.cc
diff --git a/src/typing.cc b/src/typing.cc
index 1cfaf64f64a403e4a44b035c889c091625ac0592..7f736a4fc6620419c4dddbf6ca4dc4e32313b9a0 100644
--- a/src/typing.cc
+++ b/src/typing.cc
@@ -510,12 +510,13 @@ void AstTyper::VisitProperty(Property* expr) {
void AstTyper::VisitCall(Call* expr) {
// Collect type feedback.
RECURSE(Visit(expr->expression()));
+ FeedbackVectorICSlot slot = expr->CallFeedbackSlot();
+ expr->set_is_uninitialized(oracle()->CallIsUninitialized(slot));
if (!expr->expression()->IsProperty() &&
expr->IsUsingCallFeedbackSlot(isolate()) &&
- oracle()->CallIsMonomorphic(expr->CallFeedbackSlot())) {
- expr->set_target(oracle()->GetCallTarget(expr->CallFeedbackSlot()));
- Handle<AllocationSite> site =
- oracle()->GetCallAllocationSite(expr->CallFeedbackSlot());
+ oracle()->CallIsMonomorphic(slot)) {
+ expr->set_target(oracle()->GetCallTarget(slot));
+ Handle<AllocationSite> site = oracle()->GetCallAllocationSite(slot);
expr->set_allocation_site(site);
}
« src/ast.h ('K') | « src/type-info.cc ('k') | test/mjsunit/regress/regress-3709.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698