Rationalise use of AutoValueVector and associated types
Categories
(Core :: JavaScript: GC, enhancement, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox68 | --- | fixed |
People
(Reporter: allstars.chh, Assigned: allstars.chh)
References
Details
Attachments
(7 files, 4 obsolete files)
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
sfink
:
feedback+
|
Details | Review |
|
47 bytes,
text/x-phabricator-request
|
Details | Review |
From Jonco:
"More explanation: AutoValueVector is defined as AutoVector<Value> which is basically a Rooted<GCVector<Value>>. We pass these around as references in the API (from what I remember). We should move away from this style to using Rooted<>, Handle<>, etc like we do for everything else, because it's simpler and less confusing.
One complication: AutoVector sets an inline size of 8, which is good if this is used on the stack but not so much for the heap. So maybe we do need a StackGCVector concept or something."
Comment 1•7 years ago
|
||
(In reply to Yoshi Cheng-Hao Huang [:allstars.chh] from comment #0)
One complication: AutoVector sets an inline size of 8, which is good if this is used on the stack but not so much for the heap. So maybe we do need a StackGCVector concept or something."
I think this may be a good idea. I've added inline capacity to some Vectors that I suspect were converted from AutoValueVector to Rooted<GCVector> without realizing the inline size difference.
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Comment 2•7 years ago
|
||
| Assignee | ||
Comment 3•7 years ago
|
||
| Assignee | ||
Comment 4•7 years ago
|
||
| Assignee | ||
Comment 5•7 years ago
|
||
| Assignee | ||
Comment 6•7 years ago
|
||
| Assignee | ||
Comment 7•7 years ago
|
||
Comment 8•7 years ago
|
||
Comment 9•7 years ago
|
||
| Assignee | ||
Comment 10•7 years ago
|
||
| Assignee | ||
Comment 11•7 years ago
|
||
Depends on D23182
| Assignee | ||
Comment 12•7 years ago
|
||
Depends on D23183
| Assignee | ||
Comment 13•7 years ago
|
||
StackGCVector is a partial template specialization and causes cargo test
failure. Bypass the class by adding it to OPAQUE_TYPES.
Depends on D23184
| Assignee | ||
Comment 14•7 years ago
|
||
Depends on D23185
| Assignee | ||
Comment 15•7 years ago
|
||
Depends on D23186
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Comment 16•7 years ago
|
||
Comment on attachment 9050391 [details]
Bug 1521732 - Part 6: rust binding for RootedObjectVector.
Hi Steve
Can you help to check this patch?
In Part 1 I added a MOZ_STACK_CLASS StackGCVector, and then I try to convert AutoObjetVector to RootedObjectVector in Part 5, however I am not sure for the rust binding code, as it call 'new' a Rooted type, not sure if this okay?
Thanks
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
| Assignee | ||
Comment 17•7 years ago
|
||
Depends on D23187
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Comment 18•7 years ago
|
||
Comment 19•7 years ago
|
||
Comment 20•7 years ago
|
||
Comment 21•7 years ago
|
||
Comment 22•7 years ago
|
||
Comment 23•7 years ago
|
||
Comment 24•7 years ago
|
||
Comment 25•7 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/adce0075257a
https://hg.mozilla.org/mozilla-central/rev/e705c899efe9
https://hg.mozilla.org/mozilla-central/rev/66414629b2e3
https://hg.mozilla.org/mozilla-central/rev/b48232ea7b09
https://hg.mozilla.org/mozilla-central/rev/9e33009abc2a
https://hg.mozilla.org/mozilla-central/rev/c6e36a52f326
https://hg.mozilla.org/mozilla-central/rev/5e54fd8872b4
Description
•