18 return kTypedDataInt8ArrayCid;
20 return kTypedDataUint8ArrayCid;
22 return kTypedDataInt16ArrayCid;
24 return kTypedDataUint16ArrayCid;
26 return kTypedDataInt32ArrayCid;
28 return kTypedDataUint32ArrayCid;
30 return kTypedDataInt64ArrayCid;
32 return kTypedDataUint64ArrayCid;
35 : kTypedDataUint64ArrayCid;
37 return kTypedDataFloat32ArrayCid;
39 return kTypedDataFloat64ArrayCid;
48 return kExternalTypedDataInt8ArrayCid;
50 return kExternalTypedDataUint8ArrayCid;
52 return kExternalTypedDataInt16ArrayCid;
54 return kExternalTypedDataUint16ArrayCid;
56 return kExternalTypedDataInt32ArrayCid;
58 return kExternalTypedDataUint32ArrayCid;
60 return kExternalTypedDataInt64ArrayCid;
62 return kExternalTypedDataUint64ArrayCid;
64 return kExternalTypedDataFloat32ArrayCid;
66 return kExternalTypedDataFloat64ArrayCid;
74#define LOAD_STORE(type) \
75 case MethodRecognizer::kFfiLoad##type: \
76 case MethodRecognizer::kFfiStore##type: \
77 return kFfi##type##Cid;
80 case MethodRecognizer::kFfiLoadFloatUnaligned:
81 case MethodRecognizer::kFfiStoreFloatUnaligned:
83 case MethodRecognizer::kFfiLoadDoubleUnaligned:
84 case MethodRecognizer::kFfiStoreDoubleUnaligned:
86 case MethodRecognizer::kFfiLoadPointer:
87 case MethodRecognizer::kFfiStorePointer:
89#define AS_EXTERNAL_TYPED_DATA(type) \
90 case MethodRecognizer::kFfiAsExternalTypedData##type: \
91 return kFfi##type##Cid;
93#undef AS_EXTERNAL_TYPED_DATA
101#define LOAD_STORE(type) \
102 case MethodRecognizer::kFfiLoad##type: \
103 case MethodRecognizer::kFfiStore##type: \
104 return kAlignedAccess;
108 case MethodRecognizer::kFfiLoadFloatUnaligned:
109 case MethodRecognizer::kFfiStoreFloatUnaligned:
110 case MethodRecognizer::kFfiLoadDoubleUnaligned:
111 case MethodRecognizer::kFfiStoreDoubleUnaligned:
123 return MethodRecognizer::kFfiLoad##type;
138 return MethodRecognizer::kFfiStore##type;
#define CLASS_LIST_FFI_NUMERIC_FIXED_SIZE(V)
PrimitiveType representation() const
const NativePrimitiveType & AsPrimitive() const
virtual bool IsPrimitive() const
MethodRecognizer::Kind FfiStore(const NativeType &native_type)
AlignmentType RecognizedMethodAlignment(MethodRecognizer::Kind kind)
classid_t RecognizedMethodTypeArgCid(MethodRecognizer::Kind kind)
MethodRecognizer::Kind FfiLoad(const NativeType &native_type)
classid_t ElementExternalTypedDataCid(classid_t class_id)
classid_t ElementTypedDataCid(classid_t class_id)
static constexpr intptr_t kWordSize
#define AS_EXTERNAL_TYPED_DATA(type)