#648: [PATCH] src/gc/system.c compile on HPUX
----------------------+-----------------------------------------------------
 Reporter:  rrauenza  |       Owner:  Infinoid
     Type:  bug       |      Status:  new     
 Priority:  normal    |   Milestone:          
Component:  none      |     Version:  1.1.0   
 Severity:  medium    |    Keywords:          
     Lang:            |       Patch:          
 Platform:            |  
----------------------+-----------------------------------------------------
Changes (by Infinoid):

  * owner:  => Infinoid


Comment:

 Hi,

 I have lots of comments and questions on this patch.  Sorry if it's a
 little disorganized.

 This code is rather confusing, because it plays various tricks in order to
 get direct access to the register set and processor stack(s) so it can
 scan them for PMC pointers and do mark & sweep GC.

 I'm not a GC expert, but I think it calls getcontext() in order to flush
 the system registers onto the stack.  (IA64/PA-RISC has register windows,
 so they can't all be scanned directly.)  Then the stack is scanned for
 pointers to PMCs/PObjs and thus begins the mark & sweep process.  So the
 result *is* used, even if there's no more visible use of the variable
 itself.  (I do worry about the call being optimized out, it's hard to tell
 either way.)

 Testing the GC isn't terribly easy.  If you can build and get through the
 test suite, I'd say that's a good start.  Other parroteers might have more
 specific testing ideas.

 Are the sys/pstat.h and ia64/sys/inline.h headers available (and useful)
 on all platforms HPUX runs on?

 I think you're right, the IA64 code in that file must have been
 specifically for linux.  I can update the comments accordingly, when this
 patch goes in.

 We have fairly poor testing on non-core platforms, and are always looking
 for ways to extend our test coverage.  Once you're able to build and test
 parrot, would you be willing to set up a cron job to submit periodic test
 reports?  Please see https://trac.parrot.org/parrot/wiki/SmokingParrot for
 some details.

 Thanks!

 Mark

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/648#comment:3>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to