v8/test/debugger/debug
Juliana Franco f0acede9bb Remove weak-list of optimized JS functions.
This CL removes the weak-list of JS functions from the context
and all the code that iterares over it. This list was being used
mainly during deoptimization (for code unlinking) and during
garbage collection. Removing it will improve performance of
programs that create many closures and trigger many scavenge GC
cycles.

No extra work is required during garbage collection. However,
given that we no longer unlink code from JS functions during
deoptimization, we leave it as it is, and on its next activation
we check whether the mark_for_deoptimization bit of that code is
set, and if it is, than we unlink it and jump to lazy compiled
code. This check happens in the prologue of every code object.
 
We needed to change/remove the cctests that used to check
something on this list.
 
Working in x64, ia32, arm64, arm, mips64 and mips. 
 

Bug: v8:6637
Change-Id: Ica99a12fd0351ae985e9a287918bf28caf6d2e24
TBR: mstarzinger@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/647596
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47808}
2017-09-05 04:30:19 +00:00
..
compiler [debug-wrapper] Adapt tests, breakpoint.actual_location 2016-11-21 09:29:17 +00:00
es6 [ignition] removed nop bytecode 2017-07-18 16:14:29 +00:00
es8 [ignition] removed nop bytecode 2017-07-18 16:14:29 +00:00
harmony [parser] avoid complex for-loop desugaring when possible 2017-04-19 19:08:40 +00:00
ignition [ignition] removed nop bytecode 2017-07-18 16:14:29 +00:00
regress [turbofan] Support inline allocation of mapped outer arguments. 2017-09-01 09:52:59 +00:00
wasm [asm.js] Fix debugger test to check listener exception. 2017-03-29 10:46:45 +00:00
debug-allscopes-on-debugger.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-backtrace.js [debug-wrapper] migrate some scope related tests 2016-12-14 07:20:33 +00:00
debug-break-inline.js [debug-wrapper] Conditional breaks, locals, evaluate, scopes 2016-11-11 12:08:34 +00:00
debug-break-native.js [debug-wrapper] Further extend the debug wrapper 2016-11-16 08:34:44 +00:00
debug-breakpoints.js [debug-wrapper] Further extend the debug wrapper 2016-11-16 08:34:44 +00:00
debug-clearbreakpoint.js [debug-wrapper] migrate some scope related tests 2016-12-14 07:20:33 +00:00
debug-compile-event.js [debug-wrapper] Further extend the debug wrapper 2016-11-16 08:34:44 +00:00
debug-compile-optimized.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
debug-conditional-breakpoints.js [debug-wrapper] Migrate more tests 2016-11-22 12:44:18 +00:00
debug-constructor.js [debugger] Stepping and break-related functions in wrapper 2016-11-08 13:54:37 +00:00
debug-enable-disable-breakpoints.js [debug-wrapper] Further extend the debug wrapper 2016-11-16 08:34:44 +00:00
debug-eval-scope.js [debug] Add Eval scope type to inspector protocol 2016-11-23 07:30:23 +00:00
debug-evaluate-bool-constructor.js [debug-wrapper] migrate some scope related tests 2016-12-14 07:20:33 +00:00
debug-evaluate-closure.js [debugger] remove debugger statement support from FCG/CS. 2017-02-22 08:45:09 +00:00
debug-evaluate-declaration.js [debug-wrapper] Conditional breaks, locals, evaluate, scopes 2016-11-11 12:08:34 +00:00
debug-evaluate-locals-capturing.js Reland "[Compiler] Remove CompileDebugCode and EnsureBytecode and replace with Compile" 2017-08-17 13:21:44 +00:00
debug-evaluate-locals-optimized-double.js [deoptimizer] Support materialization in frame summary. 2017-08-02 08:44:25 +00:00
debug-evaluate-locals-optimized.js [deoptimizer] Support materialization in frame summary. 2017-08-02 08:44:25 +00:00
debug-evaluate-locals.js [debug-wrapper] Adapt tests, breakpoint.actual_location 2016-11-21 09:29:17 +00:00
debug-evaluate-modify-catch-block-scope.js Reland "[Compiler] Remove CompileDebugCode and EnsureBytecode and replace with Compile" 2017-08-17 13:21:44 +00:00
debug-evaluate-modify-this.js
debug-evaluate-nested-let.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
debug-evaluate-no-side-effect-async.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
debug-evaluate-no-side-effect-builtins-2.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
debug-evaluate-no-side-effect-builtins.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
debug-evaluate-no-side-effect-control.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
debug-evaluate-no-side-effect-iife.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
debug-evaluate-no-side-effect-ops.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
debug-evaluate-no-side-effect.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
debug-evaluate-shadowed-context-2.js
debug-evaluate-shadowed-context.js [debug-wrapper] Migrate more tests 2016-11-22 12:44:18 +00:00
debug-evaluate-with.js [ignition/turbo] Perform liveness analysis on the bytecodes 2016-11-29 12:27:15 +00:00
debug-evaluate.js [debug-wrapper] migrate some scope related tests 2016-12-14 07:20:33 +00:00
debug-event-listener.js [debug-wrapper] Add caught/uncaught to exception pauses 2016-11-10 09:05:29 +00:00
debug-exceptions.js [debug-wrapper] Add caught/uncaught to exception pauses 2016-11-10 09:05:29 +00:00
debug-function-scopes.js [debug-wrapper] Migrate more tests 2016-11-22 12:44:18 +00:00
debug-generator-break-on-stack.js
debug-generator-break.js
debug-liveedit-1.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-liveedit-2.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-liveedit-3.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-liveedit-4.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-liveedit-check-stack.js [liveedit] reimplement frame restarting. 2017-01-27 07:31:03 +00:00
debug-liveedit-compile-error.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-liveedit-diff.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-liveedit-double-call.js Count closures using the feedback vector cell map, specialize if count==1. 2017-02-10 15:19:19 +00:00
debug-liveedit-exceptions.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-liveedit-inline.js Remove weak-list of optimized JS functions. 2017-09-05 04:30:19 +00:00
debug-liveedit-literals.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-liveedit-newsource.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-liveedit-patch-positions-replace.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-liveedit-replace-code.js [liveedit] reimplement frame restarting. 2017-01-27 07:31:03 +00:00
debug-liveedit-restart-frame.js [ignition/turbo] Perform liveness analysis on the bytecodes 2016-11-29 12:27:15 +00:00
debug-liveedit-stack-padding.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-liveedit-stepin.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-liveedit-utils.js [debug-wrapper] LiveEdit, frame.restart(), breakpoints 2016-11-17 08:43:59 +00:00
debug-materialized.js [debug-wrapper] Conditional breaks, locals, evaluate, scopes 2016-11-11 12:08:34 +00:00
debug-modules-set-variable-value.js [modules] Fix setting variables via debug-scopes. 2017-06-15 15:46:48 +00:00
debug-multiple-breakpoints.js [debug-wrapper] Migrate more tests 2016-11-22 12:44:18 +00:00
debug-multiple-var-decl.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-negative-break-points.js [debug-wrapper] Migrate more tests 2016-11-22 12:44:18 +00:00
debug-optimize.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
debug-print.js [elements] Rename FAST elements kinds 2017-06-30 13:31:44 +00:00
debug-receiver.js Fix common misspellings 2017-08-02 09:35:28 +00:00
debug-return-value.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-scopes-suspended-generators.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
debug-scopes.js Fix debugger's frame inspection for optimized Array.forEach. 2017-06-27 10:56:42 +00:00
debug-script.js [inspector] move breakpoint management to native 2017-08-02 19:20:26 +00:00
debug-set-variable-value.js [debugger] remove debugger statement support from FCG/CS. 2017-02-22 08:45:09 +00:00
debug-setbreakpoint.js [debug-wrapper] migrate some scope related tests 2016-12-14 07:20:33 +00:00
debug-sourceinfo.js [debug-wrapper] clearAllBreakPoints and several scripts functions 2016-11-17 09:34:18 +00:00
debug-stack-check-position.js
debug-step-2.js
debug-step-3.js
debug-step-4.js
debug-step-end-of-script.js
debug-step-into-json.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-step-into-valueof.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-step-stub-callfunction.js
debug-step-turbofan.js
debug-step.js [debugger] correctly annotate scripts with debug id. 2017-03-13 09:13:43 +00:00
debug-stepin-accessor-ic.js
debug-stepin-accessor.js [tests] Async test framework 2017-07-26 17:40:15 +00:00
debug-stepin-builtin-callback-opt.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-stepin-builtin-callback.js
debug-stepin-builtin.js
debug-stepin-call-function-stub.js
debug-stepin-construct-call.js
debug-stepin-constructor.js
debug-stepin-foreach.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-stepin-function-call.js
debug-stepin-property-function-call.js [tests] Async test framework 2017-07-26 17:40:15 +00:00
debug-stepnext-do-while.js
debug-stepout-recursive-function.js
debug-stepout-scope-part1.js
debug-stepout-scope-part2.js
debug-stepout-scope-part3.js
debug-stepout-scope-part4.js
debug-stepout-scope-part5.js
debug-stepout-scope-part6.js
debug-stepout-scope-part7.js
debug-stepout-scope-part8.js
debug-stepout-to-builtin.js
for-in-opt.js [debugger] Migrate more debugger tests to inspector 2016-11-08 10:39:08 +00:00
function-source.js [debug-wrapper] clearAllBreakPoints and several scripts functions 2016-11-17 09:34:18 +00:00
regress-3225.js Make non-Module generators only context allocate parameters. 2017-05-24 13:54:57 +00:00
regress-5207.js [ignition/turbo] Perform liveness analysis on the bytecodes 2016-11-29 12:27:15 +00:00