211 : intptr_t {
212
214
215
216
218
219
220
221
222
225
226
227#define DEFINE_OBJECT_KIND(clazz) k##clazz##Cid,
229#undef DEFINE_OBJECT_KIND
230
231
232#define DEFINE_OBJECT_KIND(clazz) kFfi##clazz##Cid,
234#undef DEFINE_OBJECT_KIND
235
236#define DEFINE_OBJECT_KIND(clazz) \
237 kTypedData##clazz##Cid, \
238 kTypedData##clazz##ViewCid, \
239 kExternalTypedData##clazz##Cid, \
240 kUnmodifiableTypedData##clazz##ViewCid,
242#undef DEFINE_OBJECT_KIND
245
247
248
249
250
255
257};
258
259
265
266
267
285
286
289
290
291
294
295
296
297
299
301 kIllegalCid + 2 == kFreeListElement &&
302 kIllegalCid + 3 == kForwardingCorpse &&
303 kIllegalCid + 4 == kObjectCid &&
304 kIllegalCid + 5 == kFirstInternalOnlyCid);
306}
307
308
312 kApiErrorCid == kFirstErrorCid + 1 &&
313 kLanguageErrorCid == kFirstErrorCid + 2 &&
314 kUnhandledExceptionCid == kFirstErrorCid + 3 &&
315 kUnwindErrorCid == kFirstErrorCid + 4 &&
316 kLastErrorCid == kUnwindErrorCid &&
317
318 kLastInternalOnlyCid == kLastErrorCid);
319
321 return (index >= kFirstErrorCid && index <= kLastErrorCid);
322}
323
325
327 kRecordTypeCid == kTypeCid + 2 &&
328 kTypeParameterCid == kTypeCid + 3);
329 return (index >= kTypeCid && index <= kTypeParameterCid);
330}
331
333
334 COMPILE_ASSERT(kIntegerCid == kNumberCid + 1 && kSmiCid == kNumberCid + 2 &&
335 kMintCid == kNumberCid + 3 && kDoubleCid == kNumberCid + 4);
336 return (index >= kNumberCid && index <= kDoubleCid);
337}
338
340
341 COMPILE_ASSERT(kSmiCid == kIntegerCid + 1 && kMintCid == kIntegerCid + 2);
342 return (index >= kIntegerCid && index <= kMintCid);
343}
344
345
347 kTwoByteStringCid == kStringCid + 2);
348
350 return (index >= kStringCid && index <= kTwoByteStringCid);
351}
352
354 return (index == kOneByteStringCid);
355}
356
360 return (index >= kArrayCid && index <= kGrowableObjectArrayCid);
361}
362
364
366 (index == kByteBufferCid));
367}
368
370
371
372 return index == kTypeCid || index == kFunctionTypeCid ||
373 index == kRecordTypeCid;
374}
375
378 kUnmodifiableTypedDataFloat64x2ArrayViewCid;
379
380
381
382
384
385
386COMPILE_ASSERT(kTypedDataInt8ArrayCid + kTypedDataCidRemainderView ==
387 kTypedDataInt8ArrayViewCid);
388COMPILE_ASSERT(kTypedDataInt8ArrayCid + kTypedDataCidRemainderExternal ==
389 kExternalTypedDataInt8ArrayCid);
390COMPILE_ASSERT(kTypedDataInt8ArrayCid + kTypedDataCidRemainderUnmodifiable ==
391 kUnmodifiableTypedDataInt8ArrayViewCid);
392
394COMPILE_ASSERT(kFirstTypedDataCid + 1 * kNumTypedDataCidRemainders ==
395 kTypedDataUint8ArrayCid);
396COMPILE_ASSERT(kFirstTypedDataCid + 2 * kNumTypedDataCidRemainders ==
397 kTypedDataUint8ClampedArrayCid);
398COMPILE_ASSERT(kFirstTypedDataCid + 3 * kNumTypedDataCidRemainders ==
399 kTypedDataInt16ArrayCid);
400COMPILE_ASSERT(kFirstTypedDataCid + 4 * kNumTypedDataCidRemainders ==
401 kTypedDataUint16ArrayCid);
402COMPILE_ASSERT(kFirstTypedDataCid + 5 * kNumTypedDataCidRemainders ==
403 kTypedDataInt32ArrayCid);
404COMPILE_ASSERT(kFirstTypedDataCid + 6 * kNumTypedDataCidRemainders ==
405 kTypedDataUint32ArrayCid);
406COMPILE_ASSERT(kFirstTypedDataCid + 7 * kNumTypedDataCidRemainders ==
407 kTypedDataInt64ArrayCid);
408COMPILE_ASSERT(kFirstTypedDataCid + 8 * kNumTypedDataCidRemainders ==
409 kTypedDataUint64ArrayCid);
410COMPILE_ASSERT(kFirstTypedDataCid + 9 * kNumTypedDataCidRemainders ==
411 kTypedDataFloat32ArrayCid);
412COMPILE_ASSERT(kFirstTypedDataCid + 10 * kNumTypedDataCidRemainders ==
413 kTypedDataFloat64ArrayCid);
414COMPILE_ASSERT(kFirstTypedDataCid + 11 * kNumTypedDataCidRemainders ==
415 kTypedDataFloat32x4ArrayCid);
416COMPILE_ASSERT(kFirstTypedDataCid + 12 * kNumTypedDataCidRemainders ==
417 kTypedDataInt32x4ArrayCid);
418COMPILE_ASSERT(kFirstTypedDataCid + 13 * kNumTypedDataCidRemainders ==
419 kTypedDataFloat64x2ArrayCid);
420COMPILE_ASSERT(kFirstTypedDataCid + 13 * kNumTypedDataCidRemainders +
421 kTypedDataCidRemainderUnmodifiable ==
422 kLastTypedDataCid);
423
424
427
430}
431
436}
437
440 return is_byte_data_view ||
444}
445
450}
451
454 return is_byte_data_view ||
458}
459
462 const intptr_t internal_cid =
465
466 return internal_cid == kTypedDataUint8ClampedArrayCid;
467}
468
469
470
473}
474
475
476
477
478
479
480
481
482
483
485 ASSERT(predefined_cid < kNumPredefinedCids);
486 return IsStringClassId(predefined_cid) || predefined_cid == kNumberCid ||
487 predefined_cid == kIntegerCid || predefined_cid == kSmiCid ||
488 predefined_cid == kMintCid || predefined_cid ==
kNeverCid ||
489 predefined_cid == kSentinelCid || predefined_cid == kStackTraceCid ||
490 predefined_cid == kDoubleCid || predefined_cid == kFloat32x4Cid ||
491 predefined_cid == kFloat64x2Cid || predefined_cid == kInt32x4Cid ||
492 predefined_cid == kSendPortCid || predefined_cid == kCapabilityCid ||
493 predefined_cid == kRegExpCid || predefined_cid == kBoolCid ||
494 predefined_cid ==
kNullCid || predefined_cid == kPointerCid ||
495 predefined_cid == kTypeCid || predefined_cid == kRecordTypeCid ||
496 predefined_cid == kFunctionTypeCid;
497}
498
500 ASSERT(predefined_cid < kNumPredefinedCids);
501
503}
504
505
507 ASSERT(predefined_cid < kNumPredefinedCids);
510}
511
513 switch (index) {
514 case kPointerCid:
515 case kFfiNativeFunctionCid:
516#define CASE_FFI_CID(name) case kFfi##name##Cid:
518#undef CASE_FFI_CID
519 return true;
520 default:
521 return false;
522 }
524}
525
527 switch (class_id) {
528 case kPointerCid:
529 case kDynamicLibraryCid:
530#define CASE_FFI_CID(name) case kFfi##name##Cid:
532#undef CASE_FFI_CID
533 return true;
534 default:
535 return false;
536 }
538}
539
541 return index == kPointerCid;
542}
543
545 return index == kDynamicLibraryCid;
546}
547
550}
551
552
553
554
557}
558
560
561}
562
563#endif
#define COMPILE_ASSERT(expr)
#define DEFINE_OBJECT_KIND(clazz)
#define CASE_FFI_CID(name)
#define CLASS_LIST_FFI(V)
#define CLASS_LIST_FFI_TYPE_MARKER(V)
#define CLASS_LIST_TYPED_DATA(V)
const int kNumTypedDataCidRemainders
static const ClassId kLastTypedDataCid
bool IsTypedDataViewClassId(intptr_t index)
bool IsTypedDataClassId(intptr_t index)
bool IsFfiPredefinedClassId(classid_t class_id)
bool IsOneByteStringClassId(intptr_t index)
bool IsFfiDynamicLibraryClassId(intptr_t index)
bool IsShallowlyImmutableCid(intptr_t predefined_cid)
bool IsConcreteTypeClassId(intptr_t index)
const int kTypedDataCidRemainderUnmodifiable
bool IsTypedDataBaseClassId(intptr_t index)
bool IsImplicitFieldClassId(intptr_t index)
bool IsNumberClassId(intptr_t index)
bool IsTypeClassId(intptr_t index)
const int kTypedDataCidRemainderInternal
bool IsArrayClassId(intptr_t index)
static const ClassId kLastErrorCid
bool IsErrorClassId(intptr_t index)
bool IsUnmodifiableTypedDataViewClassId(intptr_t index)
@ kUnmodifiableByteDataViewCid
bool IsFfiTypeClassId(intptr_t index)
static const ClassId kFirstErrorCid
bool IsClampedTypedDataBaseClassId(intptr_t index)
const int kTypedDataCidRemainderExternal
static const ClassId kFirstTypedDataCid
const int kTypedDataCidRemainderView
bool IsExternalPayloadClassId(classid_t cid)
bool ShouldHaveImmutabilityBitSetCid(intptr_t predefined_cid)
constexpr intptr_t kFirstInternalOnlyCid
bool IsInternalVMdefinedClassId(intptr_t index)
bool IsFfiPointerClassId(intptr_t index)
bool IsIntegerClassId(intptr_t index)
bool IsInternalOnlyClassId(intptr_t index)
bool IsDeeplyImmutableCid(intptr_t predefined_cid)
bool IsBuiltinListClassId(intptr_t index)
bool IsExternalTypedDataClassId(intptr_t index)
constexpr intptr_t kLastInternalOnlyCid
bool IsStringClassId(intptr_t index)