How would that work?Exophase said:Ari64 said:There is a preferred mapping, which is r1->r1, r2->r2...r7->r7, r8->r0, r9->r1, etc. This helps with branches, as things are usually in the same registers, however if it runs out of registers, then it will use whatever registers are available.
Okay, so it's a kind of mix between static and dynamic. But I was referring to dynamic between blocks.
This would probably result in a gain in speed. I'd need to write a signal 11 handler tho, and this would make debugging more complicated, so this isn't one of the first things I'd want to optimize.Exophase said:Ari64 said:I hadn't seriously considered it, but it would be possible. The page size is 4K because that's the native page size on the r4300, although almost no N64 games actually use the MMU. (And if any do use the MMU, they probably won't work, since I haven't tested this.)
Would at least cut down the generated code size a bit. I'm always nervous about blowing away L1 icache with huge translated code blocks. Past a certain amount I'd move things to a function (probably for a store like that).
Last edited by a moderator: