• Seth Brenith's avatar
    [torque] Make runtime macros inlinable · 6b5f4208
    Seth Brenith authored
    Currently, all runtime C++ code generated for Torque macros all goes
    into a single .cc file and corresponding header. This is simple, but
    limits how we can use that generated code. For example, field accessors
    are generally expected to be inlinable at compilation time (not relying
    on LTO).
    
    This change updates the Torque compiler to output runtime C++ code into
    the same *-tq-inl.inc files that contain implementations of member
    functions for generated classes. All Torque macros transitively called
    from the top-level macros are included in the same file, to avoid any
    need for these generated files to #include each other. These macros are
    emitted within per-file namespaces to avoid multiple-definition build
    failures.
    
    Bug: v8:7793
    Change-Id: Ic9ac3748c5020a05304773a66d7249efdc56b080
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565067
    Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71664}
    6b5f4208