#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