mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Rename untraceable!() to no_jsmanaged_fields!(). References issue #3671
This commit is contained in:
parent
d1a1ac7e28
commit
85f746f9b9
6 changed files with 26 additions and 26 deletions
|
@ -17,7 +17,7 @@ The outline is:
|
|||
This is typically derived via a #[jstraceable] annotation.
|
||||
3. For all fields, `Foo::trace()`
|
||||
calls `trace()` on the field. For example, for fields of type `JS<T>`, `JS<T>::trace()` calls
|
||||
`trace_reflector()`. Non-JS-managed types have an empty inline `trace()` method, achieved via `untraceable!` or similar.
|
||||
`trace_reflector()`. Non-JS-managed types have an empty inline `trace()` method, achieved via `no_jsmanaged_fields!` or similar.
|
||||
4. `trace_reflector()` fetches the reflector that is reachable from a Rust object and notifies it to the GC using JSTracer.
|
||||
5. This operation continues for the rest of the graph.
|
||||
6. Finally, the GC checks whether the Rust object lives or not from `JSObject`s which are held by Rust object.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue