• jgruber's avatar
    [factory] Simplify JSFunction creation · 72230246
    jgruber authored
    There's three common situations in which we need to create JSFunction
    objects.  1) from the compiler, 2) from tests, and 3) everything else
    (mostly during bootstrapping).
    
    This is an attempt to simplify case 3), which previously relied on
    several Factory::NewFunction overloads where it was not clear how the
    semantics of each overload differed.
    
    This CL removes all but one overload, and packs arguments into a new
    NewFunctionArgs helper class.
    
    It also removes the hacks around
    SFI::set_lazy_deserialization_builtin_id by explicitly passing
    builtin_id into Factory::NewSharedFunctionInfo.
    
    Drive-by-fix: Properly set is_constructor hint in
    SimpleCreateSharedFunctionInfo.
    
    Bug: v8:6624
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: Ica94d95e72e443055db5e7ff9e8cdf4115201ef1
    Reviewed-on: https://chromium-review.googlesource.com/757094
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49224}
    72230246
shared-function-info.h 19.5 KB