The Box IR opcode should take a Cell instead of Gen.
commitc96a86e0eb6bb3e36c12c75173ea700580377ece
authorAlex Malyshev <alexanderm@fb.com>
Tue, 20 Jan 2015 23:35:54 +0000 (20 15:35 -0800)
committerhhvm-bot <hhvm-bot@fb.com>
Wed, 21 Jan 2015 00:00:38 +0000 (20 16:00 -0800)
tree2b975759ec0a6430b1ed6e40d2cfbf87ab17d8a1
parentf93275e573be5c7689639032621e56bba2fc7649
The Box IR opcode should take a Cell instead of Gen.

Summary: The ir spec doesn't match the implementation here. We only emit a Box in one
function (emitVGetL), and it's only emitted when the input is known to be
unboxed. Furthermore, the C++ helper we emit in codegen doesn't even check if
the input is boxed or not, it will always box it.

Reviewed By: @edwinsmith

Differential Revision: D1788633

Signature: t1:1788633:1421781691:9e2a03ed704f1cac8fc35184488734c4c4ae3002
hphp/doc/ir.specification
hphp/runtime/vm/jit/guard-relaxation.cpp
hphp/runtime/vm/jit/ir-opcode.cpp
hphp/runtime/vm/jit/ir-opcode.h
hphp/runtime/vm/jit/translator-runtime.cpp
hphp/runtime/vm/jit/type.cpp