Fix closure dispatch when there's more than one Func*
commitec4e62d60202cd704bb987f09aa467d807c2aa26
authormwilliams <mwilliams@fb.com>
Fri, 29 Mar 2013 18:36:42 +0000 (29 11:36 -0700)
committerSara Golemon <sgolemon@fb.com>
Mon, 1 Apr 2013 20:47:50 +0000 (1 13:47 -0700)
tree5bf2c5e93fcf8b8f82d1f455b982ed8d418d586d
parentb8ebb4842134991072bf9cbbedeb297877698e15
Fix closure dispatch when there's more than one Func*

We need to make sure that we execute the code
corresponding to the actual Func*. This re-uses the
prolog array to hold the entry points for the cloned
Func*.
hphp/runtime/vm/func.cpp
hphp/runtime/vm/func.h
hphp/runtime/vm/translator/translator-x64-helpers.cpp
hphp/runtime/vm/translator/translator-x64.cpp
hphp/runtime/vm/translator/translator-x64.h
hphp/runtime/vm/translator/translator.h
hphp/test/vm/closure_clone_2.php [new file with mode: 0644]
hphp/test/vm/closure_clone_2.php.exp [new file with mode: 0644]