Skip to content

Commit e717448

Browse files
committed
Merge pull request #1227 from undingen/bjit_opt2
major bjit improvements
2 parents 820dd0c + 9fd4924 commit e717448

File tree

10 files changed

+398
-337
lines changed

10 files changed

+398
-337
lines changed

src/asm_writing/assembler.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -755,6 +755,7 @@ void Assembler::incq(Indirect mem) {
755755
}
756756

757757
assert(src_idx >= 0 && src_idx < 8);
758+
bool needssib = (src_idx == 0b100);
758759

759760
if (rex)
760761
emitRex(rex);
@@ -763,8 +764,12 @@ void Assembler::incq(Indirect mem) {
763764
assert(-0x80 <= mem.offset && mem.offset < 0x80);
764765
if (mem.offset == 0) {
765766
emitModRM(0b00, 0, src_idx);
767+
if (needssib)
768+
emitSIB(0b00, 0b100, src_idx);
766769
} else {
767770
emitModRM(0b01, 0, src_idx);
771+
if (needssib)
772+
emitSIB(0b00, 0b100, src_idx);
768773
emitByte(mem.offset);
769774
}
770775
}

0 commit comments

Comments
 (0)