Implement codegen for Call
commitd004ca9c6b288b5d3d84b9c71c8478efdc97cdbd
authorOwen Yamauchi <oyamauchi@fb.com>
Mon, 13 Jan 2014 22:20:25 +0000 (13 14:20 -0800)
committerSara Golemon <sgolemon@fb.com>
Tue, 28 Jan 2014 23:38:07 +0000 (28 15:38 -0800)
tree9de5efa2a793b8abf95a3f92a93e23c2d6d1ce85
parent35ca2405fc533494ed240220c86cf5fb73463e41
Implement codegen for Call

After LdLoc went down, this is the next top punt. This forced me to get
the bind-call machinery working, and a bunch of other stuff -- it kind
of snowballed on me. Redispatching from prologues and handling stack
overflow also had to work. We were also forgetting to rewind the
globalData frontier if translation failed, and this change combined with
that to actually blow out globalData in a couple of tests.

Small bonus: deleting a bunch of "JIT::" that used to be "Transl::".

Reviewed By: @edwinsmith

Differential Revision: D1134414
12 files changed:
hphp/runtime/vm/jit/code-gen-arm.cpp
hphp/runtime/vm/jit/code-gen-helpers-arm.cpp
hphp/runtime/vm/jit/code-gen-helpers-arm.h
hphp/runtime/vm/jit/func-prologues-arm.cpp
hphp/runtime/vm/jit/jump-smash.cpp
hphp/runtime/vm/jit/jump-smash.h
hphp/runtime/vm/jit/service-requests-arm.cpp
hphp/runtime/vm/jit/service-requests-arm.h
hphp/runtime/vm/jit/service-requests-x64.cpp
hphp/runtime/vm/jit/translator-inline.h
hphp/runtime/vm/jit/translator-x64.cpp
hphp/runtime/vm/jit/unique-stubs-arm.cpp