• Nico Weber's avatar
    Make creating x64 snapshots on arm64 hosts mostly work · 5f644d7e
    Nico Weber authored
    The motivation is being able to build Chrome/Mac/Intel on an
    Apple Silicon mac.
    
    Depends on https://chromium-review.googlesource.com/c/chromium/src/+/3348020
    
    - Correctly set v8_snapshot_toolchain when targeting x64 on an arm64
      host (always use the clang_ toolchain for now since that's all
      that's needed at the moment)
    
    - Check V8_HOST_ARCH in immediate-crash.h. In V8 terminology, "host"
      is the machine the snapshot generation runs on, while "target" is the
      machine that V8 runs on when it JITs. IMMEDIATE_CRASH runs on the
      host. Up to now, target arch x64 implied host arch x64 so the old code
      happened to work too, but this is the correct macro (and it makes this
      cross scenario work).
    
    - In assembler-x64.cc, only compile the code that probes the current CPU
      when running on an intel host. (There's an early return for snapshot
      generation anyways.)
    
    Bug: chromium:1280968
    Change-Id: I4821a5994de8ed5f9e4f62184dc6ab6f5223bc3f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3348040Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78417}
    5f644d7e
immediate-crash.h 5.74 KB