Remove enum abuse in recordSyncPoint

Esse commit está contido em:
jdelong
2013-04-04 17:39:00 -07:00
commit de Sara Golemon
commit 7b243f97ed
+12 -2
Ver Arquivo
@@ -3706,8 +3706,18 @@ void CodeGenerator::cgLdRef(IRInstruction* inst) {
void CodeGenerator::recordSyncPoint(Asm& as,
SyncOptions sync /* = kSyncPoint */) {
assert(m_state.lastMarker);
assert(sync != kNoSyncPoint);
Offset stackOff = m_state.lastMarker->stackOff - (sync - kSyncPoint);
Offset stackOff = m_state.lastMarker->stackOff;
switch (sync) {
case kSyncPointAdjustOne:
stackOff -= 1;
break;
case kSyncPoint:
break;
case kNoSyncPoint:
assert(0);
}
Offset pcOff = m_state.lastMarker->bcOff - m_state.lastMarker->func->base();
m_tx64->recordSyncPoint(as, pcOff, stackOff);
}