• 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
builtin-deserializer.cc 5.7 KB