• 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
macro-assembler-s390.h 51.9 KB