New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 633539 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug



Sign in to add a comment

Heap::CopyCode misses old to new typed slots

Project Member Reported by mlippautz@chromium.org, Aug 2 2016

Issue description

Heap::CopyCode misses out on adding old to new typed slots. Currently this is broken on tip of tree, potentially resulting in random memory corruptions.

The issue is that we copy the reloc info which essentially misses out on all write barriers of the set operations on the specific fields. We need a generational barrier that also covers recording typed slots.

Ideally we would have a fused visitor that performs the marking barrier (IncrementalMarking::IterateBlackObject) and also updates old to new sots in reloc info.

A quick search for IterateBlackObject suggests that this could also happen with:
- Heap::RegisterReservationsForBlackAllocation (serialized code objects that contain new space references)
 
Cc: mtrofin@chromium.org

Comment 2 by ahaas@chromium.org, Aug 2 2016

I hope that the CL (https://codereview.chromium.org/2203783002) will eventually fix this issue.

Comment 4 by ahaas@chromium.org, Aug 12 2016

Status: Fixed (was: Assigned)

Sign in to add a comment