The interpreter engine for the core JavaScript language, independent of the browser's object model. File ONLY core JavaScript language bugs in this category. For bugs involving browser objects such as "window" and "document", use the "DOM" component. For bugs involving calls between JavaScript and C++, use the "XPConnect" component.

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.

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

Last Resolved: 7 years ago

Resolution: --- → INVALID

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