| Index: src/debug/debug-evaluate.cc
|
| diff --git a/src/debug/debug-evaluate.cc b/src/debug/debug-evaluate.cc
|
| index 51b3b516b0b182f192fefacfea6b2ff95e66ffef..c6fafa557b7da20e706578f89ee89b5cc8ef5eef 100644
|
| --- a/src/debug/debug-evaluate.cc
|
| +++ b/src/debug/debug-evaluate.cc
|
| @@ -271,12 +271,14 @@ bool IntrinsicHasNoSideEffect(Runtime::FunctionId id) {
|
| case Runtime::kInlineToString:
|
| case Runtime::kToLength:
|
| case Runtime::kInlineToLength:
|
| + case Runtime::kToNumber:
|
| // Type checks.
|
| case Runtime::kIsJSReceiver:
|
| case Runtime::kInlineIsJSReceiver:
|
| case Runtime::kIsSmi:
|
| case Runtime::kInlineIsSmi:
|
| case Runtime::kIsArray:
|
| + case Runtime::kInlineIsArray:
|
| case Runtime::kIsFunction:
|
| case Runtime::kIsDate:
|
| case Runtime::kIsJSProxy:
|
| @@ -284,6 +286,12 @@ bool IntrinsicHasNoSideEffect(Runtime::FunctionId id) {
|
| case Runtime::kIsTypedArray:
|
| // Loads.
|
| case Runtime::kLoadLookupSlotForCall:
|
| + // Arrays.
|
| + case Runtime::kArraySpeciesConstructor:
|
| + case Runtime::kNormalizeElements:
|
| + case Runtime::kGetArrayKeys:
|
| + case Runtime::kHasComplexElements:
|
| + case Runtime::kEstimateNumberOfElements:
|
| // Errors.
|
| case Runtime::kReThrow:
|
| case Runtime::kThrowReferenceError:
|
| @@ -371,6 +379,7 @@ bool BytecodeHasNoSideEffect(interpreter::Bytecode bytecode) {
|
| case Bytecode::kCreateUnmappedArguments:
|
| // Conversions.
|
| case Bytecode::kToObject:
|
| + case Bytecode::kToNumber:
|
| // Misc.
|
| case Bytecode::kForInPrepare:
|
| case Bytecode::kForInContinue:
|
| @@ -397,7 +406,13 @@ bool BuiltinHasNoSideEffect(Builtins::Name id) {
|
| switch (id) {
|
| // Whitelist for builtins.
|
| // Array builtins.
|
| + case Builtins::kArrayCode:
|
| + case Builtins::kArrayIndexOf:
|
| case Builtins::kArrayPrototypeValues:
|
| + case Builtins::kArrayIncludes:
|
| + case Builtins::kArrayPrototypeEntries:
|
| + case Builtins::kArrayPrototypeKeys:
|
| + case Builtins::kArrayForEach:
|
| // Math builtins.
|
| case Builtins::kMathAbs:
|
| case Builtins::kMathAcos:
|
| @@ -470,6 +485,12 @@ bool BuiltinHasNoSideEffect(Builtins::Name id) {
|
| // JSON builtins.
|
| case Builtins::kJsonParse:
|
| case Builtins::kJsonStringify:
|
| + // Error builtins.
|
| + case Builtins::kMakeError:
|
| + case Builtins::kMakeTypeError:
|
| + case Builtins::kMakeSyntaxError:
|
| + case Builtins::kMakeRangeError:
|
| + case Builtins::kMakeURIError:
|
| return true;
|
| default:
|
| if (FLAG_trace_side_effect_free_debug_evaluate) {
|
|
|