From 8c980d31d1169aaeebe6042ab6cd2ca8ce07e7fe Mon Sep 17 00:00:00 2001 From: kma Date: Fri, 15 Mar 2013 16:27:38 -0700 Subject: [PATCH] Fix a pair of missing emit*TVType calls. Reviewing the diff between feature and trunk revealed these two instructions that still hardcode dwords for types. --- hphp/runtime/vm/translator/translator-x64.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hphp/runtime/vm/translator/translator-x64.cpp b/hphp/runtime/vm/translator/translator-x64.cpp index f8a14afc5..31987c916 100644 --- a/hphp/runtime/vm/translator/translator-x64.cpp +++ b/hphp/runtime/vm/translator/translator-x64.cpp @@ -2315,7 +2315,7 @@ TranslatorX64::emitPrologue(Func* func, int nPassed) { // rVmFp[loopReg].m_type = KindOfUninit; // } while(++loopReg != loopEnd); - a. storel (edx, rVmFp[loopReg]); + emitStoreTVType(a, edx, rVmFp[loopReg]); a. addq (sizeof(Cell), loopReg); a. cmpq (loopEnd, loopReg); a. jcc8 (CC_NE, topOfLoop); @@ -11569,7 +11569,7 @@ asm_label(a, doRelease); Label skipDecRef; emitLoadTVType(a, rIter[TVOFF(m_type)], rType); - a. cmpl (KindOfRefCountThreshold, rType); + emitCmpTVType(a, KindOfRefCountThreshold, rType); a. jle8 (skipDecRef); a. call (release); recordIndirectFixup(a.code.frontier, 0);