Refactor CodeGenerator, pt. 1: namespacing and arith
commit3e0cb22d0834da4eb128b9b297cb25ebd8bc1063
authorMax Wang <mwang@fb.com>
Wed, 16 Sep 2015 15:01:35 +0000 (16 08:01 -0700)
committerhhvm-bot <hhvm-bot@fb.com>
Wed, 16 Sep 2015 15:30:42 +0000 (16 08:30 -0700)
tree65d95f0dbb65895ab4560e24997b0e5dc54beddb
parent2dfb25c8afbe31fbe8aaefed7bc0eb986da50d62
Refactor CodeGenerator, pt. 1: namespacing and arith

Summary: Begin the work of splitting up codegen into multiple files and
extricating it from the Verber class idiom.

This diff delegates some of the most basic codegen helpers, like
srcLoc(), as well as the arithmetic HHIR instructions, to a new irlower
namespace (mirroring irgen), with the ultimate goal of doing likewise
with the rest of CodeGenerator.

Reviewed By: @ottoni

Differential Revision: D2427600
17 files changed:
hphp/doc/ir.specification
hphp/runtime/vm/jit/code-gen-minstr-x64.cpp
hphp/runtime/vm/jit/code-gen-x64.cpp
hphp/runtime/vm/jit/code-gen-x64.h
hphp/runtime/vm/jit/func-prologue.cpp
hphp/runtime/vm/jit/irlower-arith.cpp [new file with mode: 0644]
hphp/runtime/vm/jit/irlower-internal-inl.h [new file with mode: 0644]
hphp/runtime/vm/jit/irlower-internal.h [new file with mode: 0644]
hphp/runtime/vm/jit/irlower.cpp [moved from hphp/runtime/vm/jit/code-gen.cpp with 96% similarity]
hphp/runtime/vm/jit/irlower.h [moved from hphp/runtime/vm/jit/code-gen.h with 90% similarity]
hphp/runtime/vm/jit/mc-generator.cpp
hphp/runtime/vm/jit/native-calls.cpp
hphp/runtime/vm/jit/native-calls.h
hphp/runtime/vm/jit/print.cpp
hphp/runtime/vm/jit/reg-alloc.cpp
hphp/runtime/vm/jit/reg-alloc.h
hphp/runtime/vm/jit/vasm-x64.cpp