v8/src/execution
Jakob Gruber 99d31b432f [build] Define V8_TARGET_OS_ and consider it in x64 codegen
This CL allows us to distinguish between the host- and target OS. The
host OS is defined by V8_OS_ macros (e.g. V8_OS_WIN). The target OS is
defined by V8_TARGET_OS_ macros (e.g. V8_TARGET_OS_WIN).

V8_TARGET_OS_ macros are defined by gn, based on the `target_os` gn
variable. If a V8_TARGET_OS_ is set, we also define V8_HAVE_TARGET_OS
(this determines fall-back behavior in V8; if it is not defined, we set
V8_TARGET_OS_ to equal the equivalent V8_OS_ define).

Besides adding the defines, this CL also adds logic to consider the
target OS in codegen. Specifically, x64 builds now look at the
V8_TARGET_OS_WIN define instead of V8_OS_WIN or _WIN64. This
effectively makes cross-compilation to x64 Windows in mksnapshot
possible.

In future work, we could add similar support for cross-compiling to
other platforms such as ia32 Windows.

Bug: v8:9736,chromium:803591
Change-Id: I689f3de8c206b743c4bef703f5ade0bba32ce995
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1809374
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63892}
2019-09-19 13:38:56 +00:00
..
arm [ubsan] Make ARM and ARM64 UBSan-clean 2019-09-16 15:03:45 +00:00
arm64 [arm64] Mark PopLowestIndexAsCode as inline 2019-09-17 08:11:50 +00:00
ia32 [cleanup] Reduce frames.h include ball from 686 to ~270 2019-07-12 10:20:41 +00:00
mips Increase maximum arguments for CallCFunction 2019-08-14 13:33:21 +00:00
mips64 Increase maximum arguments for CallCFunction 2019-08-14 13:33:21 +00:00
ppc PPC: Allowing PPC simulator access to dynamic number of parameters 2019-08-15 14:43:53 +00:00
s390 Increase maximum arguments for CallCFunction 2019-08-14 13:33:21 +00:00
x64 [build] Define V8_TARGET_OS_ and consider it in x64 codegen 2019-09-19 13:38:56 +00:00
arguments-inl.h [cleanup] Eliminate non-const references in src/builtins 2019-09-17 14:03:40 +00:00
arguments.cc
arguments.h [cleanup] Eliminate non-const references in src/builtins 2019-09-17 14:03:40 +00:00
execution.cc [cleanup] Reduce frames.h include ball from 686 to ~270 2019-07-12 10:20:41 +00:00
execution.h [inspector] disable debug breaks for builtins when called from API 2019-06-28 08:57:08 +00:00
frame-constants.h [wasm-c-api] Faster C-to-Wasm entry 2019-06-27 13:39:48 +00:00
frames-inl.h [base] Move v8memory.h to base/memory.h 2019-06-21 11:44:18 +00:00
frames.cc [tracing] Add column num to ICStats 2019-09-13 11:27:49 +00:00
frames.h [ubsan] Make ARM and ARM64 UBSan-clean 2019-09-16 15:03:45 +00:00
futex-emulation.cc Reland "[atomics] Wire up 64 bit atomic Wait in JS" 2019-08-05 07:44:12 +00:00
futex-emulation.h Reland "[atomics] Wire up 64 bit atomic Wait in JS" 2019-08-05 07:44:12 +00:00
interrupts-scope.cc [isolate-data] Move the StackGuard to IsolateData 2019-08-12 13:56:27 +00:00
interrupts-scope.h [isolate-data] Move the StackGuard to IsolateData 2019-08-12 13:56:27 +00:00
isolate-data.h [isolate-data] Move hot fields closer to isolate_root 2019-08-13 12:33:59 +00:00
isolate-inl.h [protectors] Move *IteratorProtectors to protectors 2019-09-17 13:32:27 +00:00
isolate-utils-inl.h [ptr-compr] Adding [Heap]Object::IsXXX(Isolate* isolate) predicates 2019-06-24 11:34:33 +00:00
isolate-utils.h [ptr-compr] Adding [Heap]Object::IsXXX(Isolate* isolate) predicates 2019-06-24 11:34:33 +00:00
isolate.cc [protectors] Move *IteratorProtectors to protectors 2019-09-17 13:32:27 +00:00
isolate.h [protectors] Move *IteratorProtectors to protectors 2019-09-17 13:32:27 +00:00
messages.cc [wasm] Move {WasmModuleObject::GetFunctionOffset}. 2019-09-18 10:37:41 +00:00
messages.h Reland "[destructuring] Elide coercible check for simple keys" 2019-08-30 10:51:49 +00:00
microtask-queue.cc microtask queue: Fix trace event ordering. 2019-08-07 14:50:18 +00:00
microtask-queue.h
OWNERS Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
protectors-inl.h [protectors] Migrate ArraySpeciesProtector to Protectors 2019-09-04 13:13:13 +00:00
protectors.cc [protectors] Migrate ArraySpeciesProtector to Protectors 2019-09-04 13:13:13 +00:00
protectors.h [protectors] Move *IteratorProtectors to protectors 2019-09-17 13:32:27 +00:00
runtime-profiler.cc Revert "[compiler] improve inlining heuristics: call frequency per executed bytecodes" 2019-09-04 13:16:23 +00:00
runtime-profiler.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
simulator-base.cc
simulator-base.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
simulator.h [build] Define V8_TARGET_OS_ and consider it in x64 codegen 2019-09-19 13:38:56 +00:00
stack-guard.cc Reland x6 [arraybuffer] Rearchitect backing store ownership 2019-09-09 13:07:42 +00:00
stack-guard.h Clean up thread initialization 2019-09-03 14:22:45 +00:00
thread-id.cc
thread-id.h
thread-local-top.cc Reland "[debug] only break on entry when immediately called from JS" 2019-08-23 07:39:18 +00:00
thread-local-top.h Reland "[debug] only break on entry when immediately called from JS" 2019-08-23 07:39:18 +00:00
v8threads.cc Clean up thread initialization 2019-09-03 14:22:45 +00:00
v8threads.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
vm-state-inl.h
vm-state.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00