• 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
Name
Last commit
Last update
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...