• Andreas Haas's avatar
    [arm64] Remove unnecessary calls to CPURegList::IsValid · 761a2e71
    Andreas Haas authored
    In the mjsunit/wasm/asm-wasm-f32 test, {IsValid} caused 10% of the
    overall runtime. In absolute numbers, {IsValid} wasm called more
    than 6.000.000.000 times. I moved the calls to {IsValid} from
    before-use to after-modification. I removed the calls in {Combine}
    and {Remove}, because these operations cannot create an invalid
    CPURegList.
    These changes reduce the number of calls to {IsValid} to about
    100.000.000 in the test mentioned above, and saves for that test
    about 10 seconds out of before 2 minutes absolute runtime.
    
    R=v8-arm-port@googlegroups.com
    
    Bug: v8:9396
    Change-Id: If3059f471e423405ec6f34ddef89e314dee1cbaf
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801851
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarMartyn Capewell <martyn.capewell@arm.com>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#63864}
    761a2e71
assembler-arm64.cc 160 KB