[vm/ffi] FFI callbacks on ARM64.

For design context and motivation, see go/dart-ffi-callbacks

Change-Id: Ie463a462c8676c4a1973f377acee067253aca9f0
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-linux-release-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-mac-release-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-reload-mac-release-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try, vm-kernel-win-debug-ia32-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101825
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
This commit is contained in:
Samir Jindel
2019-05-27 11:05:18 +00:00
committed by commit-bot@chromium.org
parent 0a5e5995e8
commit afc54e23e3
14 changed files with 291 additions and 50 deletions
+3 -3
View File
@@ -134,8 +134,7 @@ class StackFrame : public ValueObject {
protected:
explicit StackFrame(Thread* thread)
: fp_(0), sp_(0), pc_(0), thread_(thread), is_interpreted_(false) {
}
: fp_(0), sp_(0), pc_(0), thread_(thread), is_interpreted_(false) {}
// Name of the frame, used for generic frame printing functionality.
virtual const char* GetName() const {
@@ -471,7 +470,8 @@ DART_FORCE_INLINE static uword LocalVarAddress(uword fp, intptr_t index) {
return fp + LocalVarIndex(0, index) * kWordSize;
}
#if !defined(TARGET_ARCH_X64) && !defined(TARGET_ARCH_IA32)
#if !defined(TARGET_ARCH_X64) && !defined(TARGET_ARCH_IA32) && \
!defined(TARGET_ARCH_ARM64)
// For FFI native -> Dart callbacks, the number of stack slots between arguments
// passed on stack and arguments saved in callback prologue. This placeholder
// here is for unsupported architectures.