Fix trace exit type for IncDecL of boxed values

For accesses to boxed locals, if the inner type changes, we can
retranslate using HHIR: the new translation will inspect the live type
and be able to execute the instruction.  While looking at something
else, I noticed that in such cases IncDecL was taking a slow exit
(which avoids using HHIR).
Esse commit está contido em:
Guilherme Ottoni
2013-05-03 18:54:17 -07:00
commit de Sara Golemon
commit 0cd3186819
@@ -660,7 +660,7 @@ void HhbcTranslator::emitSetL(int32_t id) {
void HhbcTranslator::emitIncDecL(bool pre, bool inc, uint32_t id) {
// Handle only integer inc/dec for now
Trace* exitTrace = getExitSlowTrace();
Trace* exitTrace = getExitTrace();
SSATmp* src = m_tb->genLdLocAsCell(id, exitTrace);
if (src->isA(Type::Bool)) {
// inc/dec of a bool is a no-op