Differentiate consumesReference and movesReference
commit69187fb3ee081c84861817d8da62171e2c79e1ee
authorMark Williams <mwilliams@fb.com>
Fri, 12 Jan 2018 14:40:55 +0000 (12 06:40 -0800)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Fri, 12 Jan 2018 14:56:09 +0000 (12 06:56 -0800)
tree0505b626b0edd069ffa17435fbc8c9ecce6ef8dd
parent9a9f7ae6a310ebc8849a132c205d9788d39e43ce
Differentiate consumesReference and movesReference

Summary:
refcount opts assumes that a consumesReference instruction will reduce
the refcount immediately, but many such instructions simply teleport
the value elsewhere. For those cases, we can just bump up the
unsupported_refs, rather than reducing the lower_bound.

Reviewed By: ricklavoie

Differential Revision: D6650541

fbshipit-source-id: 388294ac332f4fb229565ccadbfb5796907fc2af
hphp/doc/ir.specification
hphp/runtime/vm/jit/ir-instruction.cpp
hphp/runtime/vm/jit/ir-instruction.h
hphp/runtime/vm/jit/memory-effects.cpp
hphp/runtime/vm/jit/refcount-opts.cpp