2020.3.23

ir1=>ir2=>native的过程:

  • x86-qemu-mips/target/i386/X86toMIPS/x86tomips-config.c: target_x86_to_mips_host(...)
    • tr_translate_tb(TB, ETB)
    • tr_ir2_generate(ETB1, ETB2)

ir1和ir2是否会被清理?

其中tr_data里装ir1链表指针和,ETB2里(TranslationBlock里的ETB里)装ir1表的指针,

也就是说ir1列表和ir2列表都存在lsenv->tr_data所以翻译玩成后翻译下一个TB前,ir2列表就被清理了?

ETB(ir1)是有存储在hash表里的,所以只要ETB(ir1)数量没有溢出就一直保留。

哪里修改过ir2_inst_array

tr_init