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

Unified Diff: src/hydrogen-instructions.h

Issue 6321007: Disable aggressive optimizations on the last optimization attempt. (Closed)
Patch Set: Created 9 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 | « src/hydrogen.cc ('k') | src/v8globals.h » ('j') | src/v8globals.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/hydrogen-instructions.h
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
index 4a23f2a327ef4d41e19481c84c6279ee779a1907..de003477315395d95cfb9d24bf244cf5461e4833 100644
--- a/src/hydrogen-instructions.h
+++ b/src/hydrogen-instructions.h
@@ -773,6 +773,10 @@ class HInstruction: public HValue {
virtual void Verify() const;
#endif
+ // Conservative indication of whether the instruction can
+ // deoptimize. Allowed to have false positives.
Kevin Millikin (Chromium) 2011/01/18 11:18:39 The comment is also confusing. The predicate has
Vitaly Repeshko 2011/01/18 12:24:56 I renamed the function and the comment is much cle
+ virtual bool CanDeoptimize() const { return false; }
fschneider 2011/01/18 10:45:51 I'd rather name this predicate IsCheckInstruction(
Vitaly Repeshko 2011/01/18 12:24:56 Done.
+
DECLARE_INSTRUCTION(Instruction)
protected:
@@ -1504,6 +1508,8 @@ class HCheckMap: public HUnaryOperation {
SetFlag(kDependsOnMaps);
}
+ virtual bool CanDeoptimize() const { return true; }
+
virtual Representation RequiredInputRepresentation(int index) const {
return Representation::Tagged();
}
@@ -1537,6 +1543,8 @@ class HCheckFunction: public HUnaryOperation {
SetFlag(kUseGVN);
}
+ virtual bool CanDeoptimize() const { return true; }
+
virtual Representation RequiredInputRepresentation(int index) const {
return Representation::Tagged();
}
@@ -1573,6 +1581,8 @@ class HCheckInstanceType: public HUnaryOperation {
SetFlag(kUseGVN);
}
+ virtual bool CanDeoptimize() const { return true; }
+
virtual Representation RequiredInputRepresentation(int index) const {
return Representation::Tagged();
}
@@ -1610,6 +1620,8 @@ class HCheckNonSmi: public HUnaryOperation {
SetFlag(kUseGVN);
}
+ virtual bool CanDeoptimize() const { return true; }
+
virtual Representation RequiredInputRepresentation(int index) const {
return Representation::Tagged();
}
@@ -1632,6 +1644,8 @@ class HCheckPrototypeMaps: public HInstruction {
SetFlag(kDependsOnMaps);
}
+ virtual bool CanDeoptimize() const { return true; }
+
#ifdef DEBUG
virtual void Verify() const;
#endif
@@ -1668,6 +1682,8 @@ class HCheckSmi: public HUnaryOperation {
SetFlag(kUseGVN);
}
+ virtual bool CanDeoptimize() const { return true; }
+
virtual Representation RequiredInputRepresentation(int index) const {
return Representation::Tagged();
}
@@ -1996,6 +2012,8 @@ class HBoundsCheck: public HBinaryOperation {
SetFlag(kUseGVN);
}
+ virtual bool CanDeoptimize() const { return true; }
+
virtual Representation RequiredInputRepresentation(int index) const {
return Representation::Integer32();
}
« no previous file with comments | « src/hydrogen.cc ('k') | src/v8globals.h » ('j') | src/v8globals.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698