• jgruber's avatar
    [bootstrapper] Reliably set SFI::lazy_deserialization_builtin_id · 258e42cd
    jgruber authored
    The lazy deserialization builtin id is usually set when the shared
    function info is created in Factory::NewSharedFunctionInfo, which looks
    at the given code object to grab the builtin id.
    
    However, this doesn't work when the shared function info is created
    after deserialization, as is the case for harmony features that can be
    toggled with runtime flags. At this point, lazy builtins have already
    been replaced by DeserializeLazy in the builtins table.
    
    To ensure that the lazy deserialization id is correct in this case,
    explicitly set it in bootstrapper functions.
    
    Bug: v8:6624, v8:6788
    Change-Id: Ia6ac3a4842d2659d5de6d92f378ea221b5508040
    Reviewed-on: https://chromium-review.googlesource.com/652477
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47867}
    258e42cd
shared-function-info.h 19.9 KB