> I see, so they (jmp_next, jmp_first) are just for finding the tbs when > unchaining is needed. do they have any other uses? also, does QEMU do inline > caching ( when it is a conditional branch)?
Yes, they are used for unchaining. Please see cpu_unlink_tb -> tb_reset_jump_recursive. What "inline caching" means? When it's a conditional branch, the branch target is fixed, and here comes the direct block chaining. There is another dynamic translation technique called IBTC (indirect branch translation cache) for indirect branch which has no fixed branch target. But QEMU doesn't has IBTC. Could you please explain what "inline caching" is? Regards, chenwj -- Wei-Ren Chen (陳韋任) Computer Systems Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667