• Jakob Kummerow's avatar
    [modules] Speed up access to module exports · 24b88776
    Jakob Kummerow authored
    By adding LoadIC support for JSModuleNamespace objects. The index
    of the corresponding slot in the Module's "exports" dictionary is
    cached in the feedback vector, so the value can be loaded directly,
    without having to call the C++ accessor.
    This speeds up the "foo" property access in code like the following
    snippet by about 10x:
      import * as m from "module.js"
      m.foo;
    
    Bug: v8:1569
    Change-Id: I152abedcbdc6f90b5bedd203cfdf97ed88d1137c
    Reviewed-on: https://chromium-review.googlesource.com/631136
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47625}
    24b88776
ic.cc 99.3 KB