Change semantics of DecodeCufIter
commitb1eedaa49fabd04bb5c74db8fff342e5c5a31832
authormwilliams <mwilliams@fb.com>
Fri, 31 May 2013 16:42:50 +0000 (31 09:42 -0700)
committersgolemon <sgolemon@hiphop-ubuntu-12.04-64>
Mon, 3 Jun 2013 17:54:44 +0000 (3 10:54 -0700)
tree79096b3726cb43a5abacec9ae4a3ba8fc04f85f2
parentdfae726e621e3bc10be0b3cdce699c4d350d75e0
Change semantics of DecodeCufIter

Previously it returned a bool to say whether or not it had
succeeded, but always initialized the iter. The other iterators
branch on failure.

This adds the branch target which brings it closer to the other
iterators, and avoids the need to do a (pointless) CIterFree on
the failure path just to keep the validator happy.

I've also added a translation for it.
19 files changed:
hphp/doc/ir.specification
hphp/runtime/vm/as.cpp
hphp/runtime/vm/bytecode.cpp
hphp/runtime/vm/func.cpp
hphp/runtime/vm/hhbc.h
hphp/runtime/vm/jit/codegen.cpp
hphp/runtime/vm/jit/extradata.h
hphp/runtime/vm/jit/hhbctranslator.cpp
hphp/runtime/vm/jit/hhbctranslator.h
hphp/runtime/vm/jit/ir.h
hphp/runtime/vm/jit/irtranslator.cpp
hphp/runtime/vm/jit/translator-x64-helpers.cpp
hphp/runtime/vm/jit/translator-x64.h
hphp/runtime/vm/jit/translator.cpp
hphp/runtime/vm/jit/translator.h
hphp/runtime/vm/verifier/check_func.cpp
hphp/test/slow/builtin_support/setwithref.php
hphp/test/slow/builtin_support/setwithref.php.expect
hphp/test/slow/builtin_support/support.hhas