Defer vmsp() sync to handleServiceRequest()
commit72a73053508070b53b87ef630159e165901bab7a
authorJan Oravec <jan@fb.com>
Tue, 6 Apr 2021 17:53:45 +0000 (6 10:53 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Tue, 6 Apr 2021 17:55:19 +0000 (6 10:55 -0700)
tree1354edde49554b8580aa2a64501fd74718805950
parentb4a9b638fe3f7e937269339481151d629928b500
Defer vmsp() sync to handleServiceRequest()

Summary:
Do not sync the rvmsp() from the service request stub and vmsp() from the
unique stub. Pass the SP offset all the way to the handleServiceRequest()
and sync the vmsp() there instead.

Kills FP-relative computation of SP in JIT and unblocks removal of FP-relative
stack offsets.

Reviewed By: ricklavoie

Differential Revision: D27581434

fbshipit-source-id: 49cfdca968082700328477976e219dec0aad9a8d
12 files changed:
hphp/runtime/vm/jit/abi-arm.cpp
hphp/runtime/vm/jit/abi-arm.h
hphp/runtime/vm/jit/abi-x64.cpp
hphp/runtime/vm/jit/abi-x64.h
hphp/runtime/vm/jit/abi.cpp
hphp/runtime/vm/jit/abi.h
hphp/runtime/vm/jit/service-request-handlers.cpp
hphp/runtime/vm/jit/service-requests-inl.h
hphp/runtime/vm/jit/service-requests.cpp
hphp/runtime/vm/jit/service-requests.h
hphp/runtime/vm/jit/tc-region.cpp
hphp/runtime/vm/jit/unique-stubs.cpp