Last Comment Bug 721557 - GC: Make marking interfaces indirect
: GC: Make marking interfaces indirect
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: All All
-- normal (vote)
: ---
Assigned To: general
: Jason Orendorff [:jorendorff]
Depends on: 721463 730933 730961 736168 737258 738868
Blocks: 720522
  Show dependency treegraph
Reported: 2012-01-26 15:41 PST by Terrence Cole [:terrence]
Modified: 2012-06-14 09:54 PDT (History)
2 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

v0 (15.00 KB, patch)
2012-01-26 16:34 PST, Terrence Cole [:terrence]
no flags Details | Diff | Splinter Review

Description User image Terrence Cole [:terrence] 2012-01-26 15:41:29 PST
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.
Comment 1 User image Terrence Cole [:terrence] 2012-01-26 16:34:00 PST
Created attachment 591996 [details] [diff] [review]

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?
Comment 2 User image Terrence Cole [:terrence] 2012-01-31 16:19:10 PST
It looks as if there are not any terribly useful steps in-between the interface cleanup and the full rewriting indirection.
Comment 3 User image Terrence Cole [:terrence] 2012-06-14 09:54:21 PDT
I think everything here has landed in other bugs now.

Note You need to log in before you can comment on or make changes to this bug.