[vm] remove unecessary store of x18 to Thread

Related issue: https://github.com/dart-lang/sdk/issues/44435

TEST=Unfortunately we have no tests set up for shadow call stack.

Change-Id: Ibea3662ba2ef563702288b7a52f816df3217aa41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175367
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
This commit is contained in:
Daco Harkes 2020-12-09 20:08:00 +00:00 committed by commit-bot@chromium.org
parent 81d3244a8c
commit 4adebc6d2a

View file

@ -1425,17 +1425,7 @@ void StubCodeCompiler::GenerateInvokeDartCodeStub(Assembler* assembler) {
__ Pop(R4);
__ StoreToOffset(R4, THR, target::Thread::vm_tag_offset());
#if defined(TARGET_OS_FUCHSIA)
__ mov(R3, THR);
#endif
__ PopNativeCalleeSavedRegisters(); // Clobbers THR
#if defined(TARGET_OS_FUCHSIA)
__ str(R18, Address(R3, target::Thread::saved_shadow_call_stack_offset()));
#elif defined(USING_SHADOW_CALL_STACK)
#error Unimplemented
#endif
__ PopNativeCalleeSavedRegisters();
// Restore the frame pointer and C stack pointer and return.
__ LeaveFrame();
@ -3005,8 +2995,8 @@ void StubCodeCompiler::GenerateJumpToFrameStub(Assembler* assembler) {
ASSERT(kStackTraceObjectReg == R1);
// TransitionGeneratedToNative might clobber LR if it takes the slow path.
__ mov(CALLEE_SAVED_TEMP, R0); // Program counter.
__ mov(SP, R1); // Stack pointer.
__ mov(FP, R2); // Frame_pointer.
__ mov(SP, R1); // Stack pointer.
__ mov(FP, R2); // Frame_pointer.
__ mov(THR, R3);
__ SetupCSPFromThread(THR);
#if defined(TARGET_OS_FUCHSIA)