• Yang Guo's avatar
    Support circular references between generated builtins. · 266be35b
    Yang Guo authored
    Until now, when generating a builtin, it can only embed builtins
    (as call targets) that have already been generated. This is either
    achieved by reordering the builtins list, or by loading the call
    target at runtime from the builtins list (see
    MacroAssembler::TailCallBuiltin).
    
    This patch works around this issue by filling the builtins list
    with dummy code objects, which are later replaced with the completed
    actual builtins. In release mode, this adds around 3ms to 140ms we
    previously needed to populate the builtins list. 
    
    Change-Id: I7d451b3c09a1db4b9e755548102a80c7f0dfada2
    Reviewed-on: https://chromium-review.googlesource.com/586531
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47062}
    266be35b
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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...
.editorconfig Loading commit data...
.gitignore Loading commit data...
.gn 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...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...