• Juliana Franco's avatar
    Remove weak-list of optimized JS functions. · f0acede9
    Juliana Franco authored
    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: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47808}
    f0acede9
Name
Last commit
Last update
..
compiler Loading commit data...
ffi Loading commit data...
heap Loading commit data...
interpreter Loading commit data...
libplatform Loading commit data...
libsampler Loading commit data...
parsing Loading commit data...
wasm Loading commit data...
BUILD.gn Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...
cctest.cc Loading commit data...
cctest.gyp Loading commit data...
cctest.h Loading commit data...
cctest.isolate Loading commit data...
cctest.status Loading commit data...
cctest_exe.isolate Loading commit data...
expression-type-collector-macros.h Loading commit data...
gay-fixed.cc Loading commit data...
gay-fixed.h Loading commit data...
gay-precision.cc Loading commit data...
gay-precision.h Loading commit data...
gay-shortest.cc Loading commit data...
gay-shortest.h Loading commit data...
log-eq-of-logging-and-traversal.js Loading commit data...
print-extension.cc Loading commit data...
print-extension.h Loading commit data...
profiler-extension.cc Loading commit data...
profiler-extension.h Loading commit data...
scope-test-helper.h Loading commit data...
setup-isolate-for-tests.cc Loading commit data...
setup-isolate-for-tests.h Loading commit data...
test-access-checks.cc Loading commit data...
test-accessor-assembler.cc Loading commit data...
test-accessors.cc Loading commit data...
test-allocation.cc Loading commit data...
test-api-accessors.cc Loading commit data...
test-api-interceptors.cc Loading commit data...
test-api.cc Loading commit data...
test-api.h Loading commit data...
test-array-list.cc Loading commit data...
test-assembler-arm.cc Loading commit data...
test-assembler-arm64.cc Loading commit data...
test-assembler-ia32.cc Loading commit data...
test-assembler-mips.cc Loading commit data...
test-assembler-mips64.cc Loading commit data...
test-assembler-ppc.cc Loading commit data...
test-assembler-s390.cc Loading commit data...
test-assembler-x64.cc Loading commit data...
test-atomicops.cc Loading commit data...
test-bignum-dtoa.cc Loading commit data...
test-bignum.cc Loading commit data...
test-bit-vector.cc Loading commit data...
test-circular-queue.cc Loading commit data...
test-code-cache.cc Loading commit data...
test-code-layout.cc Loading commit data...
test-code-stub-assembler.cc Loading commit data...
test-code-stubs-arm.cc Loading commit data...
test-code-stubs-arm64.cc Loading commit data...
test-code-stubs-ia32.cc Loading commit data...
test-code-stubs-mips.cc Loading commit data...
test-code-stubs-mips64.cc Loading commit data...
test-code-stubs-x64.cc Loading commit data...
test-code-stubs.cc Loading commit data...
test-code-stubs.h Loading commit data...
test-compiler.cc Loading commit data...
test-constantpool.cc Loading commit data...
test-conversions.cc Loading commit data...
test-cpu-profiler.cc Loading commit data...
test-date.cc Loading commit data...
test-debug.cc Loading commit data...
test-decls.cc Loading commit data...
test-deoptimization.cc Loading commit data...
test-dictionary.cc Loading commit data...
test-disasm-arm.cc Loading commit data...
test-disasm-arm64.cc Loading commit data...
test-disasm-ia32.cc Loading commit data...
test-disasm-mips.cc Loading commit data...
test-disasm-mips64.cc Loading commit data...
test-disasm-ppc.cc Loading commit data...
test-disasm-s390.cc Loading commit data...
test-disasm-x64.cc Loading commit data...
test-diy-fp.cc Loading commit data...
test-double.cc Loading commit data...
test-dtoa.cc Loading commit data...
test-elements-kind.cc Loading commit data...
test-experimental-extra.js Loading commit data...
test-extra.js Loading commit data...
test-fast-dtoa.cc Loading commit data...
test-feedback-vector.cc Loading commit data...
test-feedback-vector.h Loading commit data...
test-field-type-tracking.cc Loading commit data...
test-fixed-dtoa.cc Loading commit data...
test-flags.cc Loading commit data...
test-func-name-inference.cc Loading commit data...
test-fuzz-arm64.cc Loading commit data...
test-global-handles.cc Loading commit data...
test-global-object.cc Loading commit data...
test-hashcode.cc Loading commit data...
test-hashmap.cc Loading commit data...
test-heap-profiler.cc Loading commit data...
test-identity-map.cc Loading commit data...
test-inobject-slack-tracking.cc Loading commit data...
test-intl.cc Loading commit data...
test-javascript-arm64.cc Loading commit data...
test-js-arm64-variables.cc Loading commit data...
test-list.cc Loading commit data...
test-liveedit.cc Loading commit data...
test-lockers.cc Loading commit data...
test-log-stack-tracer.cc Loading commit data...
test-log.cc Loading commit data...
test-macro-assembler-arm.cc Loading commit data...
test-macro-assembler-mips.cc Loading commit data...
test-macro-assembler-mips64.cc Loading commit data...
test-macro-assembler-x64.cc Loading commit data...
test-managed.cc Loading commit data...
test-mementos.cc Loading commit data...
test-modules.cc Loading commit data...
test-object.cc Loading commit data...
test-orderedhashtable.cc Loading commit data...
test-parsing.cc Loading commit data...
test-platform-linux.cc Loading commit data...
test-platform-win32.cc Loading commit data...
test-platform.cc Loading commit data...
test-profile-generator.cc Loading commit data...
test-random-number-generator.cc Loading commit data...
test-regexp.cc Loading commit data...
test-representation.cc Loading commit data...
test-run-wasm-relocation-arm.cc Loading commit data...
test-run-wasm-relocation-arm64.cc Loading commit data...
test-run-wasm-relocation-ia32.cc Loading commit data...
test-run-wasm-relocation-x64.cc Loading commit data...
test-sampler-api.cc Loading commit data...
test-serialize.cc Loading commit data...
test-simulator-arm.cc Loading commit data...
test-simulator-arm64.cc Loading commit data...
test-strings.cc Loading commit data...
test-strtod.cc Loading commit data...
test-symbols.cc Loading commit data...
test-thread-termination.cc Loading commit data...
test-threads.cc Loading commit data...
test-trace-event.cc Loading commit data...
test-traced-value.cc Loading commit data...
test-transitions.cc Loading commit data...
test-transitions.h Loading commit data...
test-typedarrays.cc Loading commit data...
test-types.cc Loading commit data...
test-unbound-queue.cc Loading commit data...
test-unboxed-doubles.cc Loading commit data...
test-unscopables-hidden-prototype.cc Loading commit data...
test-usecounters.cc Loading commit data...
test-utils-arm64.cc Loading commit data...
test-utils-arm64.h Loading commit data...
test-utils.cc Loading commit data...
test-version.cc Loading commit data...
test-weakmaps.cc Loading commit data...
test-weaksets.cc Loading commit data...
testcfg.py Loading commit data...
trace-extension.cc Loading commit data...
trace-extension.h Loading commit data...
types-fuzz.h Loading commit data...
unicode-helpers.h Loading commit data...