On Wed, Feb 23, 2022 at 1:26 AM '[email protected]' via v8-dev <
[email protected]> wrote:

> Hello all,
>
> An idea came up recently which I imagine some of you have probably already
> considered at some point, so I'd love to hear any thoughts you have, or
> summaries of past discussions you'd be willing to share. Or if this idea is
> fundamentally infeasible, I'd love to hear that too.
>
> The scenario: we've been investigating a case where many open tabs all
> embed the same cross-site iframe, and all of those iframes get put into the
> same process due to the heuristics described in 899838 - Improve process
> reuse policies - chromium
> <https://bugs.chromium.org/p/chromium/issues/detail?id=899838>. Ignoring
> for the moment whether those heuristics are optimal, the result is a single
> Isolate with many NativeContexts, where each NativeContext loads mostly the
> same scripts.
>
> The idea: could V8 share bytecode and/or Sparkplug code for functions in
> those scripts? I know that TurboFan code is native context dependent, but
> as far as I know, both bytecode and Sparkplug code are native context
> independent. If V8 could avoid generating duplicates, then this scenario
> would use substantially less memory, plus tabs after the first wouldn't
> have to wait on tiering up to Sparkplug.
>

I think this already happens, at least to some extent. SharedFunctionInfos
are shared between native contexts through the compilation cache
<https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/compilation-cache-table.h;l=90;drc=a2d4701bea545269ad3f5fe6e111adb65c46b8da>,
and bytecode/baseline code hangs off the SFI
<https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/shared-function-info.h;l=340;drc=a2d4701bea545269ad3f5fe6e111adb65c46b8da>.
It's not 100% reliable since the cache is aged. Is the cache not hit in
your scenario?


>
> Thanks,
> Seth
>
> --
> --
> v8-dev mailing list
> [email protected]
> http://groups.google.com/group/v8-dev
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/v8-dev/bbeb2a47-a26c-4623-81a5-7cad2c0dfec1n%40googlegroups.com
> <https://groups.google.com/d/msgid/v8-dev/bbeb2a47-a26c-4623-81a5-7cad2c0dfec1n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/CAH3p7oMvcwuRuNCjWS6n7GiQwLn5%2B_AMk-OUBUs9K1u%2Bob-gqQ%40mail.gmail.com.

Reply via email to