threads branch: What is purpose of lib/Parrot/Pmc2c/PMC/Proxy.pm?

James E Keenan jkeen at verizon.net
Sun Aug 12 01:34:02 UTC 2012


On 8/11/12 8:48 PM, James E Keenan wrote:

> But Pmc2cMain never invokes pre_method_gen(). Hence, nothing from
> lib/Parrot/Pmc2c/PMC/Proxy.pm appears to be used anywhere -- implying
> that it can and should be deleted.

Well, testing proved my reasoning wrong. When I deleted 
lib/Parrot/Pmc2c/PMC/Proxy.pm, I built the threads branch successfully 
-- on Linux/i386 -- but encountered these test failures:

src/multidispatch.c:1263: failed assertion 'cache'
src/multidispatch.c:1263: failed assertion 'cache'
Backtrace - Obtained 18 stack frames (max trace depth is 32).
Backtrace - Obtained 18 stack frames (max trace depth is 32).
src/multidispatch.c:1263: failed assertion 'cache'
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0 [0x400a914a]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0(Parrot_confess+0x9a) 
[0x400a92fa]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0(Parrot_mmd_cache_lookup_by_types+0x5e) 
[0x400d4cce]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0(Parrot_mmd_multi_dispatch_from_c_args+0x113) 
[0x400d7243]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0 [0x4011f8d7]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0 [0x40090081]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0 [0x400f5e58]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0 [0x400f592a]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0 [0x400ccf65]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0(Parrot_pcc_invoke_from_sig_object+0x18e) 
[0x400c5a7e]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0(Parrot_ext_call+0x103) 
[0x400aaf33]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0 [0x40204b5b]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0(Parrot_pcc_invoke_from_sig_object+0x13c) 
[0x400c5a2c]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0(Parrot_ext_call+0x103) 
[0x400aaf33]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0 [0x400fd2db]
/home/jimk/gitwork/parrot/blib/lib/libparrot.so.4.6.0 [0x400fe07f]
/lib/libpthread.so.0 [0x40ddff3b]
/lib/libc.so.6(clone+0x5e) [0x40f41bee]
Attempting to get PIR backtrace.  No guarantees.  Here goes...
current instr.: 'main' pc 57 (t/src/threads.t:27)
called from Sub '__PARROT_ENTRY_MAIN__' pc 359 
(frontend/parrot2/prt0.pir:129)
t/src/threads.t ............................. Failed 15/21 subtests
t/src/threads_io.t .......................... Failed 3/4 subtests
####
t/src/threads.t                           (Wstat: 6 Tests: 6 Failed: 0)
   Non-zero wait status: 6
   Parse errors: Bad plan.  You planned 21 tests but ran 6.
t/src/threads_io.t                        (Wstat: 13 Tests: 1 Failed: 0)
   Non-zero wait status: 13
   Parse errors: Bad plan.  You planned 4 tests but ran 1.
>
> Can anyone explain what lib/Parrot/Pmc2c/PMC/Proxy.pm does?
>

Question is still relevant.

Thank you very much.
Jim Keenan



More information about the parrot-dev mailing list