• Junliang Yan's avatar
    PPC/s390: [objects] Free one bit in the SharedFunctionInfo::flags. · 942dc585
    Junliang Yan authored
    Port 591408cb
    
    Original Commit Message:
    
        We'll need one bit in the SharedFunctionInfo::flags to record whether
        it's safe to skip arguments adaptor frames (for v8:8895), so this
        just removes the SharedFunctionInfo::IsDerivedConstructorBit which is
        redundant, since the same information is already available in the
        SharedFunctionInfo::FunctionKindBits, and most places in the code
        use that already, with the exception of the JSConstructStubGeneric
        builtin.
    
        This changes the JSConstructStubGeneric builtin to just check the
        function kind instead of testing the explicit bit, which also makes
        this more consistent. It seems like there's not much overhead to
        that, doing an additional bitmasking plus two comparisons instead
        of one. This shouldn't really matter since invocation and execution
        of the constructors is going to dominate and optimized code inlines
        all of this anyways. If this turns out to affect performance, we
        can still look into encoding the FunctionKindBits more cleverly.
    
        the shift when accessing the function kind. This seems logic, since
        for the actual boolean bit fields it doesn't matter where they are
        in the flags, whereas for the function kind this saves one shift.
    
    R=bmeurer@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, miladfar@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: I4e3ba5a066285bf50e869c32228d79d26d57258f
    Reviewed-on: https://chromium-review.googlesource.com/c/1486411Reviewed-by: 's avatarMilad Farazmand <miladfar@ca.ibm.com>
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#59837}
    942dc585
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni 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...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes 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...
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...