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

[CVS ci] indirect register frame 9 - go

10 views
Skip to first unread message

Leopold Toetsch

unread,
Oct 28, 2004, 4:06:05 AM10/28/04
to Perl 6 Internals
I've now committed the new (internal) calling scheme. On the surface
nothing has changed, at least, if the code obeys to the rules in
docs/pdds/pdd03_calling_conventions.pod.

If you are using PIR code and the function call directives all will
still work. PASM code or handcrafted calls have to take care to setup
I0..I4 accordingly. If these registers don't indicate function arguments
or return values, the other end will not see the passed values.

Some additional notes:
* t/library/streams_11 produces now a different result, I don't know
which one is correct and why there is a difference
* t/library/dumper.* seems to be broken WRT pdd03, it's disabled
* t/op/gc_13 (Piers' backtracking example) needed the cloning of the 2nd
C<choose> closure. I hope that this is correct, but as these closures
are holding different state, it should be.

* all prederefed run cores (Prederef, CGP, Switch) are currently broken
because they are still using absolute register addresses.
* all JIT platforms except ppc and i386 are broken


Takers wanted for JIT fixes. See jit/ppc/* for necessary changes.

leo

Stephane Peiry

unread,
Oct 28, 2004, 7:09:27 PM10/28/04
to Leopold Toetsch, perl6-i...@perl.org
On Thu, Oct 28, 2004 at 10:06:05AM +0200, Leopold Toetsch wrote:
> * all JIT platforms except ppc and i386 are broken
>
> Takers wanted for JIT fixes. See jit/ppc/* for necessary changes.

This patch fixes JIT for the sparc platform (make testj passes
except for the streams and gc_10.pasm where it hangs - where
apparently ppc has the issues).

> leo

Thanks,
Stéphane

jit.sun4.jit_emit.h.patch
0 new messages