Simplify GC after removing PJS

RESOLVED FIXED in mozilla38

Status

()

defect
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: lth, Assigned: lth)

Tracking

unspecified
mozilla38
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

Not yet sure what goes into this work, but at least these:

* ThreadSafeContext -> ExclusiveContext
* No more ForkJoinContext, Shu may have touched some bits here already
* No more isThreadLocal() testing
* Probably some things in the GC triggering machinery (callbacks to requestGC
  and requestZoneGC on the ForkJoinContext)

Also not sure how to stage this, but will probably put it on top of some of Shu's changes.
Posted patch WIP (obsolete) — Splinter Review
Probably roughly right but there are some outstanding issues.

(This patch contains a bunch of ugly hacks to files in vm/ that are there just to make things compile w/o ThreadSafeContext, while we're waiting for the removal of that.  Pls ignore.)
The thing that makes me most nervous here is that I've introduced an invariant that there are no empty arenas in the arena lists, since that was a facility added for PJS (IIUC).  I've changed code two places to handle that.

Other than that, adoptArenas remains but I have removed some comments that appeared to tie it to PJS.
Attachment #8544689 - Attachment is obsolete: true
Attachment #8545917 - Flags: review?(terrence)
Oh, btw, that patch sits on top of Shu's patch queue (bug 1118084 followed by bug 1118107, with some adjustments necessary).
Comment on attachment 8545917 [details] [diff] [review]
Remove the PJS bits in the GC

Review of attachment 8545917 [details] [diff] [review]:
-----------------------------------------------------------------

Great!

::: js/src/gc/Zone.h
@@ +29,1 @@
>  class Allocator

I believe that the entire Allocator thing was PJS, so we could probably rip even further.
Attachment #8545917 - Flags: review?(terrence) → review+
(In reply to Terrence Cole [:terrence] from comment #4)
> Comment on attachment 8545917 [details] [diff] [review]
> Remove the PJS bits in the GC
> 
> Review of attachment 8545917 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> Great!
> 
> ::: js/src/gc/Zone.h
> @@ +29,1 @@
> >  class Allocator
> 
> I believe that the entire Allocator thing was PJS, so we could probably rip
> even further.

I was wondering about that.  Will look into doing so, probably as a follow-up bug.
https://hg.mozilla.org/mozilla-central/rev/84d9dd565293
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
You need to log in before you can comment on or make changes to this bug.