[meta] Migrate more of content framework code to C++
Categories
(WebExtensions :: General, task)
Tracking
(Fission Milestone:Future)
Fission Milestone | Future |
People
(Reporter: kmag, Unassigned)
References
(Blocks 2 open bugs)
Details
(Keywords: meta)
We still have quite a lot of content-side framework code written in JS, which has some pretty serious performance and memory implications for Fission. We need to migrate more of this to C++.
The first priority should probably be the MessageChannel code, possibly followed by the schema processing and binding generation code, but we should probably do some more thorough analysis before deciding on relative priorities.
Comment 1•5 years ago
|
||
I could be wrong, but all these sound doable with Rust, to varying degrees of difficulty (binding generation would I think use XPCOM either way, I doubt that's any worse from Rust than from C++).
Even if it turns out twice as painful, it's in the direction we want to be going anyway, and the result would be worth it IMO.
Reporter | ||
Comment 2•5 years ago
|
||
They're not really doable with Rust at all. A lot of it will need extensive IPDL usage, which is not supported in Rust, and the binding work will need extensive JSAPI and XPConnect work. The former has some amount Rust support. The latter has none.
Comment 3•5 years ago
|
||
IPDL support in Rust sounds like something we would want for other parts of Firefox at some point.
Looks like all the pieces for the schemas validation/normalization are there, I might try to prototype that if I get a chance soon.
And for the XPConnect stuff, I know someone who might be able to help us, they're familiar both with WE internals and XPConnect. :)
Reporter | ||
Comment 4•5 years ago
|
||
(In reply to Tomislav Jovanovic :zombie from comment #3)
And for the XPConnect stuff, I know someone who might be able to help us, they're familiar both with WE internals and XPConnect. :)
I don't have the time. And a prerequisite would be adding cycle collector support for Rust, which I really don't have the time for.
Reporter | ||
Updated•5 years ago
|
Updated•5 years ago
|
Comment 5•5 years ago
|
||
Changing (back) to task per https://mozilla.github.io/task-defect-enhancement/index.html.
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•2 years ago
|
Comment 6•6 months ago
|
||
The bug assignee is inactive on Bugzilla, so the assignee is being reset.
Description
•