0d8ec36b36
This fixes a crash when using --trace-ic on Arm64 debug. For a given return address, the assembler's `target_address_from_return_address()` method will displace it to give you the call-site address. However, this is fragile because it needs to decode the instruction stream to distinguish between different call sequences. So it triggered an assertion on Arm64 because we now use BL for builtin to buitin calls. We only use this when tracing IC states to detect if the caller is a deoptimized function. But to do this it doesn't matter if the address we have is the return or the call-site address. So we can just remove the need for the fragile Assembler method. As a drive-by, also remove `return_address_from_call_start()` which was doing the opposite and was unused. Change-Id: I5988d17eadd1652ed85d662e62bc4c579665dd31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594566 Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61337} |
||
---|---|---|
.. | ||
codemap.js | ||
compiler-trace-flags-wasm.js | ||
compiler-trace-flags.js | ||
consarray.js | ||
csvparser.js | ||
dumpcpp.js | ||
profile_view.js | ||
profile.js | ||
profviz-test.default | ||
profviz-test.log | ||
profviz.js | ||
splaytree.js | ||
tickprocessor-test-func-info.log | ||
tickprocessor-test.default | ||
tickprocessor-test.func-info | ||
tickprocessor-test.gc-state | ||
tickprocessor-test.ignore-unknown | ||
tickprocessor-test.log | ||
tickprocessor-test.only-summary | ||
tickprocessor-test.separate-ic | ||
tickprocessor.js | ||
trace-ic.js |