• 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
Name
Last commit
Last update
..
api Loading commit data...
asmjs Loading commit data...
ast Loading commit data...
base Loading commit data...
baseline Loading commit data...
bigint Loading commit data...
builtins Loading commit data...
codegen Loading commit data...
common Loading commit data...
compiler Loading commit data...
compiler-dispatcher Loading commit data...
d8 Loading commit data...
date Loading commit data...
debug Loading commit data...
deoptimizer Loading commit data...
diagnostics Loading commit data...
execution Loading commit data...
extensions Loading commit data...
flags Loading commit data...
handles Loading commit data...
heap Loading commit data...
ic Loading commit data...
init Loading commit data...
inspector Loading commit data...
interpreter Loading commit data...
json Loading commit data...
libplatform Loading commit data...
libsampler Loading commit data...
logging Loading commit data...
numbers Loading commit data...
objects Loading commit data...
parsing Loading commit data...
profiler Loading commit data...
protobuf Loading commit data...
regexp Loading commit data...
roots Loading commit data...
runtime Loading commit data...
sandbox Loading commit data...
sanitizer Loading commit data...
snapshot Loading commit data...
strings Loading commit data...
tasks Loading commit data...
temporal Loading commit data...
third_party Loading commit data...
torque Loading commit data...
tracing Loading commit data...
trap-handler Loading commit data...
utils Loading commit data...
wasm Loading commit data...
web-snapshot Loading commit data...
zone Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...