Re: JIT?

2017-01-13 Thread ToddAndMargo
On 01/13/2017 05:18 AM, Steve Mynott wrote: The most important difference is that the JIT version is 64 bit and the "no JIT" is 32 bit. So if you are running a modern Windows you almost certainly want the 64 bit (JIT) version Also the JIT version is a more recent version. S I missed that

Re: JIT?

2017-01-13 Thread Steve Mynott
The most important difference is that the JIT version is 64 bit and the "no JIT" is 32 bit. So if you are running a modern Windows you almost certainly want the 64 bit (JIT) version Also the JIT version is a more recent version. S

Re: JIT?

2017-01-11 Thread ToddAndMargo
On 01/11/2017 06:43 PM, yary wrote: You don't need JIT! It's an implementation detail that doesn't affect functionality. In theory it improves speed at which Perl6 code runs. In practice, it won't make a bit of difference with FTP

Re: JIT?

2017-01-11 Thread yary
You don't need JIT! It's an implementation detail that doesn't affect functionality. In theory it improves speed at which Perl6 code runs. In practice, it won't make a bit of difference with FTP client/server programs.

Re: JIT and platforms warning

2004-10-29 Thread Leopold Toetsch
Leopold Toetsch [EMAIL PROTECTED] wrote: arm, mips, and sun4 JIT platforms need definitely some work to even keep up with the current state of the JIT interface. That's actually wrong - sorry. Sun4 JIT is fairly complete and is up to date and should't have been in above sentence. I've messed

Re: [PATCH] Re: JIT and platforms warning

2004-10-24 Thread Leopold Toetsch
Jeff Clites [EMAIL PROTECTED] wrote: On Oct 23, 2004, at 4:20 AM, Leopold Toetsch wrote: Jeff Clites [EMAIL PROTECTED] wrote: See attached the patch, plus the new asm.s file. Doesn't run, segfaults on even mops.pasm - please check. I can't reproduce that here; parrot -j works for me

Re: [PATCH] Re: JIT and platforms warning

2004-10-24 Thread Leopold Toetsch
Jeff Clites [EMAIL PROTECTED] wrote: On Oct 23, 2004, at 3:42 AM, Leopold Toetsch wrote: We were allocating the volatile float registers first (or, only)--so Cset_s_sc was blowing away an N-register, even with only one in use. That's why I was surprised there weren't more failures. Yes. As

[PATCH] Re: JIT and platforms warning

2004-10-23 Thread Jeff Clites
On Oct 22, 2004, at 3:57 AM, Leopold Toetsch wrote: Jeff Clites wrote: On Oct 22, 2004, at 1:01 AM, Leopold Toetsch wrote: [JIT changes] I just finished tracking down the source of a couple of JIT test failures on PPC--due to recent changes but only indirectly related, and pointing out things

Re: [PATCH] Re: JIT and platforms warning

2004-10-23 Thread Leopold Toetsch
Jeff Clites [EMAIL PROTECTED] wrote: See attached the patch, plus the new asm.s file. Doesn't run, segfaults on even mops.pasm - please check. JEff leo

Re: [PATCH] Re: JIT and platforms warning

2004-10-23 Thread Leopold Toetsch
Jeff Clites [EMAIL PROTECTED] wrote: Yep, that was the core of the issue. There's no free lunch--if we use the nonvolatile registers, we need to preserve/restore them in begin/end, but if we use the volatile registers, we need to preserve them across function calls (incl. normal op calls).

Re: [PATCH] Re: JIT and platforms warning

2004-10-23 Thread Jeff Clites
On Oct 23, 2004, at 4:20 AM, Leopold Toetsch wrote: Jeff Clites [EMAIL PROTECTED] wrote: See attached the patch, plus the new asm.s file. Doesn't run, segfaults on even mops.pasm - please check. I can't reproduce that here; parrot -j works for me with examples/{benchmarks,assembly}/mops.pasm, and

Re: [PATCH] Re: JIT and platforms warning

2004-10-23 Thread Jeff Clites
On Oct 23, 2004, at 3:42 AM, Leopold Toetsch wrote: Jeff Clites [EMAIL PROTECTED] wrote: Yep, that was the core of the issue. There's no free lunch--if we use the nonvolatile registers, we need to preserve/restore them in begin/end, but if we use the volatile registers, we need to preserve them

Re: JIT and platforms warning

2004-10-22 Thread Jeff Clites
On Oct 22, 2004, at 1:01 AM, Leopold Toetsch wrote: [JIT changes] I just finished tracking down the source of a couple of JIT test failures on PPC--due to recent changes but only indirectly related, and pointing out things which needed fixing anyway (float register preservation issues). I'll

Re: JIT and platforms warning

2004-10-22 Thread Leopold Toetsch
Jeff Clites wrote: On Oct 22, 2004, at 1:01 AM, Leopold Toetsch wrote: [JIT changes] I just finished tracking down the source of a couple of JIT test failures on PPC--due to recent changes but only indirectly related, and pointing out things which needed fixing anyway (float register

Re: JIT problem on Cygwin revisited

2004-06-02 Thread Leopold Toetsch
Joshua Gatcomb [EMAIL PROTECTED] wrote: Parrot doesn't use GMP right? Right. ... So the math library in question is the /usr/include/math.h header? No. That's the header do declare functions in the math library. The library is e.g. F/usr/lib/libm.so. WRT alignment there were some

Re: JIT problem on Cygwin revisited

2004-06-02 Thread Joshua Gatcomb
--- Leopold Toetsch [EMAIL PROTECTED] wrote: ... So the math library in question is the /usr/include/math.h header? No. That's the header do declare functions in the math library. The library is e.g. F/usr/lib/libm.so. Well you see - that's what I thought but removing it seemed to have

Re: JIT problem on Cygwin revisited

2004-06-02 Thread Leopold Toetsch
Joshua Gatcomb [EMAIL PROTECTED] wrote: --- Leopold Toetsch [EMAIL PROTECTED] wrote: math library. The library is e.g. F/usr/lib/libm.so. For example $ objdump -p parrot.exe DLL Name: cygwin1.dll vma: Hint/Ord Member-Name Bound-To 1b5588 14

Re: JIT problem on Cygwin revisited

2004-06-01 Thread Leopold Toetsch
Joshua Gatcomb [EMAIL PROTECTED] wrote: Well, it only happens under JIT for the following functions (identical code for atan works fine): cosh, sinh, tanh, sech, exp, pow It only happens if there are two set N# prior to the function where # is two different numbers N0 = 1 N1 = 1 I think

Re: JIT problem on Cygwin revisited

2004-06-01 Thread Joshua Gatcomb
I thought I had already replied to this but I don't seem to see it in the archive anywhere. --- Leopold Toetsch [EMAIL PROTECTED] wrote: I think next step would need to review Cygwin math lib sources and trace into the library. Nasty. Parrot doesn't use GMP right? So the math library in

Re: JIT problem on Cygwin revisited

2004-05-28 Thread Joshua Gatcomb
--- Leopold Toetsch [EMAIL PROTECTED] wrote: I think next step would need to review Cygwin math lib sources and trace into the library. Nasty. Parrot isn't using GMP right? I am not sure where to go look for the math lib sources other than the math header /usr/include/math.h ??? Is your

Re: JIT problem on Cygwin revisited

2004-05-25 Thread Leopold Toetsch
Joshua Gatcomb [EMAIL PROTECTED] wrote: 4 print N3 gdb p N3 $2 = 4.4942328371557898e+307 If both N1 and N2 are not set prior to cosh, then everything works fine. I've checked in a possible fix for this. Please try again after cvs update. Thanks for your analysis, leo

Re: JIT problem on Cygwin revisited

2004-05-25 Thread Joshua Gatcomb
--- Leopold Toetsch [EMAIL PROTECTED] wrote: Joshua Gatcomb [EMAIL PROTECTED] wrote: 4 print N3 gdb p N3 $2 = 4.4942328371557898e+307 If both N1 and N2 are not set prior to cosh, then everything works fine. I've checked in a possible fix for this. Please try again after

Re: JIT problem on Cygwin revisited

2004-05-25 Thread Leopold Toetsch
Joshua Gatcomb [EMAIL PROTECTED] wrote: Sorry - still a problem. I am attaching a more descriptive debugging session where I show the floats and registers at every step. Not sure if this will be useful, but I figured it couldn't hurt. It looks like that the Cygwin libs have some assumption

Re: JIT problem on Cygwin revisited

2004-05-25 Thread Joshua Gatcomb
--- Leopold Toetsch [EMAIL PROTECTED] wrote: It looks like that the Cygwin libs have some assumption how the floating point stack is used. I'll try to insert a Cemms instruction before math lib functions are called. leo Well, it only happens under JIT for the following functions

[perl #27200] Re: [PATCH] Re: JIT branches under the Sun

2004-02-28 Thread via RT
# New Ticket Created by Leopold Toetsch # Please include the string: [perl #27200] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=27200 Stephane Peiry wrote: On Mon, Feb 23, 2004 at 11:07:48AM +0100, Leopold

Re: JIT branches under the Sun

2004-02-23 Thread Leopold Toetsch
Stephane Peiry wrote: Looking at it makes it pretty clear why it loops forever (mainly it jumps back to a load, loading always the same value). Yep. That's a bit complicated. The jit code tries to avoid loading/storing the same register from/to memory. This is achieved by remembering the size

Re: JIT branches under the Sun

2004-02-23 Thread Stephane Peiry
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

Re: JIT branches under the Sun

2004-02-23 Thread Leopold Toetsch
Stephane Peiry [EMAIL PROTECTED] wrote: 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

Re: JIT branches under the Sun

2004-02-21 Thread Stephane Peiry
On Mon, Feb 16, 2004 at 09:08:55AM +0100, Leopold Toetsch wrote: I see. Your libc's sprintf seems to be missing the 0x prefix for the %p format. Ok you were right, that fixed it immediatly, and I'm now able to see within jit :). Attached are the dumps for this loop, with and without the print

Re: JIT branches under the Sun

2004-02-16 Thread Leopold Toetsch
Stephane Peiry [EMAIL PROTECTED] wrote: mh ok, I do get the stabs file, and apparently the reason no objfile gets created is that as complains with loads of warnings and some errors when given the stab file. I see. Your libc's sprintf seems to be missing the 0x prefix for the %p format. Can

Re: JIT branches under the Sun

2004-02-14 Thread Stephane Peiry
On Fri, Feb 13, 2004 at 10:48:09AM +0100, Leopold Toetsch wrote: I don't know suns JIT code nor the assembler syntax, but it seems that the two subcc lines are broken: emitm_subcc_r(NATIVECODE, MAP[1], emitm_g(0), emitm_g(0)); If I understand that correctly it should read:

Re: JIT branches under the Sun

2004-02-14 Thread Leopold Toetsch
Stephane Peiry [EMAIL PROTECTED] wrote: whats a good way to debug jit? s. docs/jit.pod /Debugging docs/debug.pod /jit Thanks, Stephane leo

Re: JIT branches under the Sun

2004-02-14 Thread Stephane Peiry
On Sat, Feb 14, 2004 at 02:35:02PM +0100, Leopold Toetsch wrote: docs/debug.pod /jit saw that one, but jit doesn't generate a .o file under sparc? Stéphane

Re: JIT branches under the Sun

2004-02-14 Thread Leopold Toetsch
Stephane Peiry [EMAIL PROTECTED] wrote: On Sat, Feb 14, 2004 at 02:35:02PM +0100, Leopold Toetsch wrote: docs/debug.pod /jit saw that one, but jit doesn't generate a .o file under sparc? Calling Parrot_jit_debug() is enabled for __GNUC__ and __IBMC__. If your system doesn't define one of

Re: JIT branches under the Sun

2004-02-13 Thread Leopold Toetsch
Stephane Peiry [EMAIL PROTECTED] wrote: While playing with JIT on Suns, I've found out that the following pasm code: set I1, 2 LOOP: sub I1, 1 ifI1, LOOP print end\n end never finishes.. that is: parrot -j loop.pasm hangs forever (never

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Leopold Toetsch
Jonathan Worthington [EMAIL PROTECTED] wrote: Hi, I was looking over the WinXP Service Pack 2 Changes to functionality document, which you can get here:- http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechn ol/winxppro/maintain/winxpsp2.asp (download available in

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Peter Gibbs
Leopold Toetsch wrote: JIT code is run in malloc'ed memory (s. jit.c:1026) as well as JITted NCI stubs. We already have some system specific stuff for JIT (some architectures need a page flush before execution). So best would be to use a set of spcialized function, e.g.: -

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Leopold Toetsch
Peter Gibbs [EMAIL PROTECTED] wrote: Leopold Toetsch wrote: JIT code is run in malloc'ed memory (s. jit.c:1026) as well as JITted NCI stubs. We already have some system specific stuff for JIT (some architectures need a page flush before execution). So best would be to use a set of

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Vladimir Lipsky
Ah, that's the reason for your bug report WRT JIT/NCI. The question is, how can we detect the presence of the exec-shield patch. Your `uname -a` doesn't indicate it. What for? We just always do allocating memory from a JIT dedicated heap with execute flas set on it, no matter the presence of

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Peter Gibbs
Leopold Toetsch wrote: So we need: 1) a config test/option/whatever (e.g. mallocing some mem, fill in a ret instruction and call that. 2) Some means to allocate executable memory. Could you please have a look at fedora (kernel) docs? There are two ways to flag memory as executable: 1) A

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Leopold Toetsch
Vladimir Lipsky [EMAIL PROTECTED] wrote: Ah, that's the reason for your bug report WRT JIT/NCI. The question is, how can we detect the presence of the exec-shield patch. Your `uname -a` doesn't indicate it. What for? We just always do allocating memory from a JIT dedicated heap with execute

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Leopold Toetsch
Peter Gibbs [EMAIL PROTECTED] wrote: Leopold Toetsch wrote: So we need: 1) a config test/option/whatever (e.g. mallocing some mem, fill in a ret instruction and call that. 2) Some means to allocate executable memory. Could you please have a look at fedora (kernel) docs? There are two

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Vladimir Lipsky
From: Leopold Toetsch [EMAIL PROTECTED] Vladimir Lipsky [EMAIL PROTECTED] wrote: Ah, that's the reason for your bug report WRT JIT/NCI. The question is, how can we detect the presence of the exec-shield patch. Your `uname -a` doesn't indicate it. What for? We just always do allocating

Re: JIT bug with restoretop

2003-08-03 Thread Simon Glover
On 3 Aug 2003, Luke Palmer wrote: This fix has worked fine with JIT until now, so I suspect the problem is elsewhere. Bug confirmed here (although I need a slightly longer string to trigger it). Here's a stacktrace: ---

Re: JIT bug with restoretop

2003-08-03 Thread Daniel Grunblatt
On Sunday 03 August 2003 15:27, Simon Glover wrote: On 3 Aug 2003, Luke Palmer wrote: This fix has worked fine with JIT until now, so I suspect the problem is elsewhere. Bug confirmed here (although I need a slightly longer string to trigger it). Here's a stacktrace: I couldn't

Re: JIT bug with restoretop

2003-08-03 Thread Simon Glover
On Sun, 3 Aug 2003, Daniel Grunblatt wrote: On Sunday 03 August 2003 15:27, Simon Glover wrote: On 3 Aug 2003, Luke Palmer wrote: This fix has worked fine with JIT until now, so I suspect the problem is elsewhere. Bug confirmed here (although I need a slightly longer string to

Re: [JIT] bsr/ret in native code

2002-06-14 Thread Dan Sugalski
At 9:54 AM +0200 6/14/02, Aldo Calpini wrote: you would not be able, for example, to inspect the call stack from inside a Parrot program anymore. That, unfortunately, makes it untenable, since we need to be able to do this in the general case. Also, we'll fill up the thread stack pretty

Re: [JIT] bsr/ret in native code

2002-06-14 Thread Larry Wall
On Fri, 14 Jun 2002, Dan Sugalski wrote: : At 9:54 AM +0200 6/14/02, Aldo Calpini wrote: : you would : not be able, for example, to inspect the call stack from inside a Parrot : program anymore. : : That, unfortunately, makes it untenable, since we need to be able to : do this in the general

Re: [JIT] bsr/ret in native code

2002-06-14 Thread Larry Wall
On Fri, 14 Jun 2002, Nicholas Clark wrote: : But surely an routine that calls another routine can potentially have its : stack inspected by the caller? Certainly. : So it would only make sense for leaf nodes, and even then they might : get inspected by overloaded values or methods on objects

Re: [JIT] bsr/ret in native code

2002-06-14 Thread Dan Sugalski
At 1:49 PM -0700 6/14/02, Larry Wall wrote: On Fri, 14 Jun 2002, Nicholas Clark wrote: : Or would the property of I don't use caller or want still be useful on a : subroutine, because the run-time could determine that it would be : inline-able (or whatever) inside a loop at run time, based on

Re: JIT ideas

2002-05-24 Thread Aldo Calpini
Daniel Grunblatt wrote: Don't implement any print op yet, if I didn't understood wrong they are going to be updated to use the IO system. ok, I draw back them then. but I found another use for the emit_call_abs() function to implement some string stuff in JIT. as I already said, the speed

Re: JIT ideas

2002-05-24 Thread Daniel Grunblatt
On Fri, 24 May 2002, Aldo Calpini wrote: but I found another use for the emit_call_abs() function to implement some string stuff in JIT. as I already said, the speed increase isn't at all dramatic, but OTOH I have no idea how to do complicate stuff like allocating memory natively in asm.

Re: JIT ideas

2002-05-23 Thread Daniel Grunblatt
On Thu, 23 May 2002, Aldo Calpini wrote: hello people, I've implemented some print opcodes in JIT (for i386), but I would like to know your opinion about these before submitting a patch. in reality, there isn't a big performance boost, because I'm just calling printf as the C opcode

Re: JIT for Win32

2002-05-10 Thread Daniel Grunblatt
On Fri, 10 May 2002, Aldo Calpini wrote: hello there (and especially the JIT team), is anybody working on JIT-enabling the Win32 platform? Yes, the new JIT will work (actually, it works) on Windows, probably you didn't read the TODO, says '(currently on hold, waiting for JIT v2)', so, as

Re: JIT for Win32

2002-05-10 Thread Aldo Calpini
Daniel Grunblatt wrote: is anybody working on JIT-enabling the Win32 platform? Yes, the new JIT will work (actually, it works) on Windows, probably you didn't read the TODO, says '(currently on hold, waiting for JIT v2)', so, as soon as the the code is in you will be able to use the JIT on

Re: JIT for Win32

2002-05-10 Thread Daniel Grunblatt
On Fri, 10 May 2002, Aldo Calpini wrote: it was really nice to work on it anyway. I have learned alot of things, and would like to suggest an 'enhancement' to Configure.pl. if the compiler is 'cl' (that is, Visual C++), and you invoke Configure.pl with --debugging, it should add '-DDEBUG

Re: JIT for Win32

2002-05-10 Thread Dan Sugalski
At 12:29 PM -0300 5/10/02, Daniel Grunblatt wrote: On Fri, 10 May 2002, Aldo Calpini wrote: also, to inspect core_ops.c in the debugger (instead of the not-so-helpful core.ops), I had to comment all the #line directives in core_ops.c. I hate that too. If you want to throw in a patch to

Re: Jit on Solaris: using dis instead of objdump?

2002-01-31 Thread Andy Dougherty
On Wed, 30 Jan 2002, Jason Gloudon wrote: On Wed, Jan 30, 2002 at 03:27:18PM -0500, Andy Dougherty wrote: objdump. Is anyone with a Solaris system familiar enough with jit internals to have a go at adapting it to use dis instead of GNU objdump? The difference was pretty minimal. It should

Re: Jit on Solaris: using dis instead of objdump?

2002-01-31 Thread Jason Gloudon
This should make solaris 'as' happy. There will be an assembler warning, but it's harmless. diff -r1.3 sun4Generic.pm 78c78 return Parrot::Jit-Assemble(ld [\%o0], \%o0\njmpl \%o0, \%g0\n); --- return Parrot::Jit-Assemble(ld [\%o0], \%o0\njmpl \%o0, \%g0\nnop\n); 151c151

Re: Jit on Solaris: using dis instead of objdump?

2002-01-30 Thread Dan Sugalski
At 3:27 PM -0500 1/30/02, Andy Dougherty wrote: On Solaris, it looks like JIT will now be enabled if the user has also installed GNU objdump. However, there is (often) already a disassembler in /usr/ccs/bin/dis. It's output is similar, but not identical to, objdump. Is anyone with a Solaris

Re: Jit on Solaris: using dis instead of objdump?

2002-01-30 Thread Jason Gloudon
On Wed, Jan 30, 2002 at 03:27:18PM -0500, Andy Dougherty wrote: On Solaris, it looks like JIT will now be enabled if the user has also installed GNU objdump. However, there is (often) already a disassembler in /usr/ccs/bin/dis. It's output is similar, but not identical to, objdump. Is

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

Re: JIT stuff stomps on Windows compilation

2001-12-21 Thread Jason Gloudon
On Thu, Dec 20, 2001 at 07:37:42AM -0500, Gregor N. Purdy wrote: I see Simon already changed 'cp ...' to 'perl -MFile::Copy...'. I just changed that to '$(PERL) -MFile::Copy...'. NT 4.0's cmd shell does not like single quotes. diff -r1.82 Makefile.in 22c22 platform$(O) $(CLASS_O_FILES)

Re: JIT stuff stomps on Windows compilation

2001-12-20 Thread Gregor N. Purdy
Brent -- First of all, 'cp' is NOT always available, yet you used it in the Makefile. I edited the Makefile to change the 'cp' to 'copy' and turned slashes to backslashes. Then, I get a ton of errors about stuff like this: include\parrot\jit_struct.h(7) : error C2059: syntax error

Re: JIT stuff stomps on Windows compilation

2001-12-20 Thread Gregor N. Purdy
Brent -- Give it another try. I just messed with jit2h.pl to make it not generate empty brace pairs. Regards, -- Gregor /Inspiration Innovation Excellence (TM)\ Gregor N. Purdy

Re: JIT hanging

2001-12-20 Thread Simon Cozens
On Thu, Dec 20, 2001 at 02:20:45PM +, Simon Cozens wrote: I'm sure this shouldn't be. Anyone got any clues? Me! The following seems to be an off-by-one error: diff -d -u -r1.1 jit.c --- jit.c 20 Dec 2001 01:57:01 - 1.1 +++ jit.c 20 Dec 2001 14:24:32 - @@ -70,7

RE: JIT stuff stomps on Windows compilation

2001-12-20 Thread Brent Dax
Gregor N. Purdy: # Give it another try. I just messed with jit2h.pl to make it not # generate empty brace pairs. Builds beautifully now. Thanks. --Brent Dax [EMAIL PROTECTED] Configure pumpking for Perl 6 Nothing important happened today. --George III of England's diary entry for

Re: JIT compilation

2001-11-18 Thread Benoit Cerrina
There is an effort to compile ruby to the CLR, I don't know more, because I can't read japanese :-) And there is someone working on python support in the mono compiler, too. BTW: we just got our compiler running on linux and compiling a simple program, hopefully by next week it can be used

Re: JIT compilation

2001-11-18 Thread Paolo Molaro
On 11/17/01 Dan Sugalski wrote: BTW: we just got our compiler running on linux and compiling a simple program, hopefully by next week it can be used for some more real code generation. Yahoo! Congrats. Are we still slower than you are? :) It's a couple of months I'm in

Re: JIT compilation

2001-11-17 Thread Dan Sugalski
At 03:32 PM 11/16/2001 +0100, Paolo Molaro wrote: On 11/08/01 Benoit Cerrina wrote: I heard that, I was thinking that it would be great to run ruby on mono but ruby is very dynamic (like perl but since its so much easier to use and program it is also easier to redefine the methods and

Re: JIT compilation

2001-11-16 Thread Simon Cozens
On Fri, Nov 16, 2001 at 03:32:06PM +0100, Paolo Molaro wrote: And there is someone working on python support in the mono compiler, too. I know, I've just seen. Wouldn't it be really wonderful, Paolo, if someone wrote some Perl bindings for it as well? :) -- I did write and prove correct a

Re: JIT compilation

2001-11-16 Thread Paolo Molaro
On 11/16/01 Simon Cozens wrote: On Fri, Nov 16, 2001 at 03:32:06PM +0100, Paolo Molaro wrote: And there is someone working on python support in the mono compiler, too. I know, I've just seen. Wouldn't it be really wonderful, Paolo, if someone wrote some Perl bindings for it as well? :)

Re: JIT compilation

2001-11-11 Thread James Mastros
On Sat, 10 Nov 2001, Dan Sugalski wrote: There's a minimum charge you're going to have to pay for the privilege of dynamicity, or running a language not built by an organization with 20 full-time engineers dedicated to it. Umm, this isn't really the place for it, so just a quick question:

Re: JIT compilation

2001-11-10 Thread Dan Sugalski
At 07:13 PM 11/8/2001 -0500, Ken Fox wrote: Dan Sugalski wrote: [native code regexps] There's a hugely good case for JITting. Yes, for JITing the regexp engine. That looks like a much easier problem to solve than JITing all of Parrot. The problem there's no different than for the rest of the

Re: JIT compilation

2001-11-08 Thread Norbert Bollow
Ken Fox [EMAIL PROTECTED] wrote: Simon Cozens wrote: ... Mono's work on JIT compilation ... they've got some pretty interesting x86 code generation stuff going on. Mono is doing some very cool stuff, but it's kind of hard to understand at this time. The x86 code generation macros are

Re: JIT compilation

2001-11-08 Thread Paolo Molaro
On 11/07/01 Ken Fox wrote: Simon Cozens wrote: ... Mono's work on JIT compilation ... they've got some pretty interesting x86 code generation stuff going on. Mono is doing some very cool stuff, but it's kind of hard to understand at this time. The x86 code generation macros are easy to

Re: JIT compilation

2001-11-08 Thread Paolo Molaro
On 11/08/01 Norbert Bollow wrote: BURG means Bottom-Up Rewrite Grammar... a way to generate optimized code quickly *if* you have plenty of memory available. Maybe, if 32 KB for a large method is plenty (about 600 bytes of IL code): basically all the methods in out corlib are below that size.

Re: JIT compilation

2001-11-08 Thread Dave Goehrig
On Wed, Nov 07, 2001 at 06:46:20PM -0500, Ken Fox wrote: JITs help when the VM is focused on lots of small instructions with well-known, static semantics. Perl's use of Parrot is going to be focused almost completely on PMC vtable ops. A JIT has no advantage over a threaded interpreter.

Re: JIT compilation

2001-11-08 Thread Benoit Cerrina
IMHO, a less dynamic perl is perl no more, though some consideration should be made to make it easier to implement the language on virtual machines such as the JVM and CLR. That said, I'm open to sneak into mono opcode handling that may make it easier to run parrot code there, if it is

Re: JIT compilation

2001-11-08 Thread Benoit Cerrina
On Wed, Nov 07, 2001 at 06:46:20PM -0500, Ken Fox wrote: JITs help when the VM is focused on lots of small instructions with well-known, static semantics. Perl's use of Parrot is going to be focused almost completely on PMC vtable ops. A JIT has no advantage over a threaded

Re: JIT compilation

2001-11-08 Thread Dan Sugalski
At 02:46 AM 11/8/2001 -0600, Dave Goehrig wrote: On Wed, Nov 07, 2001 at 06:46:20PM -0500, Ken Fox wrote: JITs help when the VM is focused on lots of small instructions with well-known, static semantics. Perl's use of Parrot is going to be focused almost completely on PMC vtable ops. A

Re: JIT compilation

2001-11-08 Thread Ken Fox
Dan Sugalski wrote: [native code regexps] There's a hugely good case for JITting. Yes, for JITing the regexp engine. That looks like a much easier problem to solve than JITing all of Parrot. If you think about it, the interpreter loop is essentially: while (code) { code =

Re: JIT compilation

2001-11-07 Thread Ken Fox
Simon Cozens wrote: ... Mono's work on JIT compilation ... they've got some pretty interesting x86 code generation stuff going on. Mono is doing some very cool stuff, but it's kind of hard to understand at this time. The x86 code generation macros are easy to use, but the instruction selection

Re: JIT compilation

2001-11-07 Thread Uri Guttman
KF == Ken Fox [EMAIL PROTECTED] writes: KF JITs help when the VM is focused on lots of small instructions KF with well-known, static semantics. Perl's use of Parrot is going KF to be focused almost completely on PMC vtable ops. A JIT has KF no advantage over a threaded interpreter.