mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-09 04:25:38 +00:00
No bug, DONTBUILD. Comment fix.
This commit is contained in:
parent
3ca6987c0c
commit
4c2891de74
@ -23,7 +23,7 @@
|
||||
* location. The GC must therefore know about all live pointers to a thing,
|
||||
* not just one of them, in order to behave correctly.
|
||||
*
|
||||
* The |Root| and |Handle| classes below are used to root stack locations
|
||||
* The |Rooted| and |Handle| classes below are used to root stack locations
|
||||
* whose value may be held live across a call that can trigger GC. For a
|
||||
* code fragment such as:
|
||||
*
|
||||
@ -73,8 +73,9 @@
|
||||
* updating the value of the referenced Rooted<T>. A MutableHandle<T> can be
|
||||
* created from a Rooted<T> by using |Rooted<T>::operator&()|.
|
||||
*
|
||||
* In some cases the small performance overhead of exact rooting is too much.
|
||||
* In these cases, try the following:
|
||||
* In some cases the small performance overhead of exact rooting (measured to
|
||||
* be a few nanoseconds on desktop) is too much. In these cases, try the
|
||||
* following:
|
||||
*
|
||||
* - Move all Rooted<T> above inner loops: this allows you to re-use the root
|
||||
* on each iteration of the loop.
|
||||
@ -82,10 +83,6 @@
|
||||
* - Pass Handle<T> through your hot call stack to avoid re-rooting costs at
|
||||
* every invocation.
|
||||
*
|
||||
* There also exists a set of RawT typedefs for modules without rooting
|
||||
* concerns, such as the GC. Do not use these as they provide no rooting
|
||||
* protection whatsoever.
|
||||
*
|
||||
* The following diagram explains the list of supported, implicit type
|
||||
* conversions between classes of this family:
|
||||
*
|
||||
@ -96,9 +93,7 @@
|
||||
* +---> MutableHandle<T>
|
||||
* (via &)
|
||||
*
|
||||
* Currently, all of these types have an implicit conversion to RawT. These are
|
||||
* present only for the purpose of bootstrapping exact rooting and will be
|
||||
* removed in the future (Bug 817164).
|
||||
* All of these types have an implicit conversion to raw pointers.
|
||||
*/
|
||||
|
||||
namespace js {
|
||||
|
Loading…
x
Reference in New Issue
Block a user