зеркало из https://github.com/microsoft/v8-jsi.git
Родитель
b66df1e949
Коммит
8422a13a57
|
@ -159,6 +159,34 @@ index 3eb11d88f5..9af389c6a8 100644
|
|||
// DbgHelp.h functions.
|
||||
using DLL_FUNC_TYPE(SymInitialize) = BOOL(__stdcall*)(IN HANDLE hProcess,
|
||||
IN PSTR UserSearchPath,
|
||||
diff --git a/src/compiler/c-linkage.cc b/src/compiler/c-linkage.cc
|
||||
index af467f2bb1..48ce5b8e51 100644
|
||||
--- a/src/compiler/c-linkage.cc
|
||||
+++ b/src/compiler/c-linkage.cc
|
||||
@@ -139,7 +139,7 @@ namespace {
|
||||
#endif
|
||||
} // namespace
|
||||
|
||||
-#ifdef V8_TARGET_OS_WIN
|
||||
+#if defined(V8_TARGET_OS_WIN) && defined(V8_TARGET_ARCH_X64)
|
||||
// As defined in
|
||||
// https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2019#parameter-passing,
|
||||
// Windows calling convention doesn't differentiate between GP and FP params
|
||||
@@ -176,11 +176,12 @@ void BuildParameterLocations(const MachineSignature* msig,
|
||||
}
|
||||
}
|
||||
}
|
||||
-#else // V8_TARGET_OS_WIN
|
||||
+#else // defined(V8_TARGET_OS_WIN) && defined(V8_TARGET_ARCH_X64)
|
||||
// As defined in https://www.agner.org/optimize/calling_conventions.pdf,
|
||||
// Section 7, Linux and Mac place parameters in consecutive registers,
|
||||
// differentiating between GP and FP params. That's why we maintain two
|
||||
-// separate counters here.
|
||||
+// separate counters here. This also applies to Arm systems following
|
||||
+// the AAPCS and Windows on Arm.
|
||||
void BuildParameterLocations(const MachineSignature* msig,
|
||||
size_t kFPParamRegisterCount,
|
||||
size_t kParamRegisterCount,
|
||||
diff --git a/src/compiler/machine-operator.h b/src/compiler/machine-operator.h
|
||||
index 702c050223..880aa8957e 100644
|
||||
--- a/src/compiler/machine-operator.h
|
||||
|
|
Загрузка…
Ссылка в новой задаче