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

Unified Diff: runtime/vm/aot_optimizer.h

Issue 2314133003: AOT: Use a cid range check when possible to implement type tests. (Closed)
Patch Set: . 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 | runtime/vm/aot_optimizer.cc » ('j') | runtime/vm/aot_optimizer.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/aot_optimizer.h
diff --git a/runtime/vm/aot_optimizer.h b/runtime/vm/aot_optimizer.h
index 972a71cf6e08b90091be204ee025e6cf96757b4a..68a5dee1cea42b999d04da52235ee88c5711dcbb 100644
--- a/runtime/vm/aot_optimizer.h
+++ b/runtime/vm/aot_optimizer.h
@@ -75,6 +75,11 @@ class AotOptimizer : public FlowGraphVisitor {
bool TryInlineInstanceMethod(InstanceCallInstr* call);
void ReplaceWithInstanceOf(InstanceCallInstr* instr);
bool TypeCheckAsClassEquality(const AbstractType& type);
+ void ReplaceWithClassRangeCheck(InstanceCallInstr* call,
+ Definition* left,
+ bool negate,
+ intptr_t lower_limit,
+ intptr_t upper_limit);
void ReplaceWithTypeCast(InstanceCallInstr* instr);
bool TryReplaceInstanceCallWithInline(InstanceCallInstr* call);
@@ -105,6 +110,9 @@ class AotOptimizer : public FlowGraphVisitor {
void AddReceiverCheck(InstanceCallInstr* call);
void ReplaceCall(Definition* call, Definition* replacement);
+ void ReplaceCallWithSubgraph(Definition* call,
+ TargetEntryInstr* entry,
+ Definition* last);
bool InstanceCallNeedsClassCheck(InstanceCallInstr* call,
« no previous file with comments | « no previous file | runtime/vm/aot_optimizer.cc » ('j') | runtime/vm/aot_optimizer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698