Merge V8 5.3.332.45. DO NOT MERGE
Test: Manual
FPIIM-449
Change-Id: Id3254828b068abdea3cb10442e0172a8c9a98e03
(cherry picked from commit 13e2dadd00298019ed862f2b2fc5068bba730bcf)
diff --git a/src/compiler/operator.h b/src/compiler/operator.h
index fa85d59..8f288cb 100644
--- a/src/compiler/operator.h
+++ b/src/compiler/operator.h
@@ -36,18 +36,18 @@
// transformations for nodes that have this operator.
enum Property {
kNoProperties = 0,
- kReducible = 1 << 0, // Participates in strength reduction.
- kCommutative = 1 << 1, // OP(a, b) == OP(b, a) for all inputs.
- kAssociative = 1 << 2, // OP(a, OP(b,c)) == OP(OP(a,b), c) for all inputs.
- kIdempotent = 1 << 3, // OP(a); OP(a) == OP(a).
- kNoRead = 1 << 4, // Has no scheduling dependency on Effects
- kNoWrite = 1 << 5, // Does not modify any Effects and thereby
+ kCommutative = 1 << 0, // OP(a, b) == OP(b, a) for all inputs.
+ kAssociative = 1 << 1, // OP(a, OP(b,c)) == OP(OP(a,b), c) for all inputs.
+ kIdempotent = 1 << 2, // OP(a); OP(a) == OP(a).
+ kNoRead = 1 << 3, // Has no scheduling dependency on Effects
+ kNoWrite = 1 << 4, // Does not modify any Effects and thereby
// create new scheduling dependencies.
- kNoThrow = 1 << 6, // Can never generate an exception.
+ kNoThrow = 1 << 5, // Can never generate an exception.
+ kNoDeopt = 1 << 6, // Can never generate an eager deoptimization exit.
kFoldable = kNoRead | kNoWrite,
- kKontrol = kFoldable | kNoThrow,
- kEliminatable = kNoWrite | kNoThrow,
- kPure = kNoRead | kNoWrite | kNoThrow | kIdempotent
+ kKontrol = kNoDeopt | kFoldable | kNoThrow,
+ kEliminatable = kNoDeopt | kNoWrite | kNoThrow,
+ kPure = kNoDeopt | kNoRead | kNoWrite | kNoThrow | kIdempotent
};
typedef base::Flags<Property, uint8_t> Properties;