Improve state management for offset mappings in irGenRegionImpl()
commitbde219a2ee69729c49b6201a48984ddcd207748a
authorJan Oravec <jan@fb.com>
Tue, 21 May 2019 17:52:06 +0000 (21 10:52 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Tue, 21 May 2019 17:59:50 +0000 (21 10:59 -0700)
treef9facfc0c325642790c6761726e40b3b3ede7273
parent1594ea4260803348a0381bc10c586123c205d8d0
Improve state management for offset mappings in irGenRegionImpl()

Summary:
Do not recalculate offset mappings (which incorrectly restores the guard fail
block) after recursive irGenRegionImpl() call used by inlining.

Instead, save/restore offset mappings and guard fail block across
irGenRegionImpl() calls.

Reviewed By: markw65

Differential Revision: D15418162

fbshipit-source-id: 90e76142cab6b05ea5eff3c53ff8c336e3e720a6
hphp/runtime/vm/jit/ir-builder.cpp
hphp/runtime/vm/jit/ir-builder.h
hphp/runtime/vm/jit/translate-region.cpp