Re: Call stack manipulation?

2002-04-18 Thread Andrew J Bromage
G'day all. On Fri, Apr 19, 2002 at 07:06:04AM +0100, Piers Cawley wrote: > 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 is a tail call > > branch FOO_tail > ... > > #

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 i

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

Re: [PATCH] Op metadata

2002-04-18 Thread Dan Sugalski
At 1:59 PM +1000 4/19/02, Andrew J Bromage 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: Ah. Hmmm. Well, we're already attaching some metada

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 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 mean

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? --

[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, or

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

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 a

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 hav

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.

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 fe

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 resiz

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 reproduce

[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. # http://bugs6.perl.org/rt2/Ticket/Display.html?id=522 > Sometime during or shortly after the 0.0.5 release, BASIC broke with string/s

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 go

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: [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 th

Re: goto ADDRESS()

2002-04-18 Thread Jason Gloudon
On Thu, Apr 18, 2002 at 01:49:20PM +0200, Marco Baringer wrote: > in trying to make goto ADDRESS($1) work as it should i have come > across the following doubt: How are you interpreting that it "should" work ? I don't know of any documentation that says what it should do, but currently it is onl

goto ADDRESS()

2002-04-18 Thread Marco Baringer
in trying to make goto ADDRESS($1) work as it should i have come across the following doubt: out of core_ops.c, core_ops_cg.c and core_ops_prederef.c which one is parrot using? and how do i change it if i want? i notice while compling is have the HAVE_COMPUTED_GOTO macro defined, but it seems (a