On Mon, Feb 23, 2004 at 11:07:48AM +0100, Leopold Toetsch wrote:
> Yep. That's a bit complicated. The jit code tries to avoid 
> loading/storing the same register from/to memory.
Actually on this, while looking at what jit on i386 would give for this
particular loop, just noticed it does quite a lot of these store/loads to
memory who are, afaik, useless? (althaugh as I understand they are needed
for the general case)

  0x0829c5ed <jit_func+53>:       mov    $0x2,%ebx
  0x0829c5f2 <jit_func+58>:       mov    %esi,%esi
  0x0829c5f4 <jit_func+60>:       mov    %ebx,0x8278c74
  0x0829c5fa <jit_func+66>:       mov    0x8278c74,%ebx
  0x0829c600 <jit_func+72>:       sub    $0x1,%ebx
  0x0829c606 <jit_func+78>:       test   %ebx,%ebx
  0x0829c608 <jit_func+80>:       jne    0x829c600 <jit_func+72>

(up here we could just skeep 58 to 66)

> jit/i386/jit_emit.h implements all the necessary bits.
> s. jit_emit_jcc, fixup->skip and load_size.
Thanks.. was going "round in loops" ;)
I'll go on it as time permits.

> leo

Stéphane

Reply via email to