Re: [perl #33032] Parameter fillin problem

2004-12-15 Thread Dan Sugalski
At 9:31 AM + 12/15/04, Leopold Toetsch via RT wrote:
Dan Sugalski wrote:
 Or not. (I've got too many versions of parrot around at the moment) I
 see this bug happening against yesterday morning's parrot.
 imcc/CVS/Entries shows a date of Mon Dec 13 12:19:33 2004 for reg_alloc.c.
I still can't reproduce it. CVS fetches either to P16 or even P3 for the
first registers until P3 is used to hold overflow.
From what I can see it's inconsistent--I've only tracked down one 
function call where this happens, though I've not dug in too deeply 
yet. (I was hoping there was something in the code that'd trigger a 
"D'oh!" and easy fix :)

I'll do a compile-to-pasm and grovel through the code some more to 
see if I can't find some marker or other that might show what's going 
on.
--
Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk


Re: [perl #33032] Parameter fillin problem

2004-12-15 Thread Leopold Toetsch
Dan Sugalski wrote:
Or not. (I've got too many versions of parrot around at the moment) I 
see this bug happening against yesterday morning's parrot. 
imcc/CVS/Entries shows a date of Mon Dec 13 12:19:33 2004 for reg_alloc.c.
I still can't reproduce it. CVS fetches either to P16 or even P3 for the 
first registers until P3 is used to hold overflow.

leo


Re: [perl #33032] Parameter fillin problem

2004-12-14 Thread Dan Sugalski
At 8:48 AM -0500 12/14/04, Dan Sugalski wrote:
At 9:08 AM + 12/14/04, Leopold Toetsch via RT wrote:
Dan Sugalski <[EMAIL PROTECTED]> wrote:
 IMCC's doing odd things when moving PMCs into the appropriate spot
 when calling into functions with a large number of parameters. Here's
 a snip from a trace of one of the programs running. Note the lines
 from bytecode offset 78123, 78126, and 78130. P9 is set to P28 (which
 is right) then P9 is set to spill 64, which is then moved to register
 P10 (leaving the same PMC in P9 and P10, which isn't correct)
I tried to reproduce it but failed. I've added more tests that all spill
correctly.
Are you using CVS head?
Damn. No, I'm using a build from Nov 30th. Syncing up with CVS head 
breaks this code in other interesting ways. I'll go close this bug 
and track down the current problems.
Or not. (I've got too many versions of parrot around at the moment) I 
see this bug happening against yesterday morning's parrot. 
imcc/CVS/Entries shows a date of Mon Dec 13 12:19:33 2004 for 
reg_alloc.c.
--
Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk


Re: [perl #33032] Parameter fillin problem

2004-12-13 Thread Dan Sugalski
At 9:08 AM + 12/14/04, Leopold Toetsch via RT wrote:
Dan Sugalski <[EMAIL PROTECTED]> wrote:
 IMCC's doing odd things when moving PMCs into the appropriate spot
 when calling into functions with a large number of parameters. Here's
 a snip from a trace of one of the programs running. Note the lines
 from bytecode offset 78123, 78126, and 78130. P9 is set to P28 (which
 is right) then P9 is set to spill 64, which is then moved to register
 P10 (leaving the same PMC in P9 and P10, which isn't correct)
I tried to reproduce it but failed. I've added more tests that all spill
correctly.
Are you using CVS head?
Damn. No, I'm using a build from Nov 30th. Syncing up with CVS head 
breaks this code in other interesting ways. I'll go close this bug 
and track down the current problems.
--
Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk


[perl #33032] Parameter fillin problem

2004-12-13 Thread via RT
# New Ticket Created by  Dan Sugalski 
# Please include the string:  [perl #33032]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org:80/rt3/Ticket/Display.html?id=33032 >


IMCC's doing odd things when moving PMCs into the appropriate spot 
when calling into functions with a large number of parameters. Here's 
a snip from a trace of one of the programs running. Note the lines 
from bytecode offset 78123, 78126, and 78130. P9 is set to P28 (which 
is right) then P9 is set to spill 64, which is then moved to register 
P10 (leaving the same PMC in P9 and P10, which isn't correct)

The IMCC code that corresponds to the executed bytecode is:

$P1867 = $P1868('metadata/priceq_extra.info', $P1803, $P1806, $P1809, 
$P1812, $P1815, $P1818, $P1821, $P1824, $P1827, $P1830, $P1833, 
$P1836, $P1839, $P1842, $P1845, $P1848, $P1851, $P1854, $P1857, 
$P1860, $P1863, $P1866)

  78111 set P5, P17 - P5=Array=PMC(0x22e6110), 
P17=Object(DPString)=PMC(0x22d1590)
  78114 set P6, P16 - P6=Object(DPString)=PMC(0x22e8810), 
P16=Object(DPString)=PMC(0x22d12c0)
  78117 set P7, P30 - P7=Object(DPString)=PMC(0x22e8588), 
P30=Object(Int32)=PMC(0x22d10b0)
  78120 set P8, P29 - P8=Object(DPString)=PMC(0x22e82b8), 
P29=Object(Money4)=PMC(0x22d0f00)
  78123 set P9, P28 - P9=Object(DPString)=PMC(0x22e7fe8), 
P28=Object(Int32)=PMC(0x22d0d50)
  78126 set P9, P31[64] - P9=Object(Int32)=PMC(0x22d0d50), 
P31=PerlArray=PMC(0x101b6d8),
  78130 set P10, P9 - P10=Object(DPString)=PMC(0x22e7d18), 
P9=Object(Money4)=PMC(0x22d0ba0)
  78133 set P10, P31[63]- P10=Object(Money4)=PMC(0x22d0ba0), 
P31=PerlArray=PMC(0x101b6d8),
  78137 set P11, P10- P11=Object(DPString)=PMC(0x22e7a48), 
P10=Object(Int32)=PMC(0x22d09f0)
  78140 set P11, P31[62]- P11=Object(Int32)=PMC(0x22d09f0), 
P31=PerlArray=PMC(0x101b6d8),
  78144 set P12, P11- P12=Object(DPString)=PMC(0x22e7778), 
P11=Object(Money4)=PMC(0x22d0858)
  78147 set P12, P31[61]- P12=Object(Money4)=PMC(0x22d0858), 
P31=PerlArray=PMC(0x101b6d8),
  78151 set P13, P12- P13=Object(DPString)=PMC(0x22e74a8), 
P12=Object(Int32)=PMC(0x22d06a8)
  78154 set P13, P31[60]- P13=Object(Int32)=PMC(0x22d06a8), 
P31=PerlArray=PMC(0x101b6d8),
  78158 set P14, P13- P14=Object(DPString)=PMC(0x22e71d8), 
P13=Object(Money4)=PMC(0x22d04f8)
  78161 null P3 - P3=Sub=PMC(0xff3868 Adr:0x2113144)
  78163 set P14, P31[59]- P14=Object(Money4)=PMC(0x22d04f8), 
P31=PerlArray=PMC(0x101b6d8),
  78167 set P15, P14- P15=Object(DPString)=PMC(0x22e6f08), 
P14=Object(Int32)=PMC(0x22d0348)
-- 
Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
   teddy bears get drunk


Re: [perl #33032] Parameter fillin problem

2004-12-13 Thread Leopold Toetsch
Dan Sugalski <[EMAIL PROTECTED]> wrote:

> IMCC's doing odd things when moving PMCs into the appropriate spot
> when calling into functions with a large number of parameters. Here's
> a snip from a trace of one of the programs running. Note the lines
> from bytecode offset 78123, 78126, and 78130. P9 is set to P28 (which
> is right) then P9 is set to spill 64, which is then moved to register
> P10 (leaving the same PMC in P9 and P10, which isn't correct)

I tried to reproduce it but failed. I've added more tests that all spill
correctly.

Are you using CVS head?

leo