v8/test/cctest
Dan Elphick 758700a708 [compiler] Don't collect source positions for the top frame
While most source positions were not collected even throwing exceptions,
the top frame still was always collected as it was used to initialize
the JSMessageObject. This skips even that frame, by storing the
SharedFunctionInfo and bytecode offset in the JSMessageObject allowing
it to lazily evaluate the actual source position.

Also adds tests to test-api.cc that test each of the source position
functions in isolation to ensure that they don't rely on previous
invocations to call the source collection function.

Since no source positions are now collected at the point when an
exception is thrown, the mjsunit/stack-traces-overflow now passes again
with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the
only failure).

Bug: v8:8510
Change-Id: Ic5382bdbab65cd8838f0c84b544fabb1a9109d13
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587385
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61271}
2019-05-07 11:04:43 +00:00
..
compiler [cleanup] Removing GraphBuilderTester class 2019-05-07 09:54:51 +00:00
heap Revert "[heap] Set read-only space's and its pages' heap_ to null." 2019-05-03 17:48:42 +00:00
interpreter [compiler] Don't collect source positions for the top frame 2019-05-07 11:04:43 +00:00
libplatform [tracing] Fix test TraceWriter to expect uninitialized TraceObjects 2019-05-07 09:25:29 +00:00
libsampler [cpu-profiler] Only record SIGPROF-based samples for samplers that request samples 2019-02-13 09:29:38 +00:00
parsing [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
torque [torque] add references to HeapObject fields. 2019-04-11 14:11:18 +00:00
wasm [compiler] Don't collect source positions for the top frame 2019-05-07 11:04:43 +00:00
assembler-helper-arm.cc [cleanup] Switch to CodeBuilder everywhere 2019-04-29 16:48:39 +00:00
assembler-helper-arm.h [arm, arm64] Setup arguments to RecordWriteStub using mov. 2019-03-05 11:07:00 +00:00
BUILD.gn [cctest] Move cctest.cc from cctest_sources to cctest target 2019-05-03 14:24:01 +00:00
cctest.cc Reland "[heap] Skip ro-space from heap iterators, add CombinedHeapIterator." 2019-05-02 17:35:18 +00:00
cctest.h Reland "[heap] Skip ro-space from heap iterators, add CombinedHeapIterator." 2019-05-02 17:35:18 +00:00
cctest.status [test] Stress wasm code gc in "stress_background_compile" 2019-05-02 09:56:05 +00:00
DEPS [torque]: Add the ability to test Torque functionality with cctest 2018-05-13 10:58:56 +00:00
expression-type-collector-macros.h
gay-fixed.cc
gay-fixed.h
gay-precision.cc
gay-precision.h
gay-shortest.cc
gay-shortest.h
log-eq-of-logging-and-traversal.js [log] Improve log parsing 2018-06-20 13:40:22 +00:00
OWNERS [MIPS] Set Yu Yin as owner of MIPS files. 2019-03-06 11:46:22 +00:00
print-extension.cc
print-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
profiler-extension.cc Reland "[Compile] Ensure we don't access the native context during bytecode finalization." 2018-10-26 22:33:56 +00:00
profiler-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
scope-test-helper.h [parser] Various Scope and Context speedups 2019-01-28 13:06:03 +00:00
setup-isolate-for-tests.cc [interpreter] Always put bytecode handlers in builtins table 2018-09-20 09:58:15 +00:00
setup-isolate-for-tests.h [interpreter] Always put bytecode handlers in builtins table 2018-09-20 09:58:15 +00:00
test-access-checks.cc Replace CHECK(false) by UNREACHABLE() 2017-12-19 18:58:07 +00:00
test-accessor-assembler.cc [ubsan] Port Map to the new design 2018-11-13 06:59:12 +00:00
test-accessors.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-allocation.cc [zone] Fix peak memory accounting 2019-03-28 13:39:11 +00:00
test-api-accessors.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-api-interceptors.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-api.cc [compiler] Don't collect source positions for the top frame 2019-05-07 11:04:43 +00:00
test-api.h [ubsan] Replace a few more Object** with alternatives 2018-12-17 14:17:22 +00:00
test-array-list.cc [explicit isolates] Remove GetIsolate from objects.cc 2018-07-13 12:42:14 +00:00
test-assembler-arm64.cc Touch guard pages when allocating stack frames 2019-05-02 17:46:18 +00:00
test-assembler-arm.cc [cleanup] Switch to CodeBuilder everywhere 2019-04-29 16:48:39 +00:00
test-assembler-ia32.cc Touch guard pages when allocating stack frames 2019-05-02 17:46:18 +00:00
test-assembler-mips64.cc [mips] Fix build error after switch to CodeBuilder. 2019-04-30 13:50:03 +00:00
test-assembler-mips.cc [mips] Fix build error after switch to CodeBuilder. 2019-04-30 13:50:03 +00:00
test-assembler-ppc.cc [cleanup] Switch to CodeBuilder everywhere 2019-04-29 16:48:39 +00:00
test-assembler-s390.cc [cleanup] Switch to CodeBuilder everywhere 2019-04-29 16:48:39 +00:00
test-assembler-x64.cc Touch guard pages when allocating stack frames 2019-05-02 17:46:18 +00:00
test-atomicops.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-bignum-dtoa.cc [cleanup] Remove {StrLength} function 2019-04-29 15:55:46 +00:00
test-bignum.cc [cleanup] Remove {StrLength} function 2019-04-29 15:55:46 +00:00
test-bit-vector.cc
test-circular-queue.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
test-code-layout.cc [cleanup] Switch to CodeBuilder everywhere 2019-04-29 16:48:39 +00:00
test-code-stub-assembler.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-compiler.cc Revert "[Test] Update tests to work with lazy feedback allocation." 2019-05-03 15:54:53 +00:00
test-constantpool.cc [assembler] Move ConstantPools out of src/assembler.h 2018-10-19 11:38:39 +00:00
test-conversions.cc [objects.h splitting] Move HeapNumber to heap-number.h 2018-12-17 17:58:09 +00:00
test-cpu-profiler.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-date.cc [Intl] Move cachedOrNewService to C++ w/o caching 2018-11-02 07:08:26 +00:00
test-debug.cc [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
test-decls.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-deoptimization.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-dictionary.cc Switch RehashBasedOnMap to use ReadOnlyRoots 2019-02-25 12:28:26 +00:00
test-disasm-arm64.cc Explicitly store the code layout in CodeDesc 2019-01-30 13:17:38 +00:00
test-disasm-arm.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-disasm-ia32.cc [cleanup] Switch to CodeBuilder everywhere 2019-04-29 16:48:39 +00:00
test-disasm-mips64.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-disasm-mips.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-disasm-ppc.cc PPC/s390: [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 21:36:34 +00:00
test-disasm-s390.cc PPC/s390: [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 21:36:34 +00:00
test-disasm-x64.cc [cleanup] Switch to CodeBuilder everywhere 2019-04-29 16:48:39 +00:00
test-diy-fp.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-double.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-dtoa.cc [cleanup] Remove {StrLength} function 2019-04-29 15:55:46 +00:00
test-elements-kind.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-extra.js [js] Remove CORE JS Natives (prologue.js), port extra utils to C++/Torque 2019-01-07 11:57:46 +00:00
test-factory.cc [heap] Fix allocation types in CodeBuilder 2019-05-03 14:48:11 +00:00
test-fast-dtoa.cc [cleanup] Remove {StrLength} function 2019-04-29 15:55:46 +00:00
test-feedback-vector.cc [lite] Allocate feedback vectors lazily 2019-03-25 16:02:38 +00:00
test-feedback-vector.h [lite] Allocate feedback vectors lazily 2019-03-25 16:02:38 +00:00
test-field-type-tracking.cc [cleanup] Switch to CodeBuilder everywhere 2019-04-29 16:48:39 +00:00
test-fixed-dtoa.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-flags.cc [flags] Receive length as size_t 2019-04-24 10:43:17 +00:00
test-func-name-inference.cc [fni] Mark computed props as computed, not anonymous function 2019-03-01 20:52:03 +00:00
test-fuzz-arm64.cc Reland "Add Windows ARM64 ABI support to V8" 2018-10-24 19:46:36 +00:00
test-global-handles.cc Reland "[api,heap] Remove deprecated Persistent APIs" 2019-04-24 09:34:27 +00:00
test-global-object.cc [iwyu] api.h iwyu 2018-07-20 11:49:02 +00:00
test-hashcode.cc [cleanup] Free 400 targets from the draconic reign of.. 2019-03-26 10:56:21 +00:00
test-hashmap.cc [ubsan] Fix various cases of undefined behavior 2019-01-10 13:52:04 +00:00
test-heap-profiler.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-icache.cc PPC: removed AIX function descriptors in tests 2019-03-06 12:55:45 +00:00
test-identity-map.cc [objects.h splitting] Move HeapNumber to heap-number.h 2018-12-17 17:58:09 +00:00
test-inobject-slack-tracking.cc Tweak how v8 preallocates instance fields 2019-04-16 18:07:00 +00:00
test-inspector.cc [cleanup] Refactor inspector to use default members. 2018-09-18 09:13:59 +00:00
test-intl.cc Defer inferring language mode as far as possible 2019-01-25 11:53:19 +00:00
test-javascript-arm64.cc [deprecation] Deprecate ToBoolean(Local<Context>) 2018-09-24 12:02:09 +00:00
test-js-arm64-variables.cc
test-js-weak-refs.cc [js weak refs] Expand WeakCell::WeakCellVerify + minor fix 2019-01-31 16:50:20 +00:00
test-liveedit.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-lockers.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-log-stack-tracer.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-log.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-macro-assembler-arm.cc [cleanup] Switch to CodeBuilder everywhere 2019-04-29 16:48:39 +00:00
test-macro-assembler-mips64.cc [mips] Fix build error in debug mode. 2019-05-07 01:24:41 +00:00
test-macro-assembler-mips.cc [mips] Fix build error in debug mode. 2019-05-07 01:24:41 +00:00
test-macro-assembler-x64.cc Touch guard pages when allocating stack frames 2019-05-02 17:46:18 +00:00
test-managed.cc Add size estimate to Managed<T> 2018-05-30 10:26:21 +00:00
test-mementos.cc [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
test-modules.cc [api,modules] Allow GetModuleNamespace on unevaluated modules. 2018-01-08 09:01:25 +00:00
test-object.cc [runtime] Simplify/unify utf8 handling 2019-04-26 15:44:31 +00:00
test-orderedhashtable.cc [dict] Add more useful methods 2019-01-07 19:39:34 +00:00
test-parsing.cc [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
test-platform.cc s390: Edited Generate_CEntry to correctly return buffer when built with clang 2018-09-05 07:01:16 +00:00
test-poison-disasm-arm.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-profile-generator.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-random-number-generator.cc
test-regexp.cc Remove sorting methods from Vector 2019-04-30 10:18:06 +00:00
test-representation.cc [cleanup] Remove obsolete representations. 2019-02-21 06:07:06 +00:00
test-roots.cc [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
test-sampler-api.cc PPC/s390: [Profiler] Ensure ticks in frameless bytecode handlers are interpreted frames. 2019-05-02 14:22:13 +00:00
test-serialize.cc [perf] Refactor the Memory benchmark to use d8 2019-05-06 15:10:57 +00:00
test-smi-lexicographic-compare.cc [ubsan] Port Smi to the new design 2018-11-05 20:52:51 +00:00
test-stack-unwinding-x64.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-strings.cc [cleanup] Remove {StrLength} function 2019-04-29 15:55:46 +00:00
test-strtod.cc [cleanup] Remove {StrLength} function 2019-04-29 15:55:46 +00:00
test-symbols.cc [cleanup] Remove Isolate parameter from object print 2018-07-12 11:31:57 +00:00
test-sync-primitives-arm64.cc [cleanup] Switch to CodeBuilder everywhere 2019-04-29 16:48:39 +00:00
test-sync-primitives-arm.cc [base] Introduce MutexGuard as typedef for LockGuard<Mutex> 2018-10-12 15:44:51 +00:00
test-thread-termination.cc [regexp] Implement interrupt support in the interpreter 2019-03-12 13:44:12 +00:00
test-threads.cc Clean up ThreadId 2019-03-11 10:37:05 +00:00
test-trace-event.cc [cleanup] Clean up trace event tests by removing macros 2019-03-25 13:46:58 +00:00
test-traced-value.cc [tracing] Improve tracing signals for compilation/optimization. 2019-03-25 14:49:08 +00:00
test-transitions.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-transitions.h [ubsan] Port Map to the new design 2018-11-13 06:59:12 +00:00
test-typedarrays.cc Remove always-true --harmony-bigint runtime flag 2018-10-01 11:31:13 +00:00
test-types.cc Add target for common test headers 2019-02-12 09:30:01 +00:00
test-unboxed-doubles.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-unscopables-hidden-prototype.cc [api] Mark SetHiddenPrototype as DEPRECATED 2019-02-08 14:49:30 +00:00
test-unwinder.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-usecounters.cc [counters] remove "override mistake" use counters 2019-01-18 19:27:29 +00:00
test-utils-arm64.cc Reland "[arm64] Cleanup TODO around handling of x18" 2019-04-29 12:31:16 +00:00
test-utils-arm64.h Reland "[arm64] Cleanup TODO around handling of x18" 2019-04-29 12:31:16 +00:00
test-utils.cc [cleanup] Remove {StrLength} function 2019-04-29 15:55:46 +00:00
test-version.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-weakmaps.cc Reland "[heap] Clean-up keys of oldspace weakmaps during scavenge" 2019-04-01 13:59:56 +00:00
test-weaksets.cc Retire PretenureFlag and use AllocationType everywhere. 2019-03-12 08:10:44 +00:00
testcfg.py Reland "Preparing v8 to use with python3 /test" 2019-03-20 09:56:06 +00:00
trace-extension.cc [ubsan] Port Smi to the new design 2018-11-05 20:52:51 +00:00
trace-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
unicode-helpers.cc Fix & reland "[utf8] Rewrite NewStringFromUtf8 using Utf8::ValueOfIncremental" 2019-02-06 13:11:11 +00:00
unicode-helpers.h [Parser] Add support for Zone allocated ConsumedPreParsingScopeData. 2018-09-07 10:28:40 +00:00