Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[CVS ci] JIT support for JITed functions that call external functions

7 views
Skip to first unread message

Leopold Toetsch

unread,
Oct 24, 2004, 8:38:49 AM10/24/04
to Perl 6 Internals
Thanks to Jeff, who pointed at that, Parrot's JIT system now explicitely
supports JITed functions that call into Parrot, like e.g. most string
functions do.

Here are the steps to use this functionality:

1) Arrange mappable registers like this:

char <type>val_map[] = { non-volatiles, volatiles }:

2) define PRESERVED_<uc_type>_REGS as the count of non-volatiles

3) denote a function call in core.jit as

CALL_FUNCTION(jit_info, the_function);

NB: the only effect of this statement is that the extcall flag of that
opcode is set to -1. It does not call the function or even try to setup
function arguments. Function call is done by ...

4) define that macro on top of core.jit

jit/i386/core.jit is using this functionality now.

Have fun,
leo

0 new messages