mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-04-02 12:32:55 +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,
|
* location. The GC must therefore know about all live pointers to a thing,
|
||||||
* not just one of them, in order to behave correctly.
|
* 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
|
* whose value may be held live across a call that can trigger GC. For a
|
||||||
* code fragment such as:
|
* code fragment such as:
|
||||||
*
|
*
|
||||||
@ -73,8 +73,9 @@
|
|||||||
* updating the value of the referenced Rooted<T>. A MutableHandle<T> can be
|
* updating the value of the referenced Rooted<T>. A MutableHandle<T> can be
|
||||||
* created from a Rooted<T> by using |Rooted<T>::operator&()|.
|
* created from a Rooted<T> by using |Rooted<T>::operator&()|.
|
||||||
*
|
*
|
||||||
* In some cases the small performance overhead of exact rooting is too much.
|
* In some cases the small performance overhead of exact rooting (measured to
|
||||||
* In these cases, try the following:
|
* 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
|
* - Move all Rooted<T> above inner loops: this allows you to re-use the root
|
||||||
* on each iteration of the loop.
|
* on each iteration of the loop.
|
||||||
@ -82,10 +83,6 @@
|
|||||||
* - Pass Handle<T> through your hot call stack to avoid re-rooting costs at
|
* - Pass Handle<T> through your hot call stack to avoid re-rooting costs at
|
||||||
* every invocation.
|
* 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
|
* The following diagram explains the list of supported, implicit type
|
||||||
* conversions between classes of this family:
|
* conversions between classes of this family:
|
||||||
*
|
*
|
||||||
@ -96,9 +93,7 @@
|
|||||||
* +---> MutableHandle<T>
|
* +---> MutableHandle<T>
|
||||||
* (via &)
|
* (via &)
|
||||||
*
|
*
|
||||||
* Currently, all of these types have an implicit conversion to RawT. These are
|
* All of these types have an implicit conversion to raw pointers.
|
||||||
* present only for the purpose of bootstrapping exact rooting and will be
|
|
||||||
* removed in the future (Bug 817164).
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace js {
|
namespace js {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user