blob: b66818b352ced87b869c3a7ebe9c83db666f6b6a [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_COMPILER_FFI_H_
#define RUNTIME_VM_COMPILER_FFI_H_
#include <platform/globals.h>
#include "../class_id.h"
#include "../object.h"
#include "../raw_object.h"
#include "backend/locations.h"
namespace dart {
namespace ffi {
// Native data types sizes in bytes
size_t ElementSizeInBytes(intptr_t class_id);
bool ElementIsSigned(intptr_t class_id);
Representation TypeRepresentation(const AbstractType& result_type);
Representation WordRep();
ZoneGrowableArray<Representation>* ArgumentRepresentations(
const Function& signature);
ZoneGrowableArray<Location>* ArgumentLocations(
const ZoneGrowableArray<Representation>& arg_reps);
} // namespace ffi
} // namespace dart
#endif // RUNTIME_VM_COMPILER_FFI_H_