01-16-2011, 09:13 PM
(01-16-2011, 06:42 PM)hlide Wrote: I guess you have some "Step" methods to call periodically. The longest the compiled block is the slowest responsiveness is. It's kinda logical.
The calls to "Step" methods are left unchanged, it's just that the Java JIT doesn't like to compile large Java methods.
e.g. with 3000: the Jpcsp Compiler is compiling a mips function at 0x8000000 into a single Java method:
Code:
public static call800000() {
instr1
instr2
...
instr1234
}
And with 50: the Jpcsp Compiler splits the Java method in smaller ones having max. 50 MIPS instr:
Code:
public static call800000() {
call800000_50()
call800000_100()
call800000_150()
...
call800000_1200()
}
public static call800000_50() {
instr1
instr2
...
instr50
}
public static call800000_100() {
instr51
instr52
...
instr100
}
There is probably some threshold in the JIT compiler based on the code size...