Make func entries callable
commitc62047f9b73d68b3e5b69e3355462581d1aa3235
authorJan Oravec <jan@fb.com>
Mon, 28 Mar 2022 23:17:21 +0000 (28 16:17 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Mon, 28 Mar 2022 23:17:21 +0000 (28 16:17 -0700)
tree4de3e1b928c46a472861d8165d538c54bf7138c3
parent8cf2423c20816c43a1eff16193fe3466f6981ded
Make func entries callable

Summary:
Initialize the native portion of frames in func entries rather than prologues,
making them callable.

Allows the next diff to call func entries directly instead of prologues, moving
the prologue checks to the caller for known callees.

The non-native portion of frames will be passed via registers in subsequent
diffs.

Reviewed By: ricklavoie

Differential Revision: D34887293

fbshipit-source-id: 65760781730956fba9eb7551532ce2b4183e3f2c
19 files changed:
hphp/doc/ir.specification
hphp/runtime/vm/jit/abi.h
hphp/runtime/vm/jit/check.cpp
hphp/runtime/vm/jit/dce.cpp
hphp/runtime/vm/jit/extra-data.h
hphp/runtime/vm/jit/frame-state.cpp
hphp/runtime/vm/jit/ir-opcode.cpp
hphp/runtime/vm/jit/irgen-func-prologue.cpp
hphp/runtime/vm/jit/irgen-internal.cpp
hphp/runtime/vm/jit/irgen-internal.h
hphp/runtime/vm/jit/irlower-act-rec.cpp
hphp/runtime/vm/jit/irlower-branch.cpp
hphp/runtime/vm/jit/irlower-call.cpp
hphp/runtime/vm/jit/irlower.cpp
hphp/runtime/vm/jit/jit-resume-addr-defs.h
hphp/runtime/vm/jit/memory-effects.cpp
hphp/runtime/vm/jit/service-request-handlers.cpp
hphp/runtime/vm/jit/unique-stubs.cpp
hphp/runtime/vm/jit/unique-stubs.h