Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Unified Diff: src/debug/debug-evaluate.cc

Issue 2695933005: [debugger] extend side effect free debug-evaluate to Array builtins. (Closed)
Patch Set: fix Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/bootstrapper.cc ('k') | test/debugger/debug/debug-evaluate-no-side-effect-builtins.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {
« no previous file with comments | « src/bootstrapper.cc ('k') | test/debugger/debug/debug-evaluate-no-side-effect-builtins.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698