AIX: [Profiler] Ensure ticks in frameless bytecode handlers are interpreted frames.
Port8e7945a691
Original Commit Message: Port381a7f9e76
Original Commit Message: On Arm/64 the last return address is stored in a link register instead of being pushed to the top-of-stack like on x64/ia32. Extend the support in the tick sampler to check for samples in a frameless bytecode handler with support for checking the link register if it exists instead of top-of-stack. In addition, make the x64/ia32 check more robust by ensuring we only apply the change if the pc is a bytecode handler and the top frame isn't a bytecode handler (stub) frame. R=miladfar@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:9162 LOG=N Change-Id: I52c40f8d4ba1bb10049410417d1e60f95315489d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1614791 Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#61605}
This commit is contained in:
parent
663ebdb127
commit
8c0d9f919c
@ -519,6 +519,7 @@ void SignalHandler::FillRegisterState(void* context, RegisterState* state) {
|
||||
state->pc = reinterpret_cast<void*>(mcontext.jmp_context.iar);
|
||||
state->sp = reinterpret_cast<void*>(mcontext.jmp_context.gpr[1]);
|
||||
state->fp = reinterpret_cast<void*>(mcontext.jmp_context.gpr[31]);
|
||||
state->lr = reinterpret_cast<void*>(mcontext.jmp_context.lr);
|
||||
#endif // V8_OS_AIX
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user