1292 : public AllStatic {
1293 public:
1294 static word top_offset();
1295 static word pointers_offset();
1297};
1298
1300 public:
1301 static word top_offset();
1302 static word pointers_offset();
1304};
1305
1306class ObjectStore : public AllStatic {
1307 public:
1308 static word double_type_offset();
1309 static word int_type_offset();
1310 static word record_field_names_offset();
1311 static word string_type_offset();
1312 static word type_type_offset();
1313
1314 static word ffi_callback_code_offset();
1315
1316 static word suspend_state_await_offset();
1317 static word suspend_state_await_with_type_check_offset();
1318 static word suspend_state_handle_exception_offset();
1319 static word suspend_state_init_async_offset();
1320 static word suspend_state_init_async_star_offset();
1321 static word suspend_state_init_sync_star_offset();
1322 static word suspend_state_return_async_offset();
1323 static word suspend_state_return_async_not_future_offset();
1324 static word suspend_state_return_async_star_offset();
1325 static word suspend_state_suspend_sync_star_at_start_offset();
1326 static word suspend_state_yield_async_star_offset();
1327};
1328
1329class Isolate : public AllStatic {
1330 public:
1331 static word default_tag_offset();
1332 static word current_tag_offset();
1333 static word user_tag_offset();
1334 static word finalizers_offset();
1335#if !defined(PRODUCT)
1336 static word single_step_offset();
1337 static word has_resumption_breakpoints_offset();
1338#endif
1339};
1340
1341class IsolateGroup : public AllStatic {
1342 public:
1343 static word object_store_offset();
1344 static word class_table_offset();
1345 static word cached_class_table_table_offset();
1346};
1347
1348class ClassTable : public AllStatic {
1349 public:
1350#if !defined(PRODUCT)
1351 static word allocation_tracing_state_table_offset();
1352 static word AllocationTracingStateSlotOffsetFor(intptr_t cid);
1353#endif
1354};
1355
1356class InstructionsSection : public AllStatic {
1357 public:
1358 static word UnalignedHeaderSize();
1359 static word HeaderSize();
1360 static word InstanceSize();
1361 static word InstanceSize(word payload_size);
1363};
1364
1365class InstructionsTable : public AllStatic {
1366 public:
1367 static word HeaderSize();
1368 static word InstanceSize();
1371
1372 private:
1373 static word element_offset(intptr_t index);
1374};
1375
1376class Instructions : public AllStatic {
1377 public:
1378 static const word kMonomorphicEntryOffsetJIT;
1379 static const word kPolymorphicEntryOffsetJIT;
1380 static const word kMonomorphicEntryOffsetAOT;
1381 static const word kPolymorphicEntryOffsetAOT;
1382 static const word kBarePayloadAlignment;
1383 static const word kNonBarePayloadAlignment;
1384 static word UnalignedHeaderSize();
1385 static word HeaderSize();
1386 static word InstanceSize();
1387 static word InstanceSize(word payload_size);
1389};
1390
1391class Code : public AllStatic {
1392 public:
1393#if defined(TARGET_ARCH_IA32)
1395#endif
1396
1397 static word object_pool_offset();
1398 static word entry_point_offset(CodeEntryKind kind = CodeEntryKind::kNormal);
1399 static word active_instructions_offset();
1400 static word instructions_offset();
1401 static word owner_offset();
1402 static word HeaderSize();
1403 static word InstanceSize();
1406
1407 private:
1408 static word element_offset(intptr_t index);
1409};
1410
1411class WeakSerializationReference : public AllStatic {
1412 public:
1413 static word InstanceSize();
1415};
1416
1417class WeakArray : public AllStatic {
1418 public:
1419 static word length_offset();
1420 static word element_offset(intptr_t index);
1422 static word InstanceSize();
1424};
1425
1426class SubtypeTestCache : public AllStatic {
1427 public:
1428 static word cache_offset();
1429 static word num_inputs_offset();
1430
1431 static const word kMaxInputs;
1432 static const word kTestEntryLength;
1433 static const word kInstanceCidOrSignature;
1434 static const word kDestinationType;
1435 static const word kInstanceTypeArguments;
1436 static const word kInstantiatorTypeArguments;
1437 static const word kFunctionTypeArguments;
1438 static const word kInstanceParentFunctionTypeArguments;
1439 static const word kInstanceDelayedFunctionTypeArguments;
1440 static const word kTestResult;
1441 static word InstanceSize();
1443};
1444
1445class LoadingUnit : public AllStatic {
1446 public:
1447 static word InstanceSize();
1449};
1450
1451class Context :
public AllStatic {
1452 public:
1453 static word header_size();
1454 static word parent_offset();
1455 static word num_variables_offset();
1456 static word variable_offset(intptr_t index);
1458 static word InstanceSize();
1460
1461 static const word kMaxElements;
1462};
1463
1464class Closure : public AllStatic {
1465 public:
1466 static word context_offset();
1467 static word delayed_type_arguments_offset();
1468 static word entry_point_offset();
1469 static word function_offset();
1470 static word function_type_arguments_offset();
1471 static word instantiator_type_arguments_offset();
1472 static word hash_offset();
1473 static word InstanceSize();
1475};
1476
1477class ClosureData : public AllStatic {
1478 public:
1479 static word packed_fields_offset();
1480 static word InstanceSize();
1482};
1483
1484class Page : public AllStatic {
1485 public:
1486 static const word kBytesPerCardLog2;
1487
1488 static word card_table_offset();
1489 static word original_top_offset();
1490 static word original_end_offset();
1491};
1492
1493class Heap : public AllStatic {
1494 public:
1495
1496
1498};
1499
1500class NativeArguments {
1501 public:
1502 static word thread_offset();
1503 static word argc_tag_offset();
1504 static word argv_offset();
1505 static word retval_offset();
1506
1507 static word StructSize();
1508};
1509
1511 public:
1512 static const word kNumCallWrapperArguments;
1513};
1514
1515class RegExp : public AllStatic {
1516 public:
1517 static word function_offset(classid_t cid,
bool sticky);
1518 static word InstanceSize();
1520};
1521
1522class UserTag : public AllStatic {
1523 public:
1524 static word tag_offset();
1525 static word InstanceSize();
1527};
1528
1529class Symbols : public AllStatic {
1530 public:
1531 static const word kNumberOfOneCharCodeSymbols;
1532 static const word kNullCharCodeSymbolOffset;
1533};
1534
1535class Field : public AllStatic {
1536 public:
1538
1539 static word guarded_cid_offset();
1540 static word guarded_list_length_in_object_offset_offset();
1541 static word guarded_list_length_offset();
1542 static word is_nullable_offset();
1543 static word kind_bits_offset();
1544 static word initializer_function_offset();
1545 static word host_offset_or_field_id_offset();
1546 static word InstanceSize();
1548};
1549
1550class TypeParameters : public AllStatic {
1551 public:
1552 static word names_offset();
1553 static word flags_offset();
1554 static word bounds_offset();
1555 static word defaults_offset();
1556 static word InstanceSize();
1558};
1559
1560class TypeArguments : public AllStatic {
1561 public:
1562 static word hash_offset();
1563 static word instantiations_offset();
1564 static word length_offset();
1565 static word nullability_offset();
1566 static word type_at_offset(intptr_t i);
1567 static word types_offset();
1569 static word InstanceSize();
1571
1572 static const word kMaxElements;
1573};
1574
1575class FreeListElement : public AllStatic {
1576 public:
1577 class FakeInstance : public AllStatic {
1578 public:
1579 static word InstanceSize();
1581 };
1582};
1583
1584class ForwardingCorpse : public AllStatic {
1585 public:
1586 class FakeInstance : public AllStatic {
1587 public:
1588 static word InstanceSize();
1590 };
1591};
1592
1593class FieldTable : public AllStatic {
1594 public:
1596};
1597
1600
1601}
1602}
1603}
1604
1605#endif
static constexpr int kSize
void UnboxFieldIfSupported(const dart::Field &field, const dart::AbstractType &type)
MarkingStack::Block MarkingStackBlock
bool IsAllocatableInNewSpace(intptr_t size)
std::function< void(Dart_NativeArguments)> NativeEntry