[vm, ffi] Fix Fuchsia ARM64 build.
TEST=ci Bug: https://github.com/dart-lang/sdk/issues/52579 Cq-Include-Trybots: luci.dart.try:vm-fuchsia-release-x64-try,vm-fuchsia-release-arm64-try Change-Id: I3e3377d0c973614b83664bfd704d5efe532d329f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/493968 Commit-Queue: Liam Appelbe <liama@google.com> Auto-Submit: Ryan Macnak <rmacnak@google.com> Reviewed-by: Liam Appelbe <liama@google.com>
This commit is contained in:
committed by
Commit Queue
parent
9bec262263
commit
a0ab33ac52
@@ -144,7 +144,9 @@ _SimulatorFfiCallbackTrampoline:
|
||||
SimulatorFfiCallbackTrampoline:
|
||||
#endif
|
||||
LOCAL_SYMBOL(start):
|
||||
#if defined(__APPLE__)
|
||||
#if defined(__Fuchsia__)
|
||||
.rept 483 // FfiCallbackMetadata::NumCallbackTrampolinesPerPage()
|
||||
#elif defined(__APPLE__)
|
||||
.rept 2019 // FfiCallbackMetadata::NumCallbackTrampolinesPerPage()
|
||||
#else
|
||||
.rept 8163 // FfiCallbackMetadata::NumCallbackTrampolinesPerPage()
|
||||
@@ -176,7 +178,10 @@ LOCAL_SYMBOL(body):
|
||||
mov x1, x9 // I.e., which callback.
|
||||
|
||||
adr x2, LOCAL_SYMBOL(start)
|
||||
#if defined(__APPLE__)
|
||||
#if defined(__Fuchsia__)
|
||||
and x2, x2, ~(0x1000-1) // FfiCallbackMetadata::kPageSize = 4k
|
||||
add x2, x2, 0x2000
|
||||
#elif defined(__APPLE__)
|
||||
and x2, x2, ~(0x4000-1) // FfiCallbackMetadata::kPageSize = 16k
|
||||
add x2, x2, 0x8000
|
||||
#else
|
||||
|
||||
@@ -1834,7 +1834,10 @@ extern "C" void DoRedirectedFfiCallback(CallbackContext* ctxt,
|
||||
// Assumptions in ffi_trampolines_arm64.S
|
||||
COMPILE_ASSERT(sizeof(CallbackContext) == 144);
|
||||
COMPILE_ASSERT(FfiCallbackMetadata::kDoRedirectedFfiCallback == 1);
|
||||
#if defined(DART_TARGET_OS_MACOS)
|
||||
#if defined(DART_TARGET_OS_FUCHSIA)
|
||||
COMPILE_ASSERT(FfiCallbackMetadata::kPageSize == 4 * KB);
|
||||
COMPILE_ASSERT(FfiCallbackMetadata::NumCallbackTrampolinesPerPage() == 483);
|
||||
#elif defined(DART_TARGET_OS_MACOS)
|
||||
COMPILE_ASSERT(FfiCallbackMetadata::kPageSize == 16 * KB);
|
||||
COMPILE_ASSERT(FfiCallbackMetadata::NumCallbackTrampolinesPerPage() == 2019);
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user