Author here! I actually tried using AOT and it actually decreased the performance by about 35%. I think it's because Game Boy games tend use a small number of instructions a lot more than the others, so the JIT can optimize for them, while AOT has to be more conservative.

That makes sense. The part where my program really benefits is in a bottleneck area that you always have to go through and where you visit every code path in it.