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

Unified Diff: src/ast/ast.cc

Issue 2370693002: [compiler] Properly guard the speculative optimizations for instanceof. (Closed)
Patch Set: Fix registers on arm/arm64. Created 4 years, 3 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 | src/code-stub-assembler.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ast/ast.cc
diff --git a/src/ast/ast.cc b/src/ast/ast.cc
index 18e88310002a7ba497e1f2fa4356db68c445408c..c4808ca840500bd89c9c4b1498d2f5f16733ad2e 100644
--- a/src/ast/ast.cc
+++ b/src/ast/ast.cc
@@ -735,12 +735,16 @@ void CompareOperation::AssignFeedbackVectorSlots(
// Feedback vector slot is only used by interpreter for binary operations.
// Full-codegen uses AstId to record type feedback.
switch (op()) {
- // instanceof and in do not collect type feedback.
case Token::INSTANCEOF:
+ // instanceof collects feedback in a general slot (for now).
+ type_feedback_slot_ = spec->AddGeneralSlot();
+ return;
case Token::IN:
+ // in does not collect type feedback.
return;
default:
type_feedback_slot_ = spec->AddInterpreterCompareICSlot();
+ return;
}
}
« no previous file with comments | « no previous file | src/code-stub-assembler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698