Undo the disaster that was the patch to unicorn github issue #266 and fix it correctly. makes normal self-modifying code work.

This commit is contained in:
Andrew Dutcher
2016-07-14 09:40:45 -07:00
parent 236b6e9085
commit 97b10da133
9 changed files with 24 additions and 8 deletions

View File

@ -19217,7 +19217,10 @@ gen_intermediate_code_internal(MIPSCPU *cpu, TranslationBlock *tb,
if (!env->uc->block_full && HOOK_EXISTS_BOUNDED(env->uc, UC_HOOK_BLOCK, pc_start)) {
// save block address to see if we need to patch block size later
env->uc->block_addr = pc_start;
env->uc->size_arg = tcg_ctx->gen_opparam_buf - tcg_ctx->gen_opparam_ptr + 1;
gen_uc_tracecode(tcg_ctx, 0xf8f8f8f8, UC_HOOK_BLOCK_IDX, env->uc, pc_start);
} else {
env->uc->size_arg = -1;
}
gen_tb_start(tcg_ctx);