Index: src/debug/debug-evaluate.cc |
diff --git a/src/debug/debug-evaluate.cc b/src/debug/debug-evaluate.cc |
index 55f3ac32d8d97dabd638e7627b7ba350c759bfc8..171967825fe24c4340940f70da3cffae007b95ab 100644 |
--- a/src/debug/debug-evaluate.cc |
+++ b/src/debug/debug-evaluate.cc |
@@ -271,10 +271,25 @@ bool IntrinsicHasNoSideEffect(Runtime::FunctionId id) { |
case Runtime::kInlineToString: |
case Runtime::kToLength: |
case Runtime::kInlineToLength: |
+ // Type checks. |
+ case Runtime::kIsJSReceiver: |
+ case Runtime::kInlineIsJSReceiver: |
+ case Runtime::kIsSmi: |
+ case Runtime::kInlineIsSmi: |
+ case Runtime::kIsArray: |
+ case Runtime::kIsFunction: |
+ case Runtime::kIsDate: |
+ case Runtime::kIsJSProxy: |
+ case Runtime::kIsRegExp: |
+ case Runtime::kIsTypedArray: |
// Loads. |
case Runtime::kLoadLookupSlotForCall: |
// Errors. |
+ case Runtime::kReThrow: |
case Runtime::kThrowReferenceError: |
+ case Runtime::kThrowSymbolIteratorInvalid: |
+ case Runtime::kThrowIteratorResultNotAnObject: |
+ case Runtime::kNewTypeError: |
// Strings. |
case Runtime::kInlineStringCharCodeAt: |
case Runtime::kStringCharCodeAt: |
@@ -352,9 +367,17 @@ bool BytecodeHasNoSideEffect(interpreter::Bytecode bytecode) { |
case Bytecode::kCreateArrayLiteral: |
case Bytecode::kCreateObjectLiteral: |
case Bytecode::kCreateRegExpLiteral: |
- // Misc. |
+ // Allocations. |
+ case Bytecode::kCreateClosure: |
case Bytecode::kCreateUnmappedArguments: |
+ // Conversions. |
+ case Bytecode::kToObject: |
+ // Misc. |
+ case Bytecode::kForInPrepare: |
jgruber
2017/02/09 10:47:45
There's also a corresponding runtime function you
Yang
2017/02/09 11:23:00
Done.
|
+ case Bytecode::kForInNext: |
+ case Bytecode::kForInStep: |
case Bytecode::kThrow: |
+ case Bytecode::kReThrow: |
case Bytecode::kIllegal: |
case Bytecode::kCallJSRuntime: |
case Bytecode::kStackCheck: |
@@ -373,6 +396,8 @@ bool BytecodeHasNoSideEffect(interpreter::Bytecode bytecode) { |
bool BuiltinHasNoSideEffect(Builtins::Name id) { |
switch (id) { |
// Whitelist for builtins. |
+ // Array builtins. |
+ case Builtins::kArrayPrototypeValues: |
// Math builtins. |
case Builtins::kMathAbs: |
case Builtins::kMathAcos: |