GC: Make marking interfaces indirect

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
5 years ago

People

(Reporter: terrence, Unassigned)

Tracking

Trunk
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

6 years ago
Since we will need to update pointers through this interface, we need to unmark them as const.  Some users of these will continue be const (e.g. incremental barriers and non-nursery-objects), however, I don't think it is worth the extra effort to double up the interface to preserve constness for these callers.
(Reporter)

Comment 1

6 years ago
Created attachment 591996 [details] [diff] [review]
v0

It turns out this is a fairly accurate map of the places where trivial Nursery collection is going to be problematic.  Most of the things we end up needing to explicitly deconstify are hash keys for the debugger and weakmap.  I'm not sure where to go with this.  Thoughts?
Attachment #591996 - Flags: feedback?(wmccloskey)
(Reporter)

Comment 2

6 years ago
It looks as if there are not any terribly useful steps in-between the interface cleanup and the full rewriting indirection.
Summary: GC: deconstify marking interfaces → GC: Make marking interfaces indirect
Version: Trunk → Other Branch
(Reporter)

Updated

6 years ago
Attachment #591996 - Flags: feedback?(wmccloskey)
(Reporter)

Updated

6 years ago
Depends on: 730933
(Reporter)

Updated

6 years ago
Depends on: 730961
(Reporter)

Updated

6 years ago
Depends on: 736168
(Reporter)

Updated

6 years ago
Depends on: 737258
(Reporter)

Updated

6 years ago
Depends on: 738868
(Reporter)

Comment 3

5 years ago
I think everything here has landed in other bugs now.
Assignee: terrence → general
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla13
Version: Other Branch → 15 Branch
(Reporter)

Updated

5 years ago
Target Milestone: mozilla13 → ---
Version: 15 Branch → Trunk
You need to log in before you can comment on or make changes to this bug.