On Tue, Jun 13, 2017 at 5:50 AM, Nicolas B. Pierron < nicolas.b.pier...@mozilla.com> wrote:
> The JavaScript Start-up Bytecode Cache⁰ is a project which aims at > reducing the page load time by recording the bytecode generated during the > last visits and by-pass the JavaScript parser. > > This project changes the way we process JavaScript script tags which are > fetched from the network, and cached. After multiple visits¹, the bytecode > would be encoded incrementally², as soon as the bytecode emitter generates > it. Once we reached some idle time³, we save the content encoded > incrementally as an alternate data on the cache⁴. The cache contains a > compressed version of the source, the bytecode of functions which got > executed during the start-up of the page, and all non-executed functions > encoded as source indexes⁵. > > On follow-up visits the script loader would load the alternate data > instead⁶ of the source, and decode the bytecode either off-thread⁷ or on > the current-thread. This is expected to replace the syntax checker and the > bytecode emitter for all recorded functions. > Just an FYI for people following along at home: 1. We don't support this when loading worker scripts yet. 2. If a page script load is intercepted by a service worker then this optimization is effectively disabled. There are a number of follow-up bugs filed to fix those things, but its a non-trivial amount of work. Ben _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform