Re: [PATCH] intconst parameter type

2002-04-18 Thread Jason Gloudon
On Thu, Apr 18, 2002 at 03:24:58PM +1000, Andrew J Bromage wrote: - Nobody is likely to use it any time soon. People say that about my brain, but they haven't tried to take it from me yet :) Having registers provide the destination for some branches makes it possible to generate code

Re: pasm.el and looping ops

2002-04-18 Thread Dan Sugalski
At 10:52 PM +0200 4/16/02, Marco Baringer wrote: Steve Fink [EMAIL PROTECTED] writes: On the other hand, I may be overlooking a good reason for adding these. The two reasons I can think of right now are (1) you've done benchmarking and combining these ops demonstrates a significant

Re: goto ADDRESS()

2002-04-18 Thread Marco Baringer
Jason Gloudon [EMAIL PROTECTED] writes: [i distincly remember sending this email, but it's not in the web archive or in my gnus archive, so i'm sending it again, pardon me if you've already seen this] On Thu, Apr 18, 2002 at 01:49:20PM +0200, Marco Baringer wrote: in trying to make goto

[netlabs #522] BASIC hangs and crashes, Win32 MSVC++, 0.0.5

2002-04-18 Thread Clinton A. Pierce
# New Ticket Created by Clinton A. Pierce # Please include the string: [netlabs #522] # in the subject line of all future correspondence about this issue. # URL: http://bugs6.perl.org/rt2/Ticket/Display.html?id=522 Sometime during or shortly after the 0.0.5 release, BASIC broke with

BASIC hangs and crashes, Win32 MSVC++, 0.0.5

2002-04-18 Thread Clinton A. Pierce
Sometime during or shortly after the 0.0.5 release, BASIC broke with string/stack/GC errors. During program LOAD, Parrot runs off eats a ton of memory (sometimes) and falls over dead (eventually). Someone else in #parrot tried the exact same test without problems. I'm dismayed. To

Re: [netlabs #522] BASIC hangs and crashes, Win32 MSVC++, 0.0.5

2002-04-18 Thread Mike Lambert
Undoing the patch in resources.c seems to fix the problem. Changing: ((Buffer *)buffer)-buflen = req_size; to: ((Buffer *)buffer)-buflen = size; makes it work again. Looking into it a bit more, this seems like a 'bad' patch. Take, for example, resize_array in array.pmc. If I call

Re: [PATCH] intconst parameter type

2002-04-18 Thread Andrew J Bromage
G'day all. On Thu, Apr 18, 2002 at 09:35:11AM -0400, Jason Gloudon wrote: Having registers provide the destination for some branches makes it possible to generate code that eliminates most of the comparisions needed to implement C style case/switch statements, so this is not a useless

Re: [PATCH] intconst parameter type

2002-04-18 Thread Dan Sugalski
At 3:24 PM +1000 4/18/02, Andrew J Bromage wrote: G'day all. This patch introduces a new op parameter type inconst, which is like in except that it only produces const versions of the op (i.e. it will not take values from registers). This is mostly for the benefit of branch targets. The

Re: goto ADDRESS()

2002-04-18 Thread Dan Sugalski
At 11:11 PM +0200 4/18/02, Marco Baringer wrote: i am attaching a patch to Parrot::OpTrans::CGoto which makes goto ADDRESS(X) jump to the offset X relative to the start of the byte_code (in other words interpreter-code-byte_code + X). given this new interpretation of goto ADDRESS() i have found

Re: [netlabs #522] BASIC hangs and crashes, Win32 MSVC++, 0.0.5

2002-04-18 Thread Dan Sugalski
At 6:43 PM -0400 4/18/02, Mike Lambert wrote: Undoing the patch in resources.c seems to fix the problem. Changing: ((Buffer *)buffer)-buflen = req_size; to: ((Buffer *)buffer)-buflen = size; makes it work again. Looking into it a bit more, this seems like a 'bad' patch. I agree. That

Re: [PATCH] intconst parameter type

2002-04-18 Thread Andrew J Bromage
G'day all. On Thu, Apr 18, 2002 at 09:09:59PM -0400, Dan Sugalski wrote: I've applied this, with the exception of the branch and bsr ops. At the moment, I agree--I can't see any case where if or gte needs to have a variable target. (I can see it for branch, bsr, jump, and jsr, as those

[PATCH] Op metadata

2002-04-18 Thread Andrew J Bromage
G'day all. This patch allows op-writers to store optional metadata to be associated along with an op. Very simple key-value stuff at the moment; may get fancier later. Once again, this is mostly for the optimizer's benefit, so you can note things like if an op affects the state of the world,

Re: [PATCH] Op metadata

2002-04-18 Thread Dan Sugalski
At 1:04 PM +1000 4/19/02, Andrew J Bromage wrote: This patch allows op-writers to store optional metadata to be associated along with an op. Very simple key-value stuff at the moment; may get fancier later. Interesting. Could you give an example of how an op with metadata would look? --

Re: [PATCH] Op metadata

2002-04-18 Thread Andrew J Bromage
G'day all. On Thu, Apr 18, 2002 at 11:31:32PM -0400, Dan Sugalski wrote: Interesting. Could you give an example of how an op with metadata would look? Sure. Here's some of my experimenting with what is the right kind of metadata to attach. Brief glossary: - CANNOT_FALL_THROUGH

Re: cvs commit: parrot/languages/regex/lib/Regex/Rewrite Rx.pm Stackless.pm Re.pm

2002-04-18 Thread Mike Lambert
Added: languages/regex/lib/Regex Ops.pm languages/regex/lib/Regex/Ops List.pm Tree.pm Removed: languages/regex/lib/Regex AsmOps.pm RegexOps.pm languages/regex/lib/Regex/Rewrite Re.pm Make sure to update the MANIFEST. It usually works fine if you

Re: [PATCH] Op metadata

2002-04-18 Thread Andrew J Bromage
G'day all. On Fri, Apr 19, 2002 at 12:44:49AM -0400, Dan Sugalski wrote: Ah. Hmmm. Well, we're already attaching some metadata to ops in a different way--that's what the op and inline keywords are doing. For metadata that use parameters I can see a scheme like you're proposing, though

Call stack manipulation?

2002-04-18 Thread Piers Cawley
So, here I am, roughing out some ideas for how I'm going to implement a very lovely and worthwhile scheme interpreter (or a compiler, I'm not proud) for parrot. If I'm going to be doing tail call optimization (and I can't call it scheme if I don't) then my first thought was as follows. # This