Merge AsyncAwait and AsyncSuspend opcodes into Await opcode
commit2244e92fe5be4ab562deff710387cad34a7c0cf3
authorJan Oravec <jan@fb.com>
Tue, 22 Apr 2014 00:38:27 +0000 (21 17:38 -0700)
committerSara Golemon <sgolemon@fb.com>
Mon, 28 Apr 2014 16:29:11 +0000 (28 09:29 -0700)
tree6ed5dc0493c5c909f51caf43776e6c4d2b2677c5
parentf1da367af7b20fa8181357813b0242220724e740
Merge AsyncAwait and AsyncSuspend opcodes into Await opcode

Summary: AsyncAwait is always used together with AsyncSuspend (+ conditional jump). Merge them together and simplify related logic.

Reviewed By: @jdelong

Differential Revision: D1288674
24 files changed:
hphp/compiler/analysis/emitter.cpp
hphp/doc/bytecode.specification
hphp/hhbbc/interp.cpp
hphp/hhbbc/optimize.cpp
hphp/hhbbc/type-system.h
hphp/runtime/debugger/cmd/cmd_flow_control.cpp
hphp/runtime/debugger/cmd/cmd_next.cpp
hphp/runtime/debugger/cmd/cmd_next.h
hphp/runtime/vm/as.cpp
hphp/runtime/vm/bytecode.cpp
hphp/runtime/vm/hhbc.h
hphp/runtime/vm/jit/hhbc-translator.cpp
hphp/runtime/vm/jit/hhbc-translator.h
hphp/runtime/vm/jit/ir-builder.h
hphp/runtime/vm/jit/ir-translator.cpp
hphp/runtime/vm/jit/mc-generator.cpp
hphp/runtime/vm/jit/region-hot-trace.cpp
hphp/runtime/vm/jit/region-selection.cpp
hphp/runtime/vm/jit/simplifier.cpp
hphp/runtime/vm/jit/translator-instrs.h
hphp/runtime/vm/jit/translator.cpp
hphp/runtime/vm/jit/translator.h
hphp/test/quick/asm_fatal_await.hhas
hphp/test/quick/asm_fatal_await.hhas.expectf