Will Coleda <[EMAIL PROTECTED]> wrote:
> Should I expect:

[ Luke already did answer it, but some more hints ]

> parrot -o foo.pasm foo.imc
> parrot foo.pasm <args>

> to work like:

> parrot foo.imc <args>

No. as mentioned. The most useful thing here probably is:

  $ parrot -o- foo.imc # | less

to have a quick look at PASM output. This output is nor intended for
running any more (label mangling and .pcc_sub handling are not
implemented in PASM mode).

> I'm trying to track down a bug where a .local var that's a PerlArray is
> getting replaced with a PerlInt at some point, and I'm trying to figure
> out why. Presuming I'm somehow stepping on that PMC register in a
> subroutine I'm calling, and thought looking at the pasm might help me
> track down where it was occurring.

Which calling conventions are you using?

> Better suggestions on how to debug .imc in general appreciated. =-)

  $ parrot --help-debug
  $ parrot -d18 foo.imc 2>&1 | less           # or
  $ parrot -d18 foo.imc >foo.debug 2>&1

does give you details of life analysis and register allocation.

Also the register allocator isn't yet finished (or totally switched to
Parrot Calling Conventions). If too many variables (>16) are used across
a function call, they are not preserved yet.

> Will "Coke" Coleda                                    will at coleda

leo

Reply via email to