Re: JIT me some speed!

2001-12-26 Thread Nicholas Clark
On Fri, Dec 21, 2001 at 12:03:51AM +, Tom Hughes wrote: In message [EMAIL PROTECTED] Dan Sugalski [EMAIL PROTECTED] wrote: To run a program with the JIT, pass test_parrot the -j flag and watch it scream. Well, scream if you're on x86 Linux or BSD (I get a speedup on

Re: .ops metadata [was: Re: JIT me some speed!]

2001-12-26 Thread Michael Fischer
On Mon, Dec 24, Gregor N. Purdy wrote: Nicholas -- Parrot_set_i_i(in,out): \x8b \x0d IR2 \x89 \x0d IR1 I'm tempted to push the specification of this information all the way back to the syntax of .ops files, since the code that lives there should behave the same wrt read/write on args.

Re: .ops metadata [was: Re: JIT me some speed!]

2001-12-26 Thread Jason Gloudon
On Mon, Dec 24, 2001 at 02:11:15PM -0500, Gregor N. Purdy wrote: Or, do we really need to have the three-way in/out/inout tagset? inline op set(out i, in i|ic) { $1 = $2; } Making the distinction between the three cases enables a number of optimizations of native code based on

Re: .ops metadata [was: Re: JIT me some speed!]

2001-12-26 Thread Gregor N. Purdy
Jason -- Making the distinction between the three cases enables a number of optimizations of native code based on analysing data flow. 'in' would be good as an implicit default, as many PMC opcodes will not overwrite any PMC registers. An optimizing native code generator (whether static

Re: JIT me some speed!

2001-12-24 Thread Nicholas Clark
On Fri, Dec 21, 2001 at 12:03:51AM +, Tom Hughes wrote: It looks like it is going to need some work before it can work for other instruction sets though, at least for RISC systems where the operands are typically encoded with the opcode as part of a single word and the range of immediate

Re: JIT me some speed!

2001-12-24 Thread Daniel Grunblatt
I think we should leave all that for an optimizer. Daniel Grunblatt. On Mon, 24 Dec 2001, Nicholas Clark wrote: On Fri, Dec 21, 2001 at 12:03:51AM +, Tom Hughes wrote: It looks like it is going to need some work before it can work for other instruction sets though, at least for RISC

Re: JIT me some speed!

2001-12-24 Thread Daniel Grunblatt
Oh, and by the BTW, I already tried you fastest example last week and got 50x speed up, but that's works only for mops, so ... Daniel Grunblatt. On Mon, 24 Dec 2001, Nicholas Clark wrote: On Fri, Dec 21, 2001 at 12:03:51AM +, Tom Hughes wrote: It looks like it is going to need some

Re: JIT me some speed!

2001-12-24 Thread Nicholas Clark
On Mon, Dec 24, 2001 at 03:19:39PM -0300, Daniel Grunblatt wrote: I think we should leave all that for an optimizer. I agree with that Sorry, my point wasn't clear: I believe the current JIT description syntax precludes making a good optimiser. By making all ops pass by reference, with no

.ops metadata [was: Re: JIT me some speed!]

2001-12-24 Thread Gregor N. Purdy
Nicholas -- Parrot_set_i_i(in,out): \x8b \x0d IR2 \x89 \x0d IR1 I'm tempted to push the specification of this information all the way back to the syntax of .ops files, since the code that lives there should behave the same wrt read/write on args. Dan likes C-like syntax as much as possible in

RE: .ops metadata [was: Re: JIT me some speed!]

2001-12-24 Thread Brent Dax
Gregor N. Purdy: # Parrot_set_i_i(in,out): \x8b \x0d IR2 \x89 \x0d IR1 # # I'm tempted to push the specification of this information all the way # back to the syntax of .ops files, since the code that lives there # should behave the same wrt read/write on args. # # Dan likes C-like syntax as

Re: JIT me some speed!

2001-12-21 Thread Gregor N. Purdy
Dan and Michael -- $ ./test_parrot -j examples/assembly/mops.pbc Illegal instruction That's not supposed to happen is it? Its Linux/PowerPC, so maybe it is supposed to happen. It's sort of supposed to happen. It shouldn't work, at least--we need better error checking and such,

Re: JIT me some speed!

2001-12-21 Thread Gregor N. Purdy
All -- $ ./test_parrot -j examples/assembly/mops.pbc Illegal instruction That's not supposed to happen is it? Its Linux/PowerPC, so maybe it is supposed to happen. It's sort of supposed to happen. It shouldn't work, at least--we need better error checking and such, so

Re: JIT me some speed!

2001-12-21 Thread Daniel Grunblatt
On Fri, 21 Dec 2001, Tom Hughes wrote: In message [EMAIL PROTECTED] Dan Sugalski [EMAIL PROTECTED] wrote: To run a program with the JIT, pass test_parrot the -j flag and watch it scream. Well, scream if you're on x86 Linux or BSD (I get a speedup on mops.pbc of 35x) but it's

Re: JIT me some speed!

2001-12-21 Thread Tom Hughes
In message [EMAIL PROTECTED] Daniel Grunblatt [EMAIL PROTECTED] wrote: On Fri, 21 Dec 2001, Tom Hughes wrote: I suspect it is also rather questionable to call system calls directly rather than going via their C library veneers - that is even more true when you come to things

Re: JIT me some speed!

2001-12-21 Thread Daniel Grunblatt
Don't forget that (if I'm missing somthing) by the time that pbc2c.pl work with all the ops it will be much slower than the jit. Daniel Grunblatt. On 21 Dec 2001, Tom Hughes wrote: In message [EMAIL PROTECTED] Daniel Grunblatt [EMAIL PROTECTED] wrote: On Fri, 21 Dec 2001, Tom