758700a708
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} |
||
---|---|---|
.. | ||
bytecode_expectations | ||
bytecode-expectations-printer.cc | ||
bytecode-expectations-printer.h | ||
generate-bytecode-expectations.cc | ||
interpreter-tester.cc | ||
interpreter-tester.h | ||
source-position-matcher.cc | ||
source-position-matcher.h | ||
test-bytecode-generator.cc | ||
test-interpreter-intrinsics.cc | ||
test-interpreter.cc | ||
test-source-positions.cc |