Add JIT support for vec/dict/keyset minstrs and related ops
commitdb22257620fc4e28eb9c7539b7a8d3a00c87cf42
authorRick Lavoie <rlavoie@fb.com>
Tue, 16 Aug 2016 20:28:51 +0000 (16 13:28 -0700)
committerHhvm Bot <hhvm-bot-bot@fb.com>
Tue, 16 Aug 2016 20:49:04 +0000 (16 13:49 -0700)
treec1ba96523ded61f73d75e54517578619c61246cd
parent998cda95f847a493d427740e57523fb05e0868af
Add JIT support for vec/dict/keyset minstrs and related ops

Summary:
Add support in the JIT for vec/dict/keyset member operations. Most dict
operations simply call out to the runtime functions provided in a previous diff,
but for vec, many of the get operations can be emitted inline.

Reviewed By: paulbiss

Differential Revision: D3490225

fbshipit-source-id: dfce899de6a050eb480aff9ab0e26f637bde6c8a
36 files changed:
hphp/doc/ir.specification
hphp/runtime/base/array-data-defs.h
hphp/runtime/base/array-data.cpp
hphp/runtime/base/array-init.h
hphp/runtime/base/mixed-array-defs.h
hphp/runtime/base/mixed-array.cpp
hphp/runtime/base/mixed-array.h
hphp/runtime/vm/jit/check.cpp
hphp/runtime/vm/jit/code-gen-x64.cpp
hphp/runtime/vm/jit/code-gen-x64.h
hphp/runtime/vm/jit/dce.cpp
hphp/runtime/vm/jit/extra-data.h
hphp/runtime/vm/jit/gvn.cpp
hphp/runtime/vm/jit/ir-builder.cpp
hphp/runtime/vm/jit/ir-builder.h
hphp/runtime/vm/jit/ir-instruction.cpp
hphp/runtime/vm/jit/ir-opcode.cpp
hphp/runtime/vm/jit/ir-opcode.h
hphp/runtime/vm/jit/ir-unit.cpp
hphp/runtime/vm/jit/irgen-builtin.cpp
hphp/runtime/vm/jit/irgen-create.cpp
hphp/runtime/vm/jit/irgen-minstr.cpp
hphp/runtime/vm/jit/irgen-minstr.h
hphp/runtime/vm/jit/irlower-exception.cpp
hphp/runtime/vm/jit/irlower-minstr.cpp
hphp/runtime/vm/jit/memory-effects.cpp
hphp/runtime/vm/jit/minstr-effects.cpp
hphp/runtime/vm/jit/minstr-helpers.h
hphp/runtime/vm/jit/mixed-array-offset-profile.cpp
hphp/runtime/vm/jit/native-calls.cpp
hphp/runtime/vm/jit/reg-alloc.cpp
hphp/runtime/vm/jit/simplify.cpp
hphp/runtime/vm/jit/simplify.h
hphp/runtime/vm/jit/translator-runtime.cpp
hphp/runtime/vm/jit/translator-runtime.h
hphp/runtime/vm/member-operations.h