• jgruber's avatar
    [builtins] Move builtins table to the Heap class · e3e3480b
    jgruber authored
    The builtins table is an array of pointers to builtin code objects. It
    used to be located within the Builtins class, which itself was part of
    the Isolate.
    
    To enable faster isolate-independent access to builtin code objects,
    this CL moves the builtins table into the heap, at a constant known
    offset from the roots table. With this change, builtins can be accessed
    through the root pointer with a single instruction:
    
     mov reg, [kRootPointer, <offset to builtin>]
    
    TurboAssembler::LookupConstant is also extended in this CL to
    potentially shortcut the slow-ish constants table lookup: root
    constants are loaded through the root list, and builtin constants
    through the builtins table.
    
    Bug: v8:6666
    Change-Id: I8e83c2a8783c01ebece89483274f42ab4c8872f2
    Reviewed-on: https://chromium-review.googlesource.com/1075275
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53528}
    e3e3480b
external-reference-table.cc 8.19 KB