Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index b76d3357a32e9f4c2fc3750895f75471d3fd5909..322d7a081fe35ff477ee6fa57ce6b4c3d6eacd62 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -7375,6 +7375,9 @@ class SharedFunctionInfo: public HeapObject { |
// The function's name if it is non-empty, otherwise the inferred name. |
String* DebugName(); |
+ // The function cannot cause any side effects. |
+ bool HasNoSideEffect(); |
+ |
// Used for flags such as --hydrogen-filter. |
bool PassesFilter(const char* raw_filter); |
@@ -7484,6 +7487,12 @@ class SharedFunctionInfo: public HeapObject { |
// Indicates that asm->wasm conversion failed and should not be re-attempted. |
DECL_BOOLEAN_ACCESSORS(is_asm_wasm_broken) |
+ // Indicates that the function cannot cause side-effects. |
+ DECL_BOOLEAN_ACCESSORS(has_no_side_effect) |
+ |
+ // Indicates that |has_no_side_effect| has been computed and set. |
+ DECL_BOOLEAN_ACCESSORS(computed_has_no_side_effect) |
+ |
inline FunctionKind kind() const; |
inline void set_kind(FunctionKind kind); |
@@ -7770,6 +7779,8 @@ class SharedFunctionInfo: public HeapObject { |
// byte 3 |
kDeserialized = kFunctionKind + 10, |
kIsAsmWasmBroken, |
+ kHasNoSideEffect, |
+ kComputedHasNoSideEffect, |
kCompilerHintsCount, // Pseudo entry |
}; |
// kFunctionKind has to be byte-aligned |