Global changes:

* Parrot_jit{_load,_save}_registers have moved to jit.c
- i386, alpha, ppc are adjusted to use the Parrot_jit_emit_mov_* functions
- arm and sun needs still an implementaion for this

* jit2h.pl, i386/core.jit
- function templates:

TEMPLATE Parrot_binop_x_x {
if (MAP[1] && MAP[2]) {
jit_emit_<op>_rr<_N>(NATIVECODE, MAP[1], MAP[2]);
}
...
....
Parrot_sub_i_i {
Parrot_binop_x_x s/<op>/sub/ s/<_N>//
}

Parrot_mul_n_n {
Parrot_binop_x_x s/<op>/mul/ s/<_N>/_n/ s/ISR/FSR/ s/INT_R/NUM_R/
}

This make core.jit files a lot cleaner and smaller.

* i386
- jit/i386 has now JITted floating point too, mandel.pasm runs +10 time faster, or too fast to measure.
- still a lot todo

Have fun,
leo


Reply via email to