Closed
Bug 744609
Opened 13 years ago
Closed 13 years ago
GC: expose BufferableRef API
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
INVALID
People
(Reporter: terrence, Assigned: terrence)
References
Details
Attachments
(1 file)
|
1.52 KB,
patch
|
Details | Diff | Splinter Review |
There are 4 write buffers with known types: pointer-to-id, pointer-to-value, pointer-to-object, and reference-to-slot. The GC will know the internal details of these and make them fast, because they are the common cases. There is also a 5th, catch-all "general" write buffer that stores the long-tail in a slower, GC-opaque format. Items storable in the generic write buffer need to derive from the pure-virtual class BufferableRef.
Even though we won't have a real writebuffer implementation in-tree for awhile yet, it would be very nice to have the places where we need manual post barriers in-tree because:
- They won't get broken or lost.
- In many cases I'm going to be removing automatic post barriers when I add manual post barriers: this way the reviews can cover both changes at once.
- It will be possible for SpiderMonkey features developed in the next few months to be "generational-ready" (I'll skip the logo requirements) without coordinating with me specifically.
| Assignee | ||
Comment 1•13 years ago
|
||
Attachment #614479 -
Flags: review?(wmccloskey)
Comment on attachment 614479 [details] [diff] [review]
v0
Review of attachment 614479 [details] [diff] [review]:
-----------------------------------------------------------------
Could you add something to the comment so people know that it's for generational GC?
::: js/src/gc/StoreBuffer.h
@@ +16,5 @@
> +namespace js {
> +namespace gc {
> +
> +/*
> + * Represents an abstract reference. Entries in the store buffer that cannot be
One space after the period.
@@ +17,5 @@
> +namespace gc {
> +
> +/*
> + * Represents an abstract reference. Entries in the store buffer that cannot be
> + * represented with the simple pointer-to-a-pointer scheme, must derive from
No comma here.
Attachment #614479 -
Flags: review?(wmccloskey)
| Assignee | ||
Comment 3•13 years ago
|
||
Thanks for taking a look at this! I've updated my atrocious grammar. I see a way now where we won't need to expose BufferableRef outside of #ifdef JSGC_GENERATIONAL, so I'm going to fold this into the generational mega-patch.
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•