Front page | perl.perl6.internals |
Postings from November 2002
Re: [CVS ci] JIT bug fix
Thread Previous
From:
Daniel Grunblatt
Date:
November 13, 2002 08:34
Subject:
Re: [CVS ci] JIT bug fix
Message ID:
200211131334.17707.daniel@grunblatt.com.ar
On Wednesday 13 November 2002 11:48, Leopold Toetsch wrote:
> Daniel Grunblatt wrote:
> > On Wednesday 13 November 2002 08:06, Leopold Toetsch wrote:
> >>I could localize a long outstanding bug in JIT causing 4 perl6 tests to
> >>fail.
> >
> > I wonder who was the #%$# that introduced that bug ..... D'OH! :)
>
> Wow, Daniel, the lost son himself ;-)
>
:)
:
> So I immediately have a question (or some):
>
> I'm currently studying jit.c and I'm wondering, it it wouldn't be better
> to allocate registers for a whole basic block, and only store/load the
> used registers for non JITed sections when necessary. These normally
> don't have a lot of IRegs, so we could save a bunch of store/load's.
Oh yes, the optimizer doesn't do any cross section analisis yet, I'll fix
that.
see:
http://groups.google.com/groups?selm=20020805215944.GB301%40Bagpuss.unfortu.n
et
> And 2), when doing this, I would change
>
> char intval_map[INT_REGISTERS_TO_MAP] =
> { emit_EDI, emit_EBX, emit_EDX, emit_ECX };
>
> to use callee saved regs first (ebx, edi, esi), and then (edx, ecx),
> which would mean, that the first 3 registers wouldn't be globbered by
> external functions. The current usage of esi could be done by ebp, I
> think. This would need some defines, how many/which registers are callee
> saved (like CALL_USED_REGISTERS in gcc/config/*).
>
> What do you think of this?
Good idea.
Daniel Grunblatt.
> leo
Thread Previous