# New Ticket Created by  Dan Sugalski 
# Please include the string:  [perl #33032]
# in the subject line of all future correspondence about this issue. 
# <URL: 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

Reply via email to