x64 JIT: Allocate constant data outside of the guest heap.

This commit is contained in:
Dr. Chat
2016-08-18 18:26:55 -05:00
parent 784e6a7593
commit e3fdb08ad7
5 changed files with 127 additions and 93 deletions

View File

@@ -610,6 +610,7 @@ struct Sequence {
reg_reg_fn(e, i.src2, temp);
}
} else if (i.src2.is_constant) {
assert_true(!i.src1.is_constant);
if (i.src2.ConstantFitsIn32Reg()) {
reg_const_fn(e, i.src1, static_cast<int32_t>(i.src2.constant()));
} else {
@@ -636,6 +637,7 @@ struct Sequence {
reg_reg_fn(e, i.dest, i.src2, temp, true);
}
} else if (i.src2.is_constant) {
assert_true(!i.src1.is_constant);
if (i.src2.ConstantFitsIn32Reg()) {
reg_const_fn(e, i.dest, i.src1, static_cast<int32_t>(i.src2.constant()),
false);