[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl-Porters] New MacPerl build system now available!



> :miniperl -wle 'my($a,$b,$eq)=("a","b",0);$eq|=$a eq $b;print "$eq"'
> 2147483648
>
> iBook, MacOS 9.0.4.
>
> That's -0, I think, but it's too early in the morning for me to be
> sure (it's complement + 1, right?):
>
> :miniperl -wle "$x = (~0)&0x7fffffff;print $x"
> 2147483647

I recompiled miniperl with DEBUGGING option.

    :miniperl -Dts -wle 'my($a,$b,$eq)=("a","b",0);$eq|=$a eq $b'

    EXECUTING...

        =>
    (-e:0) enter
        =>
    (-e:0) nextstate
        =>
    (-e:1) pushmark
        =>  *
    (-e:1) const(PV("a"\0))
        =>  *  PV("a"\0)
    (-e:1) const(PV("b"\0))
        =>  *  PV("a"\0)  PV("b"\0)
    (-e:1) const(IV(0))
        =>  *  PV("a"\0)  PV("b"\0)  IV(0)
    (-e:1) pushmark
        =>  *  PV("a"\0)  PV("b"\0)  IV(0)  *
    (-e:1) padsv
        =>  *  PV("a"\0)  PV("b"\0)  IV(0)  *  UNDEF
    (-e:1) padsv
        =>  *  PV("a"\0)  PV("b"\0)  IV(0)  *  UNDEF  UNDEF
    (-e:1) padsv
        =>  *  PV("a"\0)  PV("b"\0)  IV(0)  *  UNDEF  UNDEF  UNDEF
    (-e:1) aassign
        =>
    (-e:1) nextstate
        =>
    (-e:1) padsv
        =>  IV(0)
    (-e:1) padsv
        =>  IV(0)  PV("a"\0)
    (-e:1) padsv
        =>  IV(0)  PV("a"\0)  PV("b"\0)
    (-e:1) seq
***     =>  IV(0)  SV_NO:PVNV(""\0)
    (-e:1) bit_or
        =>  IV(2147483648)
    (-e:1) leave

I suppose 'SV_NO:PVNV(""\0)', at line marked by ***, should be 'SV_NO'.
But I can't understand what's happen in 'seq' operator.

I tried SC(8.8.4)+MrC(4.1) and SC(8.9d1c1)+MrC(5.0d1c1) on my
system(iMac[Rev.B]+MacOS8.6), both brings me same result.

Thanks.

--
//////////////////////////////////////////////
// K. Miyazaki
//     KHC03156@nifty.ne.jp
//     http://homepage2.nifty.com/kay/McPLW/
//////////////////////////////////////////////

==== Want to unsubscribe from this list?
==== Send mail with body "unsubscribe" to macperl-porters-request@macperl.org