v8/test/cctest
mvstanton 3188780410 [TypeFeedbackVector] Root literal arrays in function literals slots
Literal arrays and feedback vectors for a function can be garbage
collected if we don't have a rooted closure for the function, which
happens often. It's expensive to come back from this (recreating
boilerplates and gathering feedback again), and the cost is
disproportionate if the function was inlined into optimized code.

To guard against losing these arrays when we need them, we'll now
create literal arrays when creating the feedback vector for the outer
closure, and root them strongly in that vector.

BUG=v8:5456

Review-Url: https://codereview.chromium.org/2620753003
Cr-Commit-Position: refs/heads/master@{#42258}
2017-01-12 09:28:48 +00:00
..
asmjs Forbid non-locals/keyed-property calls to allow interleaved compile. 2017-01-10 04:07:16 +00:00
compiler [wasm] Prerequisites for WebAssembly Table.Grow 2017-01-10 19:07:34 +00:00
heap [TypeFeedbackVector] Root literal arrays in function literals slots 2017-01-12 09:28:48 +00:00
interpreter [stubs] Add CreateIterResultObject stub 2017-01-11 11:34:02 +00:00
libplatform [Tracing] Support multi-categories group list. 2016-12-08 00:28:18 +00:00
libsampler Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
parsing include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
wasm [wasm] The interpreter should not grow memory beyond module->mem_max_pages. 2017-01-11 17:24:00 +00:00
ast-types-fuzz.h [turbofan] Nuke class types. 2016-09-05 09:19:16 +00:00
BUILD.gn Suppress symbol import warning from linker when building cctest.exe 2016-12-22 19:33:00 +00:00
cctest_exe.isolate [Swarming] Isolate perf tests. 2016-02-15 11:17:18 +00:00
cctest.cc Named all zones in the project 2016-10-17 12:12:42 +00:00
cctest.gyp [wasm] Implement GetPossibleBreakpoints 2016-12-19 17:22:55 +00:00
cctest.h [runtime] Port simple String.prototype.indexOf cases to TF Builtin 2016-12-16 13:24:07 +00:00
cctest.isolate [Interpreter] Refactor bytecode generator test suite. 2016-02-25 12:07:19 +00:00
cctest.status Revert of [WASM] Fix failing Wasm SIMD F32x4 tests. (patchset #7 id:130001 of https://codereview.chromium.org/2594043002/ ) 2017-01-10 09:34:32 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
expression-type-collector-macros.h Make typing-asm match spec more closely around load/store, add more tests. 2015-11-30 21:11:47 +00:00
gay-fixed.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-fixed.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-precision.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-precision.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-shortest.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-shortest.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
log-eq-of-logging-and-traversal.js Fix test-log/EquivalenceOfLoggingAndTraversal 2013-08-26 14:56:23 +00:00
OWNERS [wasm] Drop old typing-asm and its tests. 2016-07-14 00:06:34 +00:00
print-extension.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
print-extension.h Remove deprecated functions the smaller half of the remaing tests 2015-11-17 12:42:44 +00:00
profiler-extension.cc Introduce v8::CpuProfiler::New and v8::CpuProfiler::Dispose API. 2016-07-08 15:01:10 +00:00
profiler-extension.h Introduce v8::CpuProfiler::New and v8::CpuProfiler::Dispose API. 2016-07-08 15:01:10 +00:00
test-access-checks.cc Propagate exceptions thrown by access check interceptors. 2016-12-07 15:54:39 +00:00
test-accessor-assembler.cc [stubs] Enable machine graph verification for CodeStubAssembler and friends by default in debug mode. 2016-12-15 11:45:18 +00:00
test-accessors.cc [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
test-api-accessors.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-api-fast-accessor-builder.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-api-interceptors.cc [test] Move stray variables into namespaces. 2016-11-16 11:38:18 +00:00
test-api.cc [heap] Add API function for checking if the heap limit was increased 2017-01-11 13:46:27 +00:00
test-api.h Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-array-list.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-assembler-arm64.cc [arm64] Avoid signed arithmetic in AddWithCarry. 2016-07-20 09:15:35 +00:00
test-assembler-arm.cc [ARM] Add vrecpe, vrecps, vrsqrte, vrsqrts instructions to assembler. 2017-01-10 12:36:59 +00:00
test-assembler-ia32.cc [ia32] Fixes a wrong use of Operand in a test. 2016-06-29 08:53:55 +00:00
test-assembler-mips64.cc Fix MIPS maddf and msubf instructions in simulator and tests. 2016-12-02 09:12:04 +00:00
test-assembler-mips.cc Fix MIPS maddf and msubf instructions in simulator and tests. 2016-12-02 09:12:04 +00:00
test-assembler-ppc.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-assembler-s390.cc s390: clean up RR/RRE/RRD/RIL format in Assembler 2016-12-20 15:03:49 +00:00
test-assembler-x64.cc [x64] Fix code generation of testw and add tests 2017-01-09 18:11:20 +00:00
test-assembler-x87.cc X87: [ia32] Fixes a wrong use of Operand in a test. 2016-07-04 04:23:19 +00:00
test-ast-types.cc Named all zones in the project 2016-10-17 12:12:42 +00:00
test-ast.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-atomicops.cc Reland Update implementation of atomics with latest Chromium version but use compiler builtin atomics 2016-10-21 10:05:42 +00:00
test-bignum-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bignum.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bit-vector.cc Named all zones in the project 2016-10-17 12:12:42 +00:00
test-circular-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-cache.cc Revert of [ic] Experiment: disable map-specific handler cache. (patchset #1 id:1 of https://codereview.chromium.org/2462973003/ ) 2016-11-02 13:50:06 +00:00
test-code-layout.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-code-stub-assembler.cc Internalize strings in-place (reland^2) 2017-01-11 14:59:35 +00:00
test-code-stubs-arm64.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-arm.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-ia32.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-mips64.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-mips.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-x64.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-x87.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs.cc Fix cctest/test-code-stubs-mips64/ConvertDToI failure on big-endian architectures 2016-07-25 13:26:56 +00:00
test-code-stubs.h Introduce x87 port 2014-05-23 16:37:27 +00:00
test-compiler.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-constantpool.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-conversions.cc [runtime] Add PositiveNumberToUint32 helper to avoid double to uint roundtrip 2016-12-19 12:06:58 +00:00
test-cpu-profiler.cc [deoptimizer] Fix Deoptimizer::GetDeoptInfo for last entry. 2016-12-09 15:06:26 +00:00
test-date.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-debug.cc [heap, debugger] Introduce out-of-memory listener for debugger. 2017-01-11 13:20:53 +00:00
test-decls.cc [runtime] Intercept function declarations. 2016-09-15 15:48:34 +00:00
test-deoptimization.cc [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
test-dictionary.cc Add Smi::Zero and replace all Smi::FromInt(0) calls 2016-10-07 13:05:26 +00:00
test-disasm-arm64.cc Add {lda,stl}x?r{,b,h} instructions to ARM64 assembler/disassembler 2016-05-19 20:10:05 +00:00
test-disasm-arm.cc [ARM] Add vrecpe, vrecps, vrsqrte, vrsqrts instructions to assembler. 2017-01-10 12:36:59 +00:00
test-disasm-ia32.cc [Turbofan] Add ia32 support for 4 and 16 byte moves and swaps. 2016-07-13 13:54:39 +00:00
test-disasm-mips64.cc MIPS: Implement MADD.S, MSUB, MADDF and MSUBF. 2016-09-14 11:37:13 +00:00
test-disasm-mips.cc MIPS: Implement MADD.S, MSUB, MADDF and MSUBF. 2016-09-14 11:37:13 +00:00
test-disasm-ppc.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-disasm-s390.cc S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
test-disasm-x64.cc [x64] supplement SSE insturctions for SIMD.js 2016-09-12 06:25:00 +00:00
test-disasm-x87.cc [ic] Split LoadIC into LoadGlobalIC and LoadIC. 2016-06-14 13:21:28 +00:00
test-diy-fp.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-double.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-elements-kind.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-experimental-extra.js Add experimental, non-snapshotted V8 extras 2015-08-20 00:01:14 +00:00
test-extra.js Add markPromiseAsHandled V8 extra util 2016-11-15 21:25:52 +00:00
test-fast-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-feedback-vector.cc [TypeFeedbackVector] Root literal arrays in function literals slots 2017-01-12 09:28:48 +00:00
test-feedback-vector.h The metadata part of TypeFeedbackVector is extracted to TypeFeedbackMetadata array. 2015-10-07 10:33:32 +00:00
test-field-type-tracking.cc [test] Fix field type tracking tests to use a stable map by construction. 2017-01-10 19:15:23 +00:00
test-fixed-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-flags.cc [debug-wrapper] remove last uses of --expose-debug-as 2016-12-19 10:44:34 +00:00
test-func-name-inference.cc Generate inferred names for es6 class functions 2016-11-15 21:58:50 +00:00
test-fuzz-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-global-handles.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-global-object.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-hashing.cc S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
test-hashmap.cc Instead of having a hashmap with a function pointer defining its 2016-09-30 16:17:06 +00:00
test-heap-profiler.cc [FeedbackVector] Infrastructure for literal arrays in the vector. 2017-01-09 15:31:00 +00:00
test-hydrogen-types.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-identity-map.cc Moved zones and zone related stuff in its own directory. 2016-09-20 16:08:07 +00:00
test-inobject-slack-tracking.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-javascript-arm64.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-js-arm64-variables.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-list.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-liveedit.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-lockers.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-log-stack-tracer.cc [compiler] Prepare for partially shipping Ignition. 2016-10-27 12:17:37 +00:00
test-log.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-macro-assembler-arm.cc [ARM] Add NEON instructions for implementing SIMD. 2016-12-17 21:56:26 +00:00
test-macro-assembler-ia32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-macro-assembler-mips64.cc MIPS[64]: Fix MIPS: Improve Float(32|64)(Max|Min). 2016-12-08 14:57:07 +00:00
test-macro-assembler-mips.cc MIPS: Fix improper use of odd FP reg on mips32r6 2016-12-22 10:06:18 +00:00
test-macro-assembler-x64.cc Add Smi::Zero and replace all Smi::FromInt(0) calls 2016-10-07 13:05:26 +00:00
test-macro-assembler-x87.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-mementos.cc [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
test-modules.cc [modules] Store Module metadata in per-Context EmbedderData 2016-10-11 19:22:25 +00:00
test-object.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-parsing.cc Remove --harmony-async-await runtime flag 2017-01-10 23:27:02 +00:00
test-platform-linux.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-platform-win32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-platform.cc S390:Update inline asm constraint in test-platform 2016-07-16 15:36:45 +00:00
test-profile-generator.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-random-number-generator.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-receiver-check-hidden-prototype.cc Fix the receiver check in the HandleFastApiCall builtin. 2016-01-14 12:24:04 +00:00
test-regexp.cc Named all zones in the project 2016-10-17 12:12:42 +00:00
test-representation.cc [turbofan] put src/types.[h/cc] into src/compiler/types.[h/cc] 2016-09-05 15:58:45 +00:00
test-run-wasm-relocation-arm64.cc [wasm] Fix more -Wsign-compare warnings. 2016-11-11 11:56:05 +00:00
test-run-wasm-relocation-arm.cc [wasm] Fix more -Wsign-compare warnings. 2016-11-11 11:56:05 +00:00
test-run-wasm-relocation-ia32.cc [wasm] Fix -Wsign-compare warnings. 2016-11-10 12:51:05 +00:00
test-run-wasm-relocation-x64.cc [wasm] Fix more -Wsign-compare warnings. 2016-11-11 11:56:05 +00:00
test-run-wasm-relocation-x87.cc [X87][test]: Fixing -Wsign-compare compilation error for x87 test case. 2016-11-23 06:31:21 +00:00
test-sampler-api.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-serialize.cc [serializer] pass internal fields deserializer callback as argument. 2017-01-09 10:12:04 +00:00
test-simd.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-strings.cc Internalize strings in-place (reland^2) 2017-01-11 14:59:35 +00:00
test-strtod.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-symbols.cc [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
test-thread-termination.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-threads.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-trace-event.cc [tracing] Avoid Gcc compilation fail by declaring AddTraceEvent function in Class derived from Platform Class. 2016-09-28 08:47:33 +00:00
test-traced-value.cc [tracing] Use locale independent writer for FP values. 2017-01-12 08:08:57 +00:00
test-transitions.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-typedarrays.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-types.cc Named all zones in the project 2016-10-17 12:12:42 +00:00
test-unbound-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-unboxed-doubles.cc [runtime] Remove specific Descriptor subclasses and add respective factory methods instead. 2016-12-21 16:40:00 +00:00
test-unique.cc Named all zones in the project 2016-10-17 12:12:42 +00:00
test-unscopables-hidden-prototype.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-usecounters.cc [counters] Add UseCounters for 'f() = 0' syntax 2016-12-27 17:48:40 +00:00
test-utils-arm64.cc [build] Fix header-hygiene warnings for arm64 2016-07-25 18:16:26 +00:00
test-utils-arm64.h [build] Fix header-hygiene warnings for arm64 2016-07-25 18:16:26 +00:00
test-utils.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-version.cc Revert of [build] Introduce an embedder version string (patchset #2 id:20001 of https://codereview.chromium.org/2619213002/ ) 2017-01-10 15:21:29 +00:00
test-weakmaps.cc [heap] Minor MC: Add marking 2016-11-18 12:56:16 +00:00
test-weaksets.cc [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
testcfg.py [test] Fix deterministic test shards. 2016-03-31 07:38:22 +00:00
trace-extension.cc Expose TickSample and its APIs in v8-profiler.h 2016-07-06 18:40:31 +00:00
trace-extension.h Expose TickSample and its APIs in v8-profiler.h 2016-07-06 18:40:31 +00:00
types-fuzz.h [turbofan] HeapConstant types should compare by handle address 2016-10-08 16:51:53 +00:00