• 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
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...
.git-blame-ignore-revs Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython 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...