• jgruber's avatar
    [snapshot] Dynamically allocate builtin code objects in advance · b7b91142
    jgruber authored
    Our current deserializers (startup & partial) use a system of static memory
    reservations: required memory is determined at serialization time, which we
    then request before deserialization and dole out as-needed during
    deserialization.
    
    Lazy builtin deserialization needs a bit more flexibility. On the one hand, the
    amount of required memory varies since --lazy-deserialization can be switched
    on and off at runtime.
    
    On the other, builtin deserialization has been made order-independent, and we
    can encounter references to builtins before they have been deserialized.
    
    Both problems are solved by dynamically allocating required memory and
    initializing the builtins table with the (yet uninitialized) builtin Code
    objects.
    
    Bug: v8:6624
    Change-Id: Iee90992e91adb4ab45dae1acc81f64a108d12584
    Reviewed-on: https://chromium-review.googlesource.com/647748
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47789}
    b7b91142
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...