develooper Front page | perl.perl6.internals | Postings from November 2002

[CVS ci] JIT/i386: 370% faster mops_p.pasm

From:
Leopold Toetsch
Date:
November 18, 2002 02:43
Subject:
[CVS ci] JIT/i386: 370% faster mops_p.pasm
Message ID:
3DD8C1EC.6030503@toetsch.at
JIT has big improvement in integer related programs but did lack to 
improve real world i.e. PMC using apps.

I wanted to test, how much we can gain, by doing vtable calls directly 
in JIT and did optimize 4 ops (dec_p, inc_p, if_p_ic, unless_p_ic) 
(which happen to be used in mops_p.pasm's MOPS loop) - and the result 
really is impressiv: 3,7 times faster execution.

The generated code replaces the call to Parrot_jit_{normal,cpfp}_op by 
code that calls the vtable function directly, thus saving one funtion 
call plus recalculating the address of parrot registers.

By defining macros to the standard functions, the code should be 
compatible with different architectures, though I couldn't test this.

Have fun,
leo




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About