• Pierre Langlois's avatar
    [heap] Do not use V8_LIKELY on FLAG_disable_write_barriers. · 4a89c018
    Pierre Langlois authored
    FLAG_disable_write_barriers is a constexpr so the V8_LIKELY macro isn't
    necessary. Interestingly, it can also cause clang to warn that the code
    is unreachable, whereas without `__builtin_expect()` the compiler
    doesn't mind. See for example:
    
    ```
    constexpr bool kNo = false;
    
    void warns() {
      if (__builtin_expect(kNo, 0)) {
        int a = 42;
      }
    }
    
    void does_not_warn() {
      if (kNo) {
        int a = 42;
      }
    }
    ```
    
    Compiling V8 for arm64 with both `v8_disable_write_barriers = true` and
    `v8_enable_pointer_compression = false` would trigger this warning.
    
    Bug: v8:9533
    Change-Id: Id2ae156d60217007bb9ebf50628e8908e0193d05
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2534811Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
    Cr-Commit-Position: refs/heads/master@{#71157}
    4a89c018
instruction-selector-ia32.cc 109 KB