Re: Need JIT help please - JIT broken with optimized build on Windows (VC)

2007-08-22 Thread Ron Blaschke
Paolo Molaro wrote: > On 08/16/07 Ron Blaschke wrote: >>> This optimization reaches likely back to times, when the opcode engine was >>> designed. It's saving one interpreter push statement [1] per JIT calling >>> one >>> external function, and I've always thought of it as a very cool (and valid

Re: Need JIT help please - JIT broken with optimized build on Windows (VC)

2007-08-20 Thread Paolo Molaro
On 08/16/07 Joshua Isom wrote: >> The optimization done by the parrot jit is invalid for the x86 C calling >> convention: the area of memory containing the passed arguments >> can be used as scratch space by the called function. [...] > Let's go with a Microsoft blog about it, >

Re: Need JIT help please - JIT broken with optimized build on Windows (VC)

2007-08-16 Thread Joshua Isom
On Aug 16, 2007, at 5:25 AM, Paolo Molaro wrote: On 08/16/07 Ron Blaschke wrote: The optimization done by the parrot jit is invalid for the x86 C calling convention: the area of memory containing the passed arguments can be used as scratch space by the called function. If you can make sure it

Re: Need JIT help please - JIT broken with optimized build on Windows (VC)

2007-08-16 Thread Paolo Molaro
On 08/16/07 Ron Blaschke wrote: > > This optimization reaches likely back to times, when the opcode engine was > > designed. It's saving one interpreter push statement [1] per JIT calling > > one > > external function, and I've always thought of it as a very cool (and valid) > > thingy, when I

Re: Need JIT help please - JIT broken with optimized build on Windows (VC)

2007-08-15 Thread Ron Blaschke
Leopold Toetsch wrote: > Am Mittwoch, 15. August 2007 20:05 schrieb Ron Blaschke: >> Visual C++ seems to optimize quite heavily, and it looks like it reuses >> the memory on the stack where arguments are passed for local variables. > >> mov dword ptr [ebp+0Ch],edx > > All I know about intel c

Re: Need JIT help please - JIT broken with optimized build on Windows (VC)

2007-08-15 Thread jerry gay
On 8/15/07, Leopold Toetsch <[EMAIL PROTECTED]> wrote: > This optimization reaches likely back to times, when the opcode engine was > designed. It's saving one interpreter push statement [1] per JIT calling one > external function, and I've always thought of it as a very cool (and valid) > thingy,

Re: Need JIT help please - JIT broken with optimized build on Windows (VC)

2007-08-15 Thread Leopold Toetsch
Am Mittwoch, 15. August 2007 20:05 schrieb Ron Blaschke: > As you can see, the code is heavily optimized.  The pointer to the > interpreter is kept on the stack as it should stay the same, only the > opcode is exchanged.  *should* is the key word here. Well, another note. This optimization reache

Re: Need JIT help please - JIT broken with optimized build on Windows (VC)

2007-08-15 Thread Leopold Toetsch
Am Mittwoch, 15. August 2007 20:05 schrieb Ron Blaschke: > Visual C++ seems to optimize quite heavily, and it looks like it reuses > the memory on the stack where arguments are passed for local variables. > mov     dword ptr [ebp+0Ch],edx All I know about intel calling convs would summarize this

Need JIT help please - JIT broken with optimized build on Windows (VC)

2007-08-15 Thread Ron Blaschke
Hi, JIT is currently broken on x86 Windows using optimized Visual C++ builds. Here's the reason why. Hopefully someone more familiar with the JIT can pick this up. ... 04e45c9a 68f06fe604 push4E66FF0h 04e45c9f e8370a1c0b call_Parrot_set_returns_pc 04e45ca4 83c404 add