-
Notifications
You must be signed in to change notification settings - Fork 129
Open
Description
Meta issue based on plan outlined in #638
- use known list of GC functions Add safe JSContext wrapper with strict safety rules #638 (comment): Rewrite wrapper generators file to python and mark noGC functions using artifacts from hazard analysis reports #649
- Create safe realm wrappers #650
- start using and passing down this new
JSContexteverywhere in servo (this will also replace can_gc effort) and use wrappers2 - write some more wrappers mainly we need one for js_str stuff, to_jsval, RootingGuard, ...
- Handles/Roots would use NoGC to create & of inner data
- DomRefCell would also take NoGC on borrow, borrow_mut to prevent borrows across GC.
- I think we could also write part of unrooted with this, when creating unrooted value it would have
'cxlifetime (bounded to cx) and rooting would erase the lifetime (make it'staticthus unbound it from cx).- Something like this is already presented in https://github.com/asajeffrey/josephine
- The biggest problems are return values, which also need to be bounded. This will require some additional work in mozjs
Metadata
Metadata
Assignees
Labels
No labels