• Junliang Yan's avatar
    PPC/s390: [turbofan] Initial support to compute NumberAdd/NumberSubtract in Word64. · 32aef42a
    Junliang Yan authored
    Port 0c296cb2
    
    Original Commit Message:
    
        This change introduces the necessary conversion operators to convert
        from Word64 to other representations (Tagged, Word32, Float64, etc.),
        and plugs in the Word64 representation for NumberAdd/NumberSubtract,
        such that TurboFan will go to Int64Add/Sub on 64-bit architectures
        when the inputs and the output of the operation is in safe integer
        range. This includes the necessary changes to the Deoptimizer to be
        able to rematerialize Int64 values as Smi/HeapNumber when going back
        to Ignition later.
    
        This change might affect performance, although measurements indicate
        that there should be no noticable performance impact.
    
        The goal is to have TurboFan support Word64 representation to a degree
        that changing the TypedArray length to an uint64_t (for 64-bit archs)
        becomes viable and doesn't have any negative performance implications.
        Independent of that we might get performance improvements in other areas
        such as for crypto code later.
    
    R=bmeurer@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: I2119f156c4ddf942ea09ff8ed52e1c6cb32477f2
    Reviewed-on: https://chromium-review.googlesource.com/1228634Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#55971}
    32aef42a
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...