* Update V8 to v8.7

* Fix arm64 build
This commit is contained in:
tudorms 2020-11-11 23:59:15 -08:00 коммит произвёл GitHub
Родитель b66df1e949
Коммит 8422a13a57
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 28 добавлений и 0 удалений

Просмотреть файл

@ -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