ESchouten
10/21/2020, 7:00 PMhikamaeng
10/23/2020, 1:35 PMFrankablu
11/23/2020, 12:12 AMAnaniya
12/04/2020, 11:07 AMpabl0rg
12/19/2020, 12:06 PMRobert
03/04/2021, 1:08 PMkailan
04/16/2021, 2:07 PMkailan
04/16/2021, 5:10 PMbashor
05/20/2021, 2:21 PMkailan
05/20/2021, 2:48 PMDmitry Romanov [JB]
06/23/2021, 9:16 AMsdeleuze
07/18/2021, 4:07 PMftomassetti
07/25/2021, 8:06 AMsdeleuze
07/25/2021, 8:02 PMsdeleuze
07/28/2021, 7:05 AMESchouten
08/12/2021, 7:45 PMRobert
08/31/2021, 10:17 PMSam
09/10/2021, 3:32 PMArslan Armanuly
09/24/2021, 7:44 PMSvyatoslav Kuzmich [JB]
09/24/2021, 8:25 PMESchouten
10/06/2021, 9:59 PMBig Chungus
10/21/2021, 2:54 PMtunedal
10/21/2021, 4:40 PMDeactivated User
10/21/2021, 5:29 PMsdeleuze
10/24/2021, 2:26 PMnapperley
12/12/2021, 4:43 AMnapperley
12/14/2021, 12:02 AMnapperley
12/14/2021, 2:11 AMnapperley
12/17/2021, 11:44 PMGlen
12/22/2021, 7:14 PMGlen
12/22/2021, 7:14 PMnapperley
12/22/2021, 10:08 PMSvyatoslav Kuzmich [JB]
12/22/2021, 11:26 PMArkady Bazhanov
12/23/2021, 9:16 AMRather than hoisting the code into a separate process, we instead compile it into WebAssembly and then compile that WebAssembly into native code. This doesn’t result in us shipping any .wasm files in Firefox, since the WebAssembly step is only an intermediate representation in our build process.
We accomplished this with wasm2c, which performs a straightforward translation of WebAssembly into equivalent C code, which we can then feed back into Clang along with the rest of the Firefox source code. This approach is very simple, and automatically enables a number of important features that we support for regular Firefox code: profile-guided optimization, inlining across sandbox boundaries, crash reporting, debugger support, source-code indexing, and likely other things that we have yet to appreciate.
napperley
12/24/2021, 12:53 AMSvyatoslav Kuzmich [JB]
12/24/2021, 9:27 AMArkady Bazhanov
12/24/2021, 11:21 AMbefore the code is converted to WASM againNo, it’s not. It’s compiled to native code and shipped as part of Firefox. This is not about WASM support in Firefox, this is about Firefox team using WASM internally as an intermediate step to achieve sandboxing for different parts of the Firefox itself (like parsers and such), which interact with user data.
napperley
12/24/2021, 10:14 PMSvyatoslav Kuzmich [JB]
12/24/2021, 11:13 PM