#1297: PackFile_Constant_unpack_pmc should call Parrot_thaw_constants(), not
Parrot_thaw()
----------------------+-----------------------------------------------------
Reporter: Infinoid | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: none | Version:
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
----------------------+-----------------------------------------------------
Comment(by whiteknight):
Taking into account chromatic's assessment above, it seems to me that
there are two options forward to resolve this issue:
- Treat the pool of Constant PMCs as a rootset and always mark the
children of constant PMCs on each mark phase
- When marking, if we reach a Constant PMC as a child of a non-constant
PMC that we are marking, we should ignore it's "I'm already alive" flag
and mark it's children anyway.
I worry about situations where we have a constant PMC with non-constant
children that are not getting marked. The children are collected, the
pointers in the constant PMC are never updated, and the PMC itself is
likely unreachable but its storage is never reclaimed. A small issue, to
be sure, but definitely has an effect on Parrot's memory footprint.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1297#comment:2>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets