Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 23bcd150a801325191373928bf7076cce97ec28c..ac1c7ea736e4c5b994f57992294985e348c112a0 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -28,6 +28,7 @@ |
#include "src/counters-inl.h" |
#include "src/counters.h" |
#include "src/date.h" |
+#include "src/debug/debug-evaluate.h" |
#include "src/debug/debug.h" |
#include "src/deoptimizer.h" |
#include "src/elements.h" |
@@ -13349,6 +13350,16 @@ String* SharedFunctionInfo::DebugName() { |
return String::cast(n); |
} |
+bool SharedFunctionInfo::HasNoSideEffect() { |
+ if (!computed_has_no_side_effect()) { |
+ DisallowHeapAllocation not_handlified; |
+ Handle<SharedFunctionInfo> info(this); |
+ set_has_no_side_effect(DebugEvaluate::FunctionHasNoSideEffect(info)); |
+ set_computed_has_no_side_effect(true); |
+ } |
+ return has_no_side_effect(); |
+} |
+ |
// The filter is a pattern that matches function names in this way: |
// "*" all; the default |
// "-" all but the top-level function |