Bug 607555 - TM: fix interleaving of bytecode and LIR with TMFLAGS=recorder. r=edwsmith.

--HG--
extra : convert_revision : 53c69eca7d94694ff55d59d39c0d8a26f8d8c111
This commit is contained in:
Nicholas Nethercote 2010-10-27 15:49:04 -07:00
parent f501d81983
commit d224dbf553

View File

@ -1826,14 +1826,9 @@ namespace nanojit
{
if (!code.isEmpty()) {
InsBuf b;
int32_t count = 0;
for (Seq<LIns*>* p = code.get(); p != NULL; p = p->tail) {
for (Seq<LIns*>* p = code.get(); p != NULL; p = p->tail)
logc->printf("%s %s\n", prefix, printer->formatIns(&b, p->head));
count++;
}
code.clear();
if (count > 1)
logc->printf("\n");
}
}
@ -1842,7 +1837,7 @@ namespace nanojit
}
LIns* insGuardXov(LOpcode op, LIns* a, LIns* b, GuardRecord *gr) {
return add_flush(out->insGuardXov(op,a,b,gr));
return add(out->insGuardXov(op,a,b,gr));
}
LIns* insBranch(LOpcode v, LIns* condition, LIns* to) {
@ -1850,7 +1845,7 @@ namespace nanojit
}
LIns* insBranchJov(LOpcode v, LIns* a, LIns* b, LIns* to) {
return add_flush(out->insBranchJov(v, a, b, to));
return add(out->insBranchJov(v, a, b, to));
}
LIns* insJtbl(LIns* index, uint32_t size) {
@ -1883,7 +1878,7 @@ namespace nanojit
return add(out->insLoad(v, base, disp, accSet, loadQual));
}
LIns* insStore(LOpcode op, LIns* v, LIns* b, int32_t d, AccSet accSet) {
return add(out->insStore(op, v, b, d, accSet));
return add_flush(out->insStore(op, v, b, d, accSet));
}
LIns* insAlloc(int32_t size) {
return add(out->insAlloc(size));
@ -1901,7 +1896,7 @@ namespace nanojit
}
LIns* insComment(const char* str) {
return add(out->insComment(str));
return add_flush(out->insComment(str));
}
};