v8/test/cctest/interpreter
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
..
bytecode_expectations [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
bytecode-expectations-printer.cc [cleanup] Fix kPointerSize in tests 2019-02-14 15:29:52 +00:00
bytecode-expectations-printer.h [ubsan] Port Name/String/Symbol to the new design 2018-11-27 01:42:36 +00:00
generate-bytecode-expectations.cc [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
interpreter-tester.cc [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
interpreter-tester.h [reland] Don't allocate feedback vectors and feedback metadata in lite mode 2018-12-19 14:29:30 +00:00
source-position-matcher.cc [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
source-position-matcher.h
test-bytecode-generator.cc [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
test-interpreter-intrinsics.cc [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
test-interpreter.cc [compiler] Don't collect source positions for the top frame 2019-05-07 11:04:43 +00:00
test-source-positions.cc [compile] Add support for lazy generation of source position tables 2019-02-14 11:26:35 +00:00