diff --git a/runtime/observatory/tests/service/dominator_tree_vm_with_double_field_test.dart b/runtime/observatory/tests/service/dominator_tree_vm_with_double_field_test.dart deleted file mode 100644 index 9edaf233a8844..0000000000000 --- a/runtime/observatory/tests/service/dominator_tree_vm_with_double_field_test.dart +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright (c) 2020, 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. -// VMOptions= -// VMOptions=--use_compactor -// VMOptions=--use_compactor --force_evacuation - -import 'dart:typed_data'; - -import 'package:observatory/service_io.dart'; -import 'package:unittest/unittest.dart'; -import 'test_helper.dart'; - -double getDoubleWithHeapObjectTag() { - final bd = ByteData(8); - bd.setUint64(0, 0x8000000000000001, Endian.host); - final double v = bd.getFloat64(0, Endian.host); - return v; -} - -// small example from [Lenguaer & Tarjan 1979] -class R { - final double fld = getDoubleWithHeapObjectTag(); - var x; - var y; - var z; -} - -class A { - var x; -} - -class B { - var x; - var y; - var z; -} - -class C { - var x; - var y; -} - -class D { - var x; -} - -class E { - var x; -} - -class F { - var x; -} - -class G { - var x; - var y; -} - -class H { - var x; - var y; -} - -class I { - var x; -} - -class J { - var x; -} - -class K { - var x; - var y; -} - -class L { - var x; -} - -var r; - -buildGraph() { - r = new R(); - var a = new A(); - var b = new B(); - var c = new C(); - var d = new D(); - var e = new E(); - var f = new F(); - var g = new G(); - var h = new H(); - var i = new I(); - var j = new J(); - var k = new K(); - var l = new L(); - - r.x = a; - r.y = b; - r.z = c; - a.x = d; - b.x = a; - b.y = d; - b.z = e; - c.x = f; - c.y = g; - d.x = l; - e.x = h; - f.x = i; - g.x = i; - g.y = j; - h.x = e; - h.y = k; - i.x = k; - j.x = i; - k.x = i; - k.y = r; - l.x = h; - - expect(r.fld, getDoubleWithHeapObjectTag()); -} - -var tests = [ - (Isolate isolate) async { - final graph = await isolate.fetchHeapSnapshot().done; - - node(String className) { - return graph.objects.singleWhere((v) => v.klass.name == className); - } - - expect(node('I').parent, equals(node('R'))); - expect(node('K').parent, equals(node('R'))); - expect(node('C').parent, equals(node('R'))); - expect(node('H').parent, equals(node('R'))); - expect(node('E').parent, equals(node('R'))); - expect(node('A').parent, equals(node('R'))); - expect(node('D').parent, equals(node('R'))); - expect(node('B').parent, equals(node('R'))); - - expect(node('F').parent, equals(node('C'))); - expect(node('G').parent, equals(node('C'))); - expect(node('J').parent, equals(node('G'))); - expect(node('L').parent, equals(node('D'))); - - expect(node('R'), isNotNull); // The field. - }, -]; - -main(args) => runIsolateTests(args, tests, testeeBefore: buildGraph); diff --git a/runtime/platform/globals.h b/runtime/platform/globals.h index 26c981db91325..3e16778f3ba52 100644 --- a/runtime/platform/globals.h +++ b/runtime/platform/globals.h @@ -417,10 +417,6 @@ typedef simd128_value_t fpu_register_t; #define DUAL_MAPPING_SUPPORTED 1 #endif -#if defined(DART_PRECOMPILED_RUNTIME) || defined(DART_PRECOMPILER) -#define SUPPORT_UNBOXED_INSTANCE_FIELDS -#endif - // Short form printf format specifiers #define Pd PRIdPTR #define Pu PRIuPTR diff --git a/runtime/platform/utils.h b/runtime/platform/utils.h index 38d4d2f1bb1fd..ee24ad6d28d3c 100644 --- a/runtime/platform/utils.h +++ b/runtime/platform/utils.h @@ -21,7 +21,7 @@ class Utils { } template - static constexpr inline T Maximum(T x, T y) { + static inline T Maximum(T x, T y) { return x > y ? x : y; } @@ -352,18 +352,12 @@ class Utils { return bit_cast(mask); } - template - static T Bit(uint32_t n) { - ASSERT(n < sizeof(T) * kBitsPerByte); - T bit = 1; + static uword Bit(uint32_t n) { + ASSERT(n < kBitsPerWord); + uword bit = 1; return bit << n; } - template - DART_FORCE_INLINE static bool TestBit(T mask, intptr_t position) { - return ((mask >> position) & 1) != 0; - } - // Decode integer in SLEB128 format from |data| and update |byte_index|. template static ValueType DecodeSLEB128(const uint8_t* data, diff --git a/runtime/tests/vm/dart/unboxed_fields_type_args_test.dart b/runtime/tests/vm/dart/unboxed_fields_type_args_test.dart deleted file mode 100644 index d19c5e9372ca3..0000000000000 --- a/runtime/tests/vm/dart/unboxed_fields_type_args_test.dart +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (c) 2020, 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. - -import 'dart:typed_data'; -import 'dart:async'; -import 'dart:isolate'; - -import "package:expect/expect.dart"; - -double getDoubleWithHeapObjectTag() { - final bd = ByteData(8); - bd.setUint64(0, 0x8000000000000001, Endian.host); - final double v = bd.getFloat64(0, Endian.host); - return v; -} - -class Foo { - final String clazz = "foo"; - final double x = getDoubleWithHeapObjectTag(); -} - -// Here we ensure to have a GC pointer and a non-GC pointer field, and then a -// type argument vector, so the offset in number of words for the type arguments -// will be different between host and target when compiling from 64-bit to -// 32-bit architectures. -class Bar extends Foo { - final String clazz = "bar"; - final double y = getDoubleWithHeapObjectTag(); - final T value; - Bar(T val) : value = val; -} - -main() async { - final receivePort = new ReceivePort(); - receivePort.sendPort.send(Foo()); - receivePort.sendPort.send(Bar("StringBar")); - receivePort.sendPort.send(Bar(4.2)); - final it = StreamIterator(receivePort); - - Expect.isTrue(await it.moveNext()); - final foo = it.current as Foo; - - Expect.isTrue(await it.moveNext()); - final string_bar = it.current as Bar; - - Expect.isTrue(await it.moveNext()); - final double_bar = it.current as Bar; - - Expect.equals(string_bar.value, "StringBar"); - Expect.equals(string_bar.clazz, "bar"); - Expect.equals(string_bar.y, getDoubleWithHeapObjectTag()); - Expect.equals(string_bar.x, getDoubleWithHeapObjectTag()); - Expect.equals(double_bar.value, 4.2); - Expect.equals(foo.clazz, "foo"); - Expect.equals(foo.x, getDoubleWithHeapObjectTag()); - - await it.cancel(); -} diff --git a/runtime/vm/bootstrap.cc b/runtime/vm/bootstrap.cc index ff1c7b7eeb56e..584baa39136f9 100644 --- a/runtime/vm/bootstrap.cc +++ b/runtime/vm/bootstrap.cc @@ -71,17 +71,17 @@ static void Finish(Thread* thread) { // Verify that closure field offsets are identical in Dart and C++. ASSERT(fields.Length() == 6); field ^= fields.At(0); - ASSERT(field.HostOffset() == Closure::instantiator_type_arguments_offset()); + ASSERT(field.Offset() == Closure::instantiator_type_arguments_offset()); field ^= fields.At(1); - ASSERT(field.HostOffset() == Closure::function_type_arguments_offset()); + ASSERT(field.Offset() == Closure::function_type_arguments_offset()); field ^= fields.At(2); - ASSERT(field.HostOffset() == Closure::delayed_type_arguments_offset()); + ASSERT(field.Offset() == Closure::delayed_type_arguments_offset()); field ^= fields.At(3); - ASSERT(field.HostOffset() == Closure::function_offset()); + ASSERT(field.Offset() == Closure::function_offset()); field ^= fields.At(4); - ASSERT(field.HostOffset() == Closure::context_offset()); + ASSERT(field.Offset() == Closure::context_offset()); field ^= fields.At(5); - ASSERT(field.HostOffset() == Closure::hash_offset()); + ASSERT(field.Offset() == Closure::hash_offset()); #endif // defined(DEBUG) // Eagerly compile Bool class, bool constants are used from within compiler. diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc index 5f72da186209e..a7b520f5db022 100644 --- a/runtime/vm/class_finalizer.cc +++ b/runtime/vm/class_finalizer.cc @@ -240,33 +240,33 @@ void ClassFinalizer::VerifyBootstrapClasses() { #if defined(DEBUG) // Basic checking. cls = object_store->object_class(); - ASSERT(Instance::InstanceSize() == cls.host_instance_size()); + ASSERT(Instance::InstanceSize() == cls.instance_size()); cls = object_store->integer_implementation_class(); - ASSERT(Integer::InstanceSize() == cls.host_instance_size()); + ASSERT(Integer::InstanceSize() == cls.instance_size()); cls = object_store->smi_class(); - ASSERT(Smi::InstanceSize() == cls.host_instance_size()); + ASSERT(Smi::InstanceSize() == cls.instance_size()); cls = object_store->mint_class(); - ASSERT(Mint::InstanceSize() == cls.host_instance_size()); + ASSERT(Mint::InstanceSize() == cls.instance_size()); cls = object_store->one_byte_string_class(); - ASSERT(OneByteString::InstanceSize() == cls.host_instance_size()); + ASSERT(OneByteString::InstanceSize() == cls.instance_size()); cls = object_store->two_byte_string_class(); - ASSERT(TwoByteString::InstanceSize() == cls.host_instance_size()); + ASSERT(TwoByteString::InstanceSize() == cls.instance_size()); cls = object_store->external_one_byte_string_class(); - ASSERT(ExternalOneByteString::InstanceSize() == cls.host_instance_size()); + ASSERT(ExternalOneByteString::InstanceSize() == cls.instance_size()); cls = object_store->external_two_byte_string_class(); - ASSERT(ExternalTwoByteString::InstanceSize() == cls.host_instance_size()); + ASSERT(ExternalTwoByteString::InstanceSize() == cls.instance_size()); cls = object_store->double_class(); - ASSERT(Double::InstanceSize() == cls.host_instance_size()); + ASSERT(Double::InstanceSize() == cls.instance_size()); cls = object_store->bool_class(); - ASSERT(Bool::InstanceSize() == cls.host_instance_size()); + ASSERT(Bool::InstanceSize() == cls.instance_size()); cls = object_store->array_class(); - ASSERT(Array::InstanceSize() == cls.host_instance_size()); + ASSERT(Array::InstanceSize() == cls.instance_size()); cls = object_store->immutable_array_class(); - ASSERT(ImmutableArray::InstanceSize() == cls.host_instance_size()); + ASSERT(ImmutableArray::InstanceSize() == cls.instance_size()); cls = object_store->weak_property_class(); - ASSERT(WeakProperty::InstanceSize() == cls.host_instance_size()); + ASSERT(WeakProperty::InstanceSize() == cls.instance_size()); cls = object_store->linked_hash_map_class(); - ASSERT(LinkedHashMap::InstanceSize() == cls.host_instance_size()); + ASSERT(LinkedHashMap::InstanceSize() == cls.instance_size()); #endif // defined(DEBUG) // Remember the currently pending classes. @@ -1358,7 +1358,7 @@ void ClassFinalizer::VerifyImplicitFieldOffsets() { fields_array ^= cls.fields(); ASSERT(fields_array.Length() == ByteBuffer::NumberOfFields()); field ^= fields_array.At(0); - ASSERT(field.HostOffset() == ByteBuffer::data_offset()); + ASSERT(field.Offset() == ByteBuffer::data_offset()); name ^= field.name(); expected_name ^= String::New("_data"); ASSERT(String::EqualsIgnoringPrivateKey(name, expected_name)); diff --git a/runtime/vm/class_table.cc b/runtime/vm/class_table.cc index e645df31d8b77..5722c74645757 100644 --- a/runtime/vm/class_table.cc +++ b/runtime/vm/class_table.cc @@ -4,8 +4,6 @@ #include "vm/class_table.h" -#include - #include "platform/atomic.h" #include "vm/flags.h" #include "vm/growable_array.h" @@ -23,9 +21,7 @@ SharedClassTable::SharedClassTable() : top_(kNumPredefinedCids), capacity_(0), table_(NULL), - old_tables_(new MallocGrowableArray()), - unboxed_fields_map_(nullptr), - old_unboxed_fields_maps_(new MallocGrowableArray()) { + old_tables_(new MallocGrowableArray()) { if (Dart::vm_isolate() == NULL) { ASSERT(kInitialCapacity >= kNumPredefinedCids); capacity_ = kInitialCapacity; @@ -51,11 +47,6 @@ SharedClassTable::SharedClassTable() table_[kVoidCid] = vm_shared_class_table->SizeAt(kVoidCid); table_[kNeverCid] = vm_shared_class_table->SizeAt(kNeverCid); } -#if defined(SUPPORT_UNBOXED_INSTANCE_FIELDS) - unboxed_fields_map_ = static_cast( - malloc(capacity_ * sizeof(UnboxedFieldBitmap))); - memset(unboxed_fields_map_, 0, sizeof(UnboxedFieldBitmap) * capacity_); -#endif // defined(SUPPORT_UNBOXED_INSTANCE_FIELDS) #ifndef PRODUCT trace_allocation_table_ = static_cast(malloc(capacity_ * sizeof(uint8_t))); // NOLINT @@ -70,16 +61,6 @@ SharedClassTable::~SharedClassTable() { delete old_tables_; free(table_); } - - if (old_unboxed_fields_maps_ != nullptr) { - FreeOldUnboxedFieldsMaps(); - delete old_unboxed_fields_maps_; - } - - if (unboxed_fields_map_ != nullptr) { - free(unboxed_fields_map_); - } - NOT_IN_PRODUCT(free(trace_allocation_table_)); } @@ -152,12 +133,6 @@ void SharedClassTable::FreeOldTables() { } } -void SharedClassTable::FreeOldUnboxedFieldsMaps() { - while (old_unboxed_fields_maps_->length() > 0) { - free(old_unboxed_fields_maps_->RemoveLast()); - } -} - void ClassTable::Register(const Class& cls) { ASSERT(Thread::Current()->IsMutatorThread()); @@ -167,7 +142,7 @@ void ClassTable::Register(const Class& cls) { // parallel to [ClassTable]. const intptr_t instance_size = - cls.is_abstract() ? 0 : Class::host_instance_size(cls.raw()); + cls.is_abstract() ? 0 : Class::instance_size(cls.raw()); const intptr_t expected_cid = shared_class_table_->Register(index, instance_size); @@ -264,7 +239,6 @@ void SharedClassTable::Grow(intptr_t new_capacity) { intptr_t* new_table = static_cast( malloc(new_capacity * sizeof(intptr_t))); // NOLINT - memmove(new_table, table_, top_ * sizeof(intptr_t)); memset(new_table + top_, 0, (new_capacity - top_) * sizeof(intptr_t)); #ifndef PRODUCT @@ -276,22 +250,10 @@ void SharedClassTable::Grow(intptr_t new_capacity) { new_table[i] = 0; NOT_IN_PRODUCT(new_stats_table[i] = 0); } - capacity_ = new_capacity; old_tables_->Add(table_); table_ = new_table; // TODO(koda): This should use atomics. NOT_IN_PRODUCT(trace_allocation_table_ = new_stats_table); - -#if defined(SUPPORT_UNBOXED_INSTANCE_FIELDS) - auto new_unboxed_fields_map = static_cast( - malloc(new_capacity * sizeof(UnboxedFieldBitmap))); - memmove(new_unboxed_fields_map, unboxed_fields_map_, - top_ * sizeof(UnboxedFieldBitmap)); - memset(new_unboxed_fields_map + top_, 0, - (new_capacity - top_) * sizeof(UnboxedFieldBitmap)); - old_unboxed_fields_maps_->Add(unboxed_fields_map_); - unboxed_fields_map_ = new_unboxed_fields_map; -#endif // defined(SUPPORT_UNBOXED_INSTANCE_FIELDS) } void ClassTable::Unregister(intptr_t index) { @@ -301,9 +263,6 @@ void ClassTable::Unregister(intptr_t index) { void SharedClassTable::Unregister(intptr_t index) { table_[index] = 0; -#if defined(SUPPORT_UNBOXED_INSTANCE_FIELDS) - unboxed_fields_map_[index].Reset(); -#endif // defined(SUPPORT_UNBOXED_INSTANCE_FIELDS) } void ClassTable::Remap(intptr_t* old_to_new_cid) { @@ -322,24 +281,14 @@ void ClassTable::Remap(intptr_t* old_to_new_cid) { void SharedClassTable::Remap(intptr_t* old_to_new_cid) { ASSERT(Thread::Current()->IsAtSafepoint()); const intptr_t num_cids = NumCids(); - std::unique_ptr cls_by_old_cid(new intptr_t[num_cids]); + intptr_t* cls_by_old_cid = new intptr_t[num_cids]; for (intptr_t i = 0; i < num_cids; i++) { cls_by_old_cid[i] = table_[i]; } for (intptr_t i = 0; i < num_cids; i++) { table_[old_to_new_cid[i]] = cls_by_old_cid[i]; } - -#if defined(SUPPORT_UNBOXED_INSTANCE_FIELDS) - std::unique_ptr unboxed_fields_by_old_cid( - new UnboxedFieldBitmap[num_cids]); - for (intptr_t i = 0; i < num_cids; i++) { - unboxed_fields_by_old_cid[i] = unboxed_fields_map_[i]; - } - for (intptr_t i = 0; i < num_cids; i++) { - unboxed_fields_map_[old_to_new_cid[i]] = unboxed_fields_by_old_cid[i]; - } -#endif // defined(SUPPORT_UNBOXED_INSTANCE_FIELDS) + delete[] cls_by_old_cid; } void ClassTable::VisitObjectPointers(ObjectPointerVisitor* visitor) { @@ -395,8 +344,7 @@ void ClassTable::Print() { void ClassTable::SetAt(intptr_t index, RawClass* raw_cls) { // This is called by snapshot reader and class finalizer. ASSERT(index < capacity_); - const intptr_t size = - raw_cls == nullptr ? 0 : Class::host_instance_size(raw_cls); + const intptr_t size = raw_cls == nullptr ? 0 : Class::instance_size(raw_cls); shared_class_table_->SetSizeAt(index, size); table_[index] = raw_cls; } diff --git a/runtime/vm/class_table.h b/runtime/vm/class_table.h index 62383d3794ef6..fb13d2e481701 100644 --- a/runtime/vm/class_table.h +++ b/runtime/vm/class_table.h @@ -7,11 +7,9 @@ #include "platform/assert.h" #include "platform/atomic.h" -#include "platform/utils.h" #include "vm/bitfield.h" #include "vm/class_id.h" -#include "vm/flags.h" #include "vm/globals.h" namespace dart { @@ -30,33 +28,6 @@ class MallocGrowableArray; class ObjectPointerVisitor; class RawClass; -// Wraps a 64-bit integer to represent the bitmap of unboxed fields -// stored in the shared class table. -class UnboxedFieldBitmap { - public: - UnboxedFieldBitmap() : bitmap_(0) {} - explicit UnboxedFieldBitmap(uint64_t bitmap) : bitmap_(bitmap) {} - UnboxedFieldBitmap(const UnboxedFieldBitmap&) = default; - UnboxedFieldBitmap& operator=(const UnboxedFieldBitmap&) = default; - - DART_FORCE_INLINE bool Get(intptr_t position) const { - return Utils::TestBit(bitmap_, position); - } - DART_FORCE_INLINE void Set(intptr_t position) { - bitmap_ |= Utils::Bit(position); - } - DART_FORCE_INLINE uint64_t Value() const { return bitmap_; } - DART_FORCE_INLINE bool IsEmpty() const { return bitmap_ == 0; } - DART_FORCE_INLINE void Reset() { bitmap_ = 0; } - - DART_FORCE_INLINE static constexpr intptr_t Length() { - return sizeof(decltype(bitmap_)) * kBitsPerByte; - } - - private: - uint64_t bitmap_; -}; - // Registry of all known classes and their sizes. // // The GC will only need the information in this shared class table to scan @@ -91,19 +62,6 @@ class SharedClassTable { intptr_t NumCids() const { return top_; } intptr_t Capacity() const { return capacity_; } - UnboxedFieldBitmap GetUnboxedFieldsMapAt(intptr_t index) const { - ASSERT(IsValidIndex(index)); - return FLAG_precompiled_mode ? unboxed_fields_map_[index] - : UnboxedFieldBitmap(); - } - - void SetUnboxedFieldsMapAt(intptr_t index, - UnboxedFieldBitmap unboxed_fields_map) { - ASSERT(IsValidIndex(index)); - ASSERT(unboxed_fields_map_[index].IsEmpty()); - unboxed_fields_map_[index] = unboxed_fields_map; - } - // Used to drop recently added classes. void SetNumCids(intptr_t num_cids) { ASSERT(num_cids <= top_); @@ -159,9 +117,6 @@ class SharedClassTable { // Deallocates table copies. Do not call during concurrent access to table. void FreeOldTables(); - // Deallocates bitmap copies. Do not call during concurrent access to table. - void FreeOldUnboxedFieldsMaps(); - #if !defined(DART_PRECOMPILED_RUNTIME) bool IsReloading() const { return reload_context_ != nullptr; } @@ -216,14 +171,6 @@ class SharedClassTable { IsolateGroupReloadContext* reload_context_ = nullptr; - // Stores a 64-bit bitmap for each class. There is one bit for each word in an - // instance of the class. A 0 bit indicates that the word contains a pointer - // the GC has to scan, a 1 indicates that the word is part of e.g. an unboxed - // double and does not need to be scanned. (see Class::Calculate...() where - // the bitmap is constructed) - UnboxedFieldBitmap* unboxed_fields_map_; - MallocGrowableArray* old_unboxed_fields_maps_; - DISALLOW_COPY_AND_ASSIGN(SharedClassTable); }; diff --git a/runtime/vm/clustered_snapshot.cc b/runtime/vm/clustered_snapshot.cc index 9dddd4c175593..50410b495d6ec 100644 --- a/runtime/vm/clustered_snapshot.cc +++ b/runtime/vm/clustered_snapshot.cc @@ -182,57 +182,19 @@ class ClassSerializationCluster : public SerializationCluster { if (s->kind() != Snapshot::kFullAOT) { s->Write(cls->ptr()->binary_declaration_); } - s->Write(Class::target_instance_size_in_words(cls)); - s->Write(Class::target_next_field_offset_in_words(cls)); - s->Write(Class::target_type_arguments_field_offset_in_words(cls)); + s->Write(cls->ptr()->instance_size_in_words_); + s->Write(cls->ptr()->next_field_offset_in_words_); + s->Write(cls->ptr()->type_arguments_field_offset_in_words_); s->Write(cls->ptr()->num_type_arguments_); s->Write(cls->ptr()->num_native_fields_); s->WriteTokenPosition(cls->ptr()->token_pos_); s->WriteTokenPosition(cls->ptr()->end_token_pos_); s->Write(cls->ptr()->state_bits_); - - // In AOT, the bitmap of unboxed fields should also be serialized - if (FLAG_precompiled_mode) { - s->WriteUnsigned64( - CalculateTargetUnboxedFieldsBitmap(s, class_id).Value()); - } } private: GrowableArray predefined_; GrowableArray objects_; - - UnboxedFieldBitmap CalculateTargetUnboxedFieldsBitmap(Serializer* s, - intptr_t class_id) { - const auto unboxed_fields_bitmap_host = - s->isolate()->shared_class_table()->GetUnboxedFieldsMapAt(class_id); - - UnboxedFieldBitmap unboxed_fields_bitmap; - if (unboxed_fields_bitmap_host.IsEmpty() || - kWordSize == compiler::target::kWordSize) { - unboxed_fields_bitmap = unboxed_fields_bitmap_host; - } else { - ASSERT(kWordSize == 8 && compiler::target::kWordSize == 4); - // A new bitmap is built if the word sizes in the target and - // host are different - unboxed_fields_bitmap.Reset(); - intptr_t target_i = 0, host_i = 0; - - while (host_i < UnboxedFieldBitmap::Length()) { - // Each unboxed field has constant length, therefore the number of - // words used by it should double when compiling from 64-bit to 32-bit. - if (unboxed_fields_bitmap_host.Get(host_i++)) { - unboxed_fields_bitmap.Set(target_i++); - unboxed_fields_bitmap.Set(target_i++); - } else { - // For object pointers, the field is always one word length - target_i++; - } - } - } - - return unboxed_fields_bitmap; - } }; #endif // !DART_PRECOMPILED_RUNTIME @@ -278,35 +240,18 @@ class ClassDeserializationCluster : public DeserializationCluster { } #endif if (!RawObject::IsInternalVMdefinedClassId(class_id)) { - cls->ptr()->host_instance_size_in_words_ = d->Read(); - cls->ptr()->host_next_field_offset_in_words_ = d->Read(); -#if !defined(DART_PRECOMPILED_RUNTIME) - // Only one pair is serialized. The target field only exists when - // DART_PRECOMPILED_RUNTIME is not defined - cls->ptr()->target_instance_size_in_words_ = - cls->ptr()->host_instance_size_in_words_; - cls->ptr()->target_next_field_offset_in_words_ = - cls->ptr()->host_next_field_offset_in_words_; -#endif // !defined(DART_PRECOMPILED_RUNTIME) + cls->ptr()->instance_size_in_words_ = d->Read(); + cls->ptr()->next_field_offset_in_words_ = d->Read(); } else { d->Read(); // Skip. d->Read(); // Skip. } - cls->ptr()->host_type_arguments_field_offset_in_words_ = - d->Read(); -#if !defined(DART_PRECOMPILED_RUNTIME) - cls->ptr()->target_type_arguments_field_offset_in_words_ = - cls->ptr()->host_type_arguments_field_offset_in_words_; -#endif // !defined(DART_PRECOMPILED_RUNTIME) + cls->ptr()->type_arguments_field_offset_in_words_ = d->Read(); cls->ptr()->num_type_arguments_ = d->Read(); cls->ptr()->num_native_fields_ = d->Read(); cls->ptr()->token_pos_ = d->ReadTokenPosition(); cls->ptr()->end_token_pos_ = d->ReadTokenPosition(); cls->ptr()->state_bits_ = d->Read(); - - if (FLAG_precompiled_mode) { - d->ReadUnsigned64(); // Skip unboxed fields bitmap. - } } for (intptr_t id = start_index_; id < stop_index_; id++) { @@ -323,18 +268,9 @@ class ClassDeserializationCluster : public DeserializationCluster { cls->ptr()->binary_declaration_ = d->Read(); } #endif - cls->ptr()->host_instance_size_in_words_ = d->Read(); - cls->ptr()->host_next_field_offset_in_words_ = d->Read(); - cls->ptr()->host_type_arguments_field_offset_in_words_ = - d->Read(); -#if !defined(DART_PRECOMPILED_RUNTIME) - cls->ptr()->target_instance_size_in_words_ = - cls->ptr()->host_instance_size_in_words_; - cls->ptr()->target_next_field_offset_in_words_ = - cls->ptr()->host_next_field_offset_in_words_; - cls->ptr()->target_type_arguments_field_offset_in_words_ = - cls->ptr()->host_type_arguments_field_offset_in_words_; -#endif // !defined(DART_PRECOMPILED_RUNTIME) + cls->ptr()->instance_size_in_words_ = d->Read(); + cls->ptr()->next_field_offset_in_words_ = d->Read(); + cls->ptr()->type_arguments_field_offset_in_words_ = d->Read(); cls->ptr()->num_type_arguments_ = d->Read(); cls->ptr()->num_native_fields_ = d->Read(); cls->ptr()->token_pos_ = d->ReadTokenPosition(); @@ -343,12 +279,6 @@ class ClassDeserializationCluster : public DeserializationCluster { table->AllocateIndex(class_id); table->SetAt(class_id, cls); - - if (FLAG_precompiled_mode) { - const UnboxedFieldBitmap unboxed_fields_map(d->ReadUnsigned64()); - d->isolate()->shared_class_table()->SetUnboxedFieldsMapAt( - class_id, unboxed_fields_map); - } } } @@ -1005,13 +935,13 @@ class FieldSerializationCluster : public SerializationCluster { kind == Snapshot::kFullAOT || // Do not reset const fields. Field::ConstBit::decode(field->ptr()->kind_bits_)) { - s->Push(s->field_table()->At(field->ptr()->host_offset_or_field_id_)); + s->Push(s->field_table()->At(field->ptr()->offset_or_field_id_)); } else { // Otherwise, for static fields we write out the initial static value. s->Push(field->ptr()->saved_initial_value_); } } else { - s->Push(Smi::New(Field::TargetOffsetOf(field))); + s->Push(Smi::New(field->ptr()->offset_or_field_id_)); } } @@ -1071,14 +1001,14 @@ class FieldSerializationCluster : public SerializationCluster { Field::ConstBit::decode(field->ptr()->kind_bits_)) { WriteFieldValue( "static value", - s->field_table()->At(field->ptr()->host_offset_or_field_id_)); + s->field_table()->At(field->ptr()->offset_or_field_id_)); } else { // Otherwise, for static fields we write out the initial static value. WriteFieldValue("static value", field->ptr()->saved_initial_value_); } - s->WriteUnsigned(field->ptr()->host_offset_or_field_id_); + s->WriteUnsigned(field->ptr()->offset_or_field_id_); } else { - WriteFieldValue("offset", Smi::New(Field::TargetOffsetOf(field))); + WriteFieldValue("offset", Smi::New(field->ptr()->offset_or_field_id_)); } } } @@ -1127,13 +1057,10 @@ class FieldDeserializationCluster : public DeserializationCluster { intptr_t field_id = d->ReadUnsigned(); d->field_table()->SetAt( field_id, reinterpret_cast(value_or_offset)); - field->ptr()->host_offset_or_field_id_ = field_id; + field->ptr()->offset_or_field_id_ = field_id; } else { - field->ptr()->host_offset_or_field_id_ = + field->ptr()->offset_or_field_id_ = Smi::Value(Smi::RawCast(value_or_offset)); -#if !defined(DART_PRECOMPILED_RUNTIME) - field->ptr()->target_offset_ = field->ptr()->host_offset_or_field_id_; -#endif // !defined(DART_PRECOMPILED_RUNTIME) } } } @@ -2795,34 +2722,23 @@ class InstanceSerializationCluster : public SerializationCluster { explicit InstanceSerializationCluster(intptr_t cid) : SerializationCluster("Instance"), cid_(cid) { RawClass* cls = Isolate::Current()->class_table()->At(cid); - host_next_field_offset_in_words_ = - cls->ptr()->host_next_field_offset_in_words_; - ASSERT(host_next_field_offset_in_words_ > 0); -#if !defined(DART_PRECOMPILED_RUNTIME) - target_next_field_offset_in_words_ = - cls->ptr()->target_next_field_offset_in_words_; - target_instance_size_in_words_ = cls->ptr()->target_instance_size_in_words_; - ASSERT(target_next_field_offset_in_words_ > 0); - ASSERT(target_instance_size_in_words_ > 0); -#endif // !defined(DART_PRECOMPILED_RUNTIME) + next_field_offset_in_words_ = cls->ptr()->next_field_offset_in_words_; + instance_size_in_words_ = cls->ptr()->instance_size_in_words_; + ASSERT(next_field_offset_in_words_ > 0); + ASSERT(instance_size_in_words_ > 0); } ~InstanceSerializationCluster() {} void Trace(Serializer* s, RawObject* object) { RawInstance* instance = Instance::RawCast(object); objects_.Add(instance); - const intptr_t next_field_offset = host_next_field_offset_in_words_ - << kWordSizeLog2; - const auto unboxed_fields_bitmap = - s->isolate()->shared_class_table()->GetUnboxedFieldsMapAt(cid_); + + intptr_t next_field_offset = next_field_offset_in_words_ << kWordSizeLog2; intptr_t offset = Instance::NextFieldOffset(); while (offset < next_field_offset) { - // Skips unboxed fields - if (!unboxed_fields_bitmap.Get(offset / kWordSize)) { - RawObject* raw_obj = *reinterpret_cast( - reinterpret_cast(instance->ptr()) + offset); - s->Push(raw_obj); - } + RawObject* raw_obj = *reinterpret_cast( + reinterpret_cast(instance->ptr()) + offset); + s->Push(raw_obj); offset += kWordSize; } } @@ -2832,12 +2748,8 @@ class InstanceSerializationCluster : public SerializationCluster { const intptr_t count = objects_.length(); s->WriteUnsigned(count); -#if !defined(DART_PRECOMPILED_RUNTIME) - s->Write(target_next_field_offset_in_words_); - s->Write(target_instance_size_in_words_); -#else - s->Write(host_next_field_offset_in_words_); -#endif // !defined(DART_PRECOMPILED_RUNTIME) + s->Write(next_field_offset_in_words_); + s->Write(instance_size_in_words_); for (intptr_t i = 0; i < count; i++) { RawInstance* instance = objects_[i]; @@ -2846,28 +2758,17 @@ class InstanceSerializationCluster : public SerializationCluster { } void WriteFill(Serializer* s) { - intptr_t next_field_offset = host_next_field_offset_in_words_ - << kWordSizeLog2; + intptr_t next_field_offset = next_field_offset_in_words_ << kWordSizeLog2; const intptr_t count = objects_.length(); - const auto shared_class_table = s->isolate()->shared_class_table(); for (intptr_t i = 0; i < count; i++) { RawInstance* instance = objects_[i]; AutoTraceObject(instance); s->Write(instance->IsCanonical()); - const auto unboxed_fields_bitmap = - shared_class_table->GetUnboxedFieldsMapAt(cid_); intptr_t offset = Instance::NextFieldOffset(); while (offset < next_field_offset) { - if (unboxed_fields_bitmap.Get(offset / kWordSize)) { - // Writes 32 bits of the unboxed value at a time - const uword value = *reinterpret_cast( - reinterpret_cast(instance->ptr()) + offset); - s->WriteWordWith32BitWrites(value); - } else { - RawObject* raw_obj = *reinterpret_cast( - reinterpret_cast(instance->ptr()) + offset); - s->WriteElementRef(raw_obj, offset); - } + RawObject* raw_obj = *reinterpret_cast( + reinterpret_cast(instance->ptr()) + offset); + s->WriteElementRef(raw_obj, offset); offset += kWordSize; } } @@ -2875,11 +2776,8 @@ class InstanceSerializationCluster : public SerializationCluster { private: const intptr_t cid_; - intptr_t host_next_field_offset_in_words_; -#if !defined(DART_PRECOMPILED_RUNTIME) - intptr_t target_next_field_offset_in_words_; - intptr_t target_instance_size_in_words_; -#endif // !defined(DART_PRECOMPILED_RUNTIME) + intptr_t next_field_offset_in_words_; + intptr_t instance_size_in_words_; GrowableArray objects_; }; #endif // !DART_PRECOMPILED_RUNTIME @@ -2908,26 +2806,16 @@ class InstanceDeserializationCluster : public DeserializationCluster { intptr_t instance_size = Object::RoundedAllocationSize(instance_size_in_words_ * kWordSize); - const auto shared_class_table = d->isolate()->shared_class_table(); for (intptr_t id = start_index_; id < stop_index_; id++) { RawInstance* instance = reinterpret_cast(d->Ref(id)); bool is_canonical = d->Read(); Deserializer::InitializeHeader(instance, cid_, instance_size, is_canonical); - const auto unboxed_fields_bitmap = - shared_class_table->GetUnboxedFieldsMapAt(cid_); intptr_t offset = Instance::NextFieldOffset(); while (offset < next_field_offset) { - if (unboxed_fields_bitmap.Get(offset / kWordSize)) { - uword* p = reinterpret_cast( - reinterpret_cast(instance->ptr()) + offset); - // Reads 32 bits of the unboxed value at a time - *p = d->ReadWordWith32BitReads(); - } else { - RawObject** p = reinterpret_cast( - reinterpret_cast(instance->ptr()) + offset); - *p = d->ReadRef(); - } + RawObject** p = reinterpret_cast( + reinterpret_cast(instance->ptr()) + offset); + *p = d->ReadRef(); offset += kWordSize; } if (offset < instance_size) { diff --git a/runtime/vm/clustered_snapshot.h b/runtime/vm/clustered_snapshot.h index ed8555fd4128c..7be84ef2d046e 100644 --- a/runtime/vm/clustered_snapshot.h +++ b/runtime/vm/clustered_snapshot.h @@ -234,12 +234,6 @@ class Serializer : public ThreadStackResource { WriteStream::Raw::Write(&stream_, value); } void WriteUnsigned(intptr_t value) { stream_.WriteUnsigned(value); } - void WriteUnsigned64(uint64_t value) { stream_.WriteUnsigned(value); } - - void WriteWordWith32BitWrites(uword value) { - stream_.WriteWordWith32BitWrites(value); - } - void WriteBytes(const uint8_t* addr, intptr_t len) { stream_.WriteBytes(addr, len); } @@ -502,11 +496,8 @@ class Deserializer : public ThreadStackResource { return ReadStream::Raw::Read(&stream_); } intptr_t ReadUnsigned() { return stream_.ReadUnsigned(); } - uint64_t ReadUnsigned64() { return stream_.ReadUnsigned(); } void ReadBytes(uint8_t* addr, intptr_t len) { stream_.ReadBytes(addr, len); } - uword ReadWordWith32BitReads() { return stream_.ReadWordWith32BitReads(); } - const uint8_t* CurrentBufferAddress() const { return stream_.AddressOfCurrentPosition(); } diff --git a/runtime/vm/compiler/backend/il.h b/runtime/vm/compiler/backend/il.h index cbbc454219704..4213e64235715 100644 --- a/runtime/vm/compiler/backend/il.h +++ b/runtime/vm/compiler/backend/il.h @@ -5498,7 +5498,7 @@ class AllocateObjectInstr : public AllocationInstr { } static bool WillAllocateNewOrRemembered(const Class& cls) { - return Heap::IsAllocatableInNewSpace(cls.target_instance_size()); + return Heap::IsAllocatableInNewSpace(cls.instance_size()); } PRINT_OPERANDS_TO_SUPPORT diff --git a/runtime/vm/compiler/backend/il_arm.cc b/runtime/vm/compiler/backend/il_arm.cc index 235b68331efe8..6c43554b4255e 100644 --- a/runtime/vm/compiler/backend/il_arm.cc +++ b/runtime/vm/compiler/backend/il_arm.cc @@ -2557,8 +2557,7 @@ LocationSummary* StoreInstanceFieldInstr::MakeLocationSummary(Zone* zone, bool opt) const { const intptr_t kNumInputs = 2; const intptr_t kNumTemps = - ((IsUnboxedStore() && opt) ? (FLAG_precompiled_mode ? 0 : 2) - : (IsPotentialUnboxedStore() ? 3 : 0)); + ((IsUnboxedStore() && opt) ? 2 : ((IsPotentialUnboxedStore()) ? 3 : 0)); LocationSummary* summary = new (zone) LocationSummary(zone, kNumInputs, kNumTemps, ((IsUnboxedStore() && opt && is_initialization()) || @@ -2569,10 +2568,8 @@ LocationSummary* StoreInstanceFieldInstr::MakeLocationSummary(Zone* zone, summary->set_in(0, Location::RequiresRegister()); if (IsUnboxedStore() && opt) { summary->set_in(1, Location::RequiresFpuRegister()); - if (!FLAG_precompiled_mode) { - summary->set_temp(0, Location::RequiresRegister()); - summary->set_temp(1, Location::RequiresRegister()); - } + summary->set_temp(0, Location::RequiresRegister()); + summary->set_temp(1, Location::RequiresRegister()); } else if (IsPotentialUnboxedStore()) { summary->set_in(1, ShouldEmitStoreBarrier() ? Location::WritableRegister() : Location::RequiresRegister()); @@ -2618,33 +2615,10 @@ void StoreInstanceFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) { ASSERT(offset_in_bytes > 0); // Field is finalized and points after header. if (IsUnboxedStore() && compiler->is_optimizing()) { - const intptr_t cid = slot().field().UnboxedFieldCid(); const DRegister value = EvenDRegisterOf(locs()->in(1).fpu_reg()); - - if (FLAG_precompiled_mode) { - switch (cid) { - case kDoubleCid: - __ Comment("UnboxedDoubleStoreInstanceFieldInstr"); - __ StoreDToOffset(value, instance_reg, - offset_in_bytes - kHeapObjectTag); - return; - case kFloat32x4Cid: - __ Comment("UnboxedFloat32x4StoreInstanceFieldInstr"); - __ StoreMultipleDToOffset(value, 2, instance_reg, - offset_in_bytes - kHeapObjectTag); - return; - case kFloat64x2Cid: - __ Comment("UnboxedFloat64x2StoreInstanceFieldInstr"); - __ StoreMultipleDToOffset(value, 2, instance_reg, - offset_in_bytes - kHeapObjectTag); - return; - default: - UNREACHABLE(); - } - } - const Register temp = locs()->temp(0).reg(); const Register temp2 = locs()->temp(1).reg(); + const intptr_t cid = slot().field().UnboxedFieldCid(); if (is_initialization()) { const Class* cls = NULL; @@ -2989,9 +2963,8 @@ void CreateArrayInstr::EmitNativeCode(FlowGraphCompiler* compiler) { LocationSummary* LoadFieldInstr::MakeLocationSummary(Zone* zone, bool opt) const { const intptr_t kNumInputs = 1; - const intptr_t kNumTemps = (IsUnboxedLoad() && opt) - ? (FLAG_precompiled_mode ? 0 : 1) - : (IsPotentialUnboxedLoad() ? 3 : 0); + const intptr_t kNumTemps = + (IsUnboxedLoad() && opt) ? 1 : ((IsPotentialUnboxedLoad()) ? 3 : 0); LocationSummary* locs = new (zone) LocationSummary( zone, kNumInputs, kNumTemps, @@ -3001,9 +2974,7 @@ LocationSummary* LoadFieldInstr::MakeLocationSummary(Zone* zone, locs->set_in(0, Location::RequiresRegister()); if (IsUnboxedLoad() && opt) { - if (!FLAG_precompiled_mode) { - locs->set_temp(0, Location::RequiresRegister()); - } + locs->set_temp(0, Location::RequiresRegister()); } else if (IsPotentialUnboxedLoad()) { locs->set_temp(0, opt ? Location::RequiresFpuRegister() : Location::FpuRegisterLocation(Q1)); @@ -3019,33 +2990,10 @@ void LoadFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) { const Register instance_reg = locs()->in(0).reg(); if (IsUnboxedLoad() && compiler->is_optimizing()) { - const intptr_t cid = slot().field().UnboxedFieldCid(); const DRegister result = EvenDRegisterOf(locs()->out(0).fpu_reg()); - - if (FLAG_precompiled_mode) { - switch (cid) { - case kDoubleCid: - __ Comment("UnboxedDoubleLoadFieldInstr"); - __ LoadDFromOffset(result, instance_reg, - OffsetInBytes() - kHeapObjectTag); - return; - case kFloat32x4Cid: - __ Comment("UnboxedFloat32x4LoadFieldInstr"); - __ LoadMultipleDFromOffset(result, 2, instance_reg, - OffsetInBytes() - kHeapObjectTag); - return; - case kFloat64x2Cid: - __ Comment("UnboxedFloat64x2LoadFieldInstr"); - __ LoadMultipleDFromOffset(result, 2, instance_reg, - OffsetInBytes() - kHeapObjectTag); - return; - default: - UNREACHABLE(); - } - } - const Register temp = locs()->temp(0).reg(); __ LoadFieldFromOffset(kWord, temp, instance_reg, OffsetInBytes()); + const intptr_t cid = slot().field().UnboxedFieldCid(); switch (cid) { case kDoubleCid: __ Comment("UnboxedDoubleLoadFieldInstr"); @@ -3372,7 +3320,7 @@ void InitInstanceFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) { Register temp = locs()->temp(0).reg(); compiler::Label no_call; - __ ldr(temp, compiler::FieldAddress(instance, field().TargetOffset())); + __ ldr(temp, compiler::FieldAddress(instance, field().Offset())); __ CompareObject(temp, Object::sentinel()); __ b(&no_call, NE); diff --git a/runtime/vm/compiler/backend/il_arm64.cc b/runtime/vm/compiler/backend/il_arm64.cc index 9894048837940..405bc328dde98 100644 --- a/runtime/vm/compiler/backend/il_arm64.cc +++ b/runtime/vm/compiler/backend/il_arm64.cc @@ -2158,9 +2158,8 @@ static void EnsureMutableBox(FlowGraphCompiler* compiler, LocationSummary* StoreInstanceFieldInstr::MakeLocationSummary(Zone* zone, bool opt) const { const intptr_t kNumInputs = 2; - const intptr_t kNumTemps = (IsUnboxedStore() && opt) - ? (FLAG_precompiled_mode ? 0 : 2) - : (IsPotentialUnboxedStore() ? 2 : 0); + const intptr_t kNumTemps = + (IsUnboxedStore() && opt) ? 2 : ((IsPotentialUnboxedStore()) ? 2 : 0); LocationSummary* summary = new (zone) LocationSummary(zone, kNumInputs, kNumTemps, ((IsUnboxedStore() && opt && is_initialization()) || @@ -2171,10 +2170,8 @@ LocationSummary* StoreInstanceFieldInstr::MakeLocationSummary(Zone* zone, summary->set_in(0, Location::RequiresRegister()); if (IsUnboxedStore() && opt) { summary->set_in(1, Location::RequiresFpuRegister()); - if (!FLAG_precompiled_mode) { - summary->set_temp(0, Location::RequiresRegister()); - summary->set_temp(1, Location::RequiresRegister()); - } + summary->set_temp(0, Location::RequiresRegister()); + summary->set_temp(1, Location::RequiresRegister()); } else if (IsPotentialUnboxedStore()) { summary->set_in(1, ShouldEmitStoreBarrier() ? Location::WritableRegister() : Location::RequiresRegister()); @@ -2198,29 +2195,9 @@ void StoreInstanceFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) { if (IsUnboxedStore() && compiler->is_optimizing()) { const VRegister value = locs()->in(1).fpu_reg(); - const intptr_t cid = slot().field().UnboxedFieldCid(); - - if (FLAG_precompiled_mode) { - switch (cid) { - case kDoubleCid: - __ Comment("UnboxedDoubleStoreInstanceFieldInstr"); - __ StoreDFieldToOffset(value, instance_reg, offset_in_bytes); - return; - case kFloat32x4Cid: - __ Comment("UnboxedFloat32x4StoreInstanceFieldInstr"); - __ StoreQFieldToOffset(value, instance_reg, offset_in_bytes); - return; - case kFloat64x2Cid: - __ Comment("UnboxedFloat64x2StoreInstanceFieldInstr"); - __ StoreQFieldToOffset(value, instance_reg, offset_in_bytes); - return; - default: - UNREACHABLE(); - } - } - const Register temp = locs()->temp(0).reg(); const Register temp2 = locs()->temp(1).reg(); + const intptr_t cid = slot().field().UnboxedFieldCid(); if (is_initialization()) { const Class* cls = NULL; @@ -2557,9 +2534,8 @@ void CreateArrayInstr::EmitNativeCode(FlowGraphCompiler* compiler) { LocationSummary* LoadFieldInstr::MakeLocationSummary(Zone* zone, bool opt) const { const intptr_t kNumInputs = 1; - const intptr_t kNumTemps = (IsUnboxedLoad() && opt) - ? (FLAG_precompiled_mode ? 0 : 1) - : (IsPotentialUnboxedLoad() ? 1 : 0); + const intptr_t kNumTemps = + (IsUnboxedLoad() && opt) ? 1 : ((IsPotentialUnboxedLoad()) ? 1 : 0); LocationSummary* locs = new (zone) LocationSummary( zone, kNumInputs, kNumTemps, (opt && !IsPotentialUnboxedLoad()) ? LocationSummary::kNoCall @@ -2568,9 +2544,7 @@ LocationSummary* LoadFieldInstr::MakeLocationSummary(Zone* zone, locs->set_in(0, Location::RequiresRegister()); if (IsUnboxedLoad() && opt) { - if (!FLAG_precompiled_mode) { - locs->set_temp(0, Location::RequiresRegister()); - } + locs->set_temp(0, Location::RequiresRegister()); } else if (IsPotentialUnboxedLoad()) { locs->set_temp(0, Location::RequiresRegister()); } @@ -2583,30 +2557,9 @@ void LoadFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) { const Register instance_reg = locs()->in(0).reg(); if (IsUnboxedLoad() && compiler->is_optimizing()) { const VRegister result = locs()->out(0).fpu_reg(); - const intptr_t cid = slot().field().UnboxedFieldCid(); - - if (FLAG_precompiled_mode) { - switch (cid) { - case kDoubleCid: - __ Comment("UnboxedDoubleLoadFieldInstr"); - __ LoadDFieldFromOffset(result, instance_reg, OffsetInBytes()); - return; - case kFloat32x4Cid: - __ Comment("UnboxedFloat32x4LoadFieldInstr"); - __ LoadQFieldFromOffset(result, instance_reg, OffsetInBytes()); - return; - case kFloat64x2Cid: - __ Comment("UnboxedFloat64x2LoadFieldInstr"); - __ LoadQFieldFromOffset(result, instance_reg, OffsetInBytes()); - return; - default: - UNREACHABLE(); - } - } - const Register temp = locs()->temp(0).reg(); - __ LoadFieldFromOffset(temp, instance_reg, OffsetInBytes()); + const intptr_t cid = slot().field().UnboxedFieldCid(); switch (cid) { case kDoubleCid: __ Comment("UnboxedDoubleLoadFieldInstr"); @@ -2922,7 +2875,7 @@ void InitInstanceFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) { Register temp = locs()->temp(0).reg(); compiler::Label no_call; - __ ldr(temp, compiler::FieldAddress(instance, field().TargetOffset())); + __ ldr(temp, compiler::FieldAddress(instance, field().Offset())); __ CompareObject(temp, Object::sentinel()); __ b(&no_call, NE); diff --git a/runtime/vm/compiler/backend/il_ia32.cc b/runtime/vm/compiler/backend/il_ia32.cc index 28a4d5969fb18..c02b5e710a55d 100644 --- a/runtime/vm/compiler/backend/il_ia32.cc +++ b/runtime/vm/compiler/backend/il_ia32.cc @@ -2753,7 +2753,7 @@ void InitInstanceFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) { compiler::Label no_call; - __ movl(temp, compiler::FieldAddress(instance, field().TargetOffset())); + __ movl(temp, compiler::FieldAddress(instance, field().Offset())); __ CompareObject(temp, Object::sentinel()); __ j(NOT_EQUAL, &no_call, compiler::Assembler::kNearJump); diff --git a/runtime/vm/compiler/backend/il_serializer.cc b/runtime/vm/compiler/backend/il_serializer.cc index b8739924913a4..2ec431aeb294d 100644 --- a/runtime/vm/compiler/backend/il_serializer.cc +++ b/runtime/vm/compiler/backend/il_serializer.cc @@ -1308,7 +1308,7 @@ void AllocateObjectInstr::AddExtraInfoToSExpression( SExpList* sexp, FlowGraphSerializer* s) const { Instruction::AddExtraInfoToSExpression(sexp, s); - s->AddExtraInteger(sexp, "size", cls().target_instance_size()); + s->AddExtraInteger(sexp, "size", cls().instance_size()); if (auto const closure = s->DartValueToSExp(closure_function())) { sexp->AddExtra("closure_function", closure); } diff --git a/runtime/vm/compiler/backend/il_x64.cc b/runtime/vm/compiler/backend/il_x64.cc index 9af1adc9272a8..4b9cfcde11a91 100644 --- a/runtime/vm/compiler/backend/il_x64.cc +++ b/runtime/vm/compiler/backend/il_x64.cc @@ -2128,9 +2128,8 @@ void GuardFieldTypeInstr::EmitNativeCode(FlowGraphCompiler* compiler) { LocationSummary* StoreInstanceFieldInstr::MakeLocationSummary(Zone* zone, bool opt) const { const intptr_t kNumInputs = 2; - const intptr_t kNumTemps = (IsUnboxedStore() && opt) - ? (FLAG_precompiled_mode ? 0 : 2) - : (IsPotentialUnboxedStore() ? 3 : 0); + const intptr_t kNumTemps = + (IsUnboxedStore() && opt) ? 2 : ((IsPotentialUnboxedStore()) ? 3 : 0); LocationSummary* summary = new (zone) LocationSummary(zone, kNumInputs, kNumTemps, ((IsUnboxedStore() && opt && is_initialization()) || @@ -2141,10 +2140,8 @@ LocationSummary* StoreInstanceFieldInstr::MakeLocationSummary(Zone* zone, summary->set_in(0, Location::RequiresRegister()); if (IsUnboxedStore() && opt) { summary->set_in(1, Location::RequiresFpuRegister()); - if (!FLAG_precompiled_mode) { - summary->set_temp(0, Location::RequiresRegister()); - summary->set_temp(1, Location::RequiresRegister()); - } + summary->set_temp(0, Location::RequiresRegister()); + summary->set_temp(1, Location::RequiresRegister()); } else if (IsPotentialUnboxedStore()) { summary->set_in(1, ShouldEmitStoreBarrier() ? Location::WritableRegister() : Location::RequiresRegister()); @@ -2189,33 +2186,9 @@ void StoreInstanceFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) { if (IsUnboxedStore() && compiler->is_optimizing()) { XmmRegister value = locs()->in(1).fpu_reg(); - const intptr_t cid = slot().field().UnboxedFieldCid(); - - // Real unboxed field - if (FLAG_precompiled_mode) { - switch (cid) { - case kDoubleCid: - __ Comment("UnboxedDoubleStoreInstanceFieldInstr"); - __ movsd(compiler::FieldAddress(instance_reg, offset_in_bytes), - value); - return; - case kFloat32x4Cid: - __ Comment("UnboxedFloat32x4StoreInstanceFieldInstr"); - __ movups(compiler::FieldAddress(instance_reg, offset_in_bytes), - value); - return; - case kFloat64x2Cid: - __ Comment("UnboxedFloat64x2StoreInstanceFieldInstr"); - __ movups(compiler::FieldAddress(instance_reg, offset_in_bytes), - value); - return; - default: - UNREACHABLE(); - } - } - Register temp = locs()->temp(0).reg(); Register temp2 = locs()->temp(1).reg(); + const intptr_t cid = slot().field().UnboxedFieldCid(); if (is_initialization()) { const Class* cls = NULL; @@ -2560,9 +2533,8 @@ void CreateArrayInstr::EmitNativeCode(FlowGraphCompiler* compiler) { LocationSummary* LoadFieldInstr::MakeLocationSummary(Zone* zone, bool opt) const { const intptr_t kNumInputs = 1; - const intptr_t kNumTemps = (IsUnboxedLoad() && opt) - ? (FLAG_precompiled_mode ? 0 : 1) - : (IsPotentialUnboxedLoad() ? 2 : 0); + const intptr_t kNumTemps = + (IsUnboxedLoad() && opt) ? 1 : ((IsPotentialUnboxedLoad()) ? 2 : 0); LocationSummary* locs = new (zone) LocationSummary( zone, kNumInputs, kNumTemps, (opt && !IsPotentialUnboxedLoad()) ? LocationSummary::kNoCall @@ -2571,9 +2543,7 @@ LocationSummary* LoadFieldInstr::MakeLocationSummary(Zone* zone, locs->set_in(0, Location::RequiresRegister()); if (IsUnboxedLoad() && opt) { - if (!FLAG_precompiled_mode) { - locs->set_temp(0, Location::RequiresRegister()); - } + locs->set_temp(0, Location::RequiresRegister()); } else if (IsPotentialUnboxedLoad()) { locs->set_temp(0, opt ? Location::RequiresFpuRegister() : Location::FpuRegisterLocation(XMM1)); @@ -2588,34 +2558,9 @@ void LoadFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) { Register instance_reg = locs()->in(0).reg(); if (IsUnboxedLoad() && compiler->is_optimizing()) { XmmRegister result = locs()->out(0).fpu_reg(); - const intptr_t cid = slot().field().UnboxedFieldCid(); - - // Real unboxed field - if (FLAG_precompiled_mode) { - switch (cid) { - case kDoubleCid: - __ Comment("UnboxedDoubleLoadFieldInstr"); - __ movsd(result, - compiler::FieldAddress(instance_reg, OffsetInBytes())); - break; - case kFloat32x4Cid: - __ Comment("UnboxedFloat32x4LoadFieldInstr"); - __ movups(result, - compiler::FieldAddress(instance_reg, OffsetInBytes())); - break; - case kFloat64x2Cid: - __ Comment("UnboxedFloat64x2LoadFieldInstr"); - __ movups(result, - compiler::FieldAddress(instance_reg, OffsetInBytes())); - break; - default: - UNREACHABLE(); - } - return; - } - Register temp = locs()->temp(0).reg(); __ movq(temp, compiler::FieldAddress(instance_reg, OffsetInBytes())); + intptr_t cid = slot().field().UnboxedFieldCid(); switch (cid) { case kDoubleCid: __ Comment("UnboxedDoubleLoadFieldInstr"); @@ -2945,7 +2890,7 @@ void InitInstanceFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) { compiler::Label no_call; - __ movq(temp, compiler::FieldAddress(instance, field().TargetOffset())); + __ movq(temp, compiler::FieldAddress(instance, field().Offset())); __ CompareObject(temp, Object::sentinel()); __ j(NOT_EQUAL, &no_call, compiler::Assembler::kNearJump); diff --git a/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.cc b/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.cc index 58641e6fcb3c8..42006a55ee507 100644 --- a/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.cc +++ b/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.cc @@ -1151,7 +1151,7 @@ void BytecodeFlowGraphBuilder::BuildCreateArrayTOS() { } const Slot& ClosureSlotByField(const Field& field) { - const intptr_t offset = field.HostOffset(); + const intptr_t offset = field.Offset(); if (offset == Closure::instantiator_type_arguments_offset()) { return Slot::Closure_instantiator_type_arguments(); } else if (offset == Closure::function_type_arguments_offset()) { @@ -1178,7 +1178,7 @@ void BytecodeFlowGraphBuilder::BuildStoreFieldTOS() { const Field& field = Field::Cast(ConstantAt(cp_index, 1).value()); ASSERT(Smi::Cast(ConstantAt(cp_index).value()).Value() * kWordSize == - field.HostOffset()); + field.Offset()); if (field.Owner() == isolate()->object_store()->closure_class()) { // Stores to _Closure fields are lower-level. @@ -1204,7 +1204,7 @@ void BytecodeFlowGraphBuilder::BuildLoadFieldTOS() { const Field& field = Field::Cast(ConstantAt(cp_index, 1).value()); ASSERT(Smi::Cast(ConstantAt(cp_index).value()).Value() * kWordSize == - field.HostOffset()); + field.Offset()); if (field.Owner() == isolate()->object_store()->closure_class()) { // Loads from _Closure fields are lower-level. @@ -1292,7 +1292,7 @@ void BytecodeFlowGraphBuilder::BuildInitLateField() { const Field& field = Field::Cast(ConstantAt(cp_index, 1).value()); ASSERT(Smi::Cast(ConstantAt(cp_index).value()).Value() * kWordSize == - field.HostOffset()); + field.Offset()); code_ += B->Constant(Object::sentinel()); code_ += B->StoreInstanceField( diff --git a/runtime/vm/compiler/frontend/bytecode_reader.cc b/runtime/vm/compiler/frontend/bytecode_reader.cc index 616e9f3ac3240..f14cd8b112ce5 100644 --- a/runtime/vm/compiler/frontend/bytecode_reader.cc +++ b/runtime/vm/compiler/frontend/bytecode_reader.cc @@ -748,7 +748,7 @@ intptr_t BytecodeReaderHelper::ReadConstantPool(const Function& function, field ^= ReadObject(); // InstanceField constant occupies 2 entries. // The first entry is used for field offset. - obj = Smi::New(field.HostOffset() / kWordSize); + obj = Smi::New(field.Offset() / kWordSize); pool.SetTypeAt(i, ObjectPool::EntryType::kTaggedObject, ObjectPool::Patchability::kNotPatchable); pool.SetObjectAt(i, obj); @@ -763,7 +763,7 @@ intptr_t BytecodeReaderHelper::ReadConstantPool(const Function& function, break; case ConstantPoolTag::kTypeArgumentsField: cls ^= ReadObject(); - obj = Smi::New(cls.host_type_arguments_field_offset() / kWordSize); + obj = Smi::New(cls.type_arguments_field_offset() / kWordSize); break; case ConstantPoolTag::kType: obj = ReadObject(); diff --git a/runtime/vm/compiler/runtime_api.cc b/runtime/vm/compiler/runtime_api.cc index d24699f8ccf14..d628ac8454123 100644 --- a/runtime/vm/compiler/runtime_api.cc +++ b/runtime/vm/compiler/runtime_api.cc @@ -3,6 +3,7 @@ // BSD-style license that can be found in the LICENSE file. #include "vm/compiler/runtime_api.h" +#include "platform/utils.h" namespace dart { namespace compiler { @@ -198,7 +199,7 @@ const Field& LookupMathRandomStateFieldOffset() { } word LookupFieldOffsetInBytes(const Field& field) { - return field.TargetOffset(); + return field.Offset(); } #if defined(TARGET_ARCH_IA32) @@ -336,10 +337,10 @@ static uword GetInstanceSizeImpl(const dart::Class& handle) { case kExternalTypedData##clazz##Cid: CLASS_LIST_TYPED_DATA(HANDLE_CASE) #undef HANDLE_CASE - return handle.target_instance_size(); + return TranslateOffsetInWords(handle.instance_size()); default: if (handle.id() >= kNumPredefinedCids) { - return handle.target_instance_size(); + return TranslateOffsetInWords(handle.instance_size()); } } FATAL3("Unsupported class for size translation: %s (id=%" Pd @@ -358,12 +359,11 @@ intptr_t Class::NumTypeArguments(const dart::Class& klass) { } bool Class::HasTypeArgumentsField(const dart::Class& klass) { - return klass.host_type_arguments_field_offset() != - dart::Class::kNoTypeArguments; + return klass.type_arguments_field_offset() != dart::Class::kNoTypeArguments; } intptr_t Class::TypeArgumentsFieldOffset(const dart::Class& klass) { - return klass.target_type_arguments_field_offset(); + return TranslateOffsetInWords(klass.type_arguments_field_offset()); } bool Class::TraceAllocation(const dart::Class& klass) { @@ -643,7 +643,7 @@ bool Heap::IsAllocatableInNewSpace(intptr_t instance_size) { } word Field::OffsetOf(const dart::Field& field) { - return field.TargetOffset(); + return TranslateOffsetInWords(field.Offset()); } word FieldTable::OffsetOf(const dart::Field& field) { @@ -651,314 +651,6 @@ word FieldTable::OffsetOf(const dart::Field& field) { dart::FieldTable::FieldOffsetFor(field.field_id())); } -word FreeListElement::FakeInstance::InstanceSize() { - return 0; -} - -word ForwardingCorpse::FakeInstance::InstanceSize() { - return 0; -} - -word Instance::NextFieldOffset() { - return TranslateOffsetInWords(dart::Instance::NextFieldOffset()); -} - -word Pointer::NextFieldOffset() { - return TranslateOffsetInWords(dart::Pointer::NextFieldOffset()); -} - -word ObjectPool::NextFieldOffset() { - return -kWordSize; -} - -word Class::NextFieldOffset() { - return -kWordSize; -} - -word Function::NextFieldOffset() { - return -kWordSize; -} - -word ICData::NextFieldOffset() { - return -kWordSize; -} - -word MegamorphicCache::NextFieldOffset() { - return -kWordSize; -} - -word SingleTargetCache::NextFieldOffset() { - return -kWordSize; -} - -word Array::NextFieldOffset() { - return -kWordSize; -} - -word GrowableObjectArray::NextFieldOffset() { - return -kWordSize; -} - -word TypedDataBase::NextFieldOffset() { - return -kWordSize; -} - -word TypedData::NextFieldOffset() { - return -kWordSize; -} - -word ExternalTypedData::NextFieldOffset() { - return -kWordSize; -} - -word TypedDataView::NextFieldOffset() { - return -kWordSize; -} - -word LinkedHashMap::NextFieldOffset() { - return -kWordSize; -} - -word Type::NextFieldOffset() { - return -kWordSize; -} - -word TypeRef::NextFieldOffset() { - return -kWordSize; -} - -word Double::NextFieldOffset() { - return -kWordSize; -} - -word Mint::NextFieldOffset() { - return -kWordSize; -} - -word String::NextFieldOffset() { - return -kWordSize; -} - -word OneByteString::NextFieldOffset() { - return -kWordSize; -} - -word TwoByteString::NextFieldOffset() { - return -kWordSize; -} - -word ExternalOneByteString::NextFieldOffset() { - return -kWordSize; -} - -word ExternalTwoByteString::NextFieldOffset() { - return -kWordSize; -} - -word Int32x4::NextFieldOffset() { - return -kWordSize; -} - -word Float32x4::NextFieldOffset() { - return -kWordSize; -} - -word Float64x2::NextFieldOffset() { - return -kWordSize; -} - -word DynamicLibrary::NextFieldOffset() { - return -kWordSize; -} - -word PatchClass::NextFieldOffset() { - return -kWordSize; -} - -word SignatureData::NextFieldOffset() { - return -kWordSize; -} - -word RedirectionData::NextFieldOffset() { - return -kWordSize; -} - -word FfiTrampolineData::NextFieldOffset() { - return -kWordSize; -} - -word Script::NextFieldOffset() { - return -kWordSize; -} - -word Library::NextFieldOffset() { - return -kWordSize; -} - -word Namespace::NextFieldOffset() { - return -kWordSize; -} - -word KernelProgramInfo::NextFieldOffset() { - return -kWordSize; -} - -word Bytecode::NextFieldOffset() { - return -kWordSize; -} - -word PcDescriptors::NextFieldOffset() { - return -kWordSize; -} - -word CodeSourceMap::NextFieldOffset() { - return -kWordSize; -} - -word CompressedStackMaps::NextFieldOffset() { - return -kWordSize; -} - -word LocalVarDescriptors::NextFieldOffset() { - return -kWordSize; -} - -word ExceptionHandlers::NextFieldOffset() { - return -kWordSize; -} - -word ContextScope::NextFieldOffset() { - return -kWordSize; -} - -word ParameterTypeCheck::NextFieldOffset() { - return -kWordSize; -} - -word UnlinkedCall::NextFieldOffset() { - return -kWordSize; -} - -word ApiError::NextFieldOffset() { - return -kWordSize; -} - -word LanguageError::NextFieldOffset() { - return -kWordSize; -} - -word UnhandledException::NextFieldOffset() { - return -kWordSize; -} - -word UnwindError::NextFieldOffset() { - return -kWordSize; -} - -word Bool::NextFieldOffset() { - return -kWordSize; -} - -word TypeParameter::NextFieldOffset() { - return -kWordSize; -} - -word LibraryPrefix::NextFieldOffset() { - return -kWordSize; -} - -word Capability::NextFieldOffset() { - return -kWordSize; -} - -word ReceivePort::NextFieldOffset() { - return -kWordSize; -} - -word SendPort::NextFieldOffset() { - return -kWordSize; -} - -word TransferableTypedData::NextFieldOffset() { - return -kWordSize; -} - -word StackTrace::NextFieldOffset() { - return -kWordSize; -} - -word Integer::NextFieldOffset() { - return -kWordSize; -} - -word Smi::NextFieldOffset() { - return -kWordSize; -} - -word WeakProperty::NextFieldOffset() { - return -kWordSize; -} - -word MirrorReference::NextFieldOffset() { - return -kWordSize; -} - -word Number::NextFieldOffset() { - return -kWordSize; -} - -word MonomorphicSmiableCall::NextFieldOffset() { - return -kWordSize; -} - -word Instructions::NextFieldOffset() { - return -kWordSize; -} - -word Code::NextFieldOffset() { - return -kWordSize; -} - -word SubtypeTestCache::NextFieldOffset() { - return -kWordSize; -} - -word Context::NextFieldOffset() { - return -kWordSize; -} - -word Closure::NextFieldOffset() { - return -kWordSize; -} - -word ClosureData::NextFieldOffset() { - return -kWordSize; -} - -word RegExp::NextFieldOffset() { - return -kWordSize; -} - -word UserTag::NextFieldOffset() { - return -kWordSize; -} - -word Field::NextFieldOffset() { - return -kWordSize; -} - -word TypeArguments::NextFieldOffset() { - return -kWordSize; -} - -word FreeListElement::FakeInstance::NextFieldOffset() { - return -kWordSize; -} - -word ForwardingCorpse::FakeInstance::NextFieldOffset() { - return -kWordSize; -} - } // namespace target } // namespace compiler } // namespace dart diff --git a/runtime/vm/compiler/runtime_api.h b/runtime/vm/compiler/runtime_api.h index 4c14afde1eaa0..c7d5b96329de8 100644 --- a/runtime/vm/compiler/runtime_api.h +++ b/runtime/vm/compiler/runtime_api.h @@ -19,7 +19,6 @@ // in compiler::target namespace. #include "platform/globals.h" -#include "platform/utils.h" #include "vm/allocation.h" #include "vm/bitfield.h" #include "vm/bss_relocs.h" @@ -286,11 +285,6 @@ extern const word kPageSize; extern const word kPageSizeInWords; extern const word kPageMask; -static constexpr intptr_t kObjectAlignment = ObjectAlignment::kObjectAlignment; - -inline intptr_t RoundedAllocationSize(intptr_t size) { - return Utils::RoundUp(size, kObjectAlignment); -} // Information about frame_layout that compiler should be targeting. extern FrameLayout frame_layout; @@ -382,15 +376,11 @@ class ObjectPool : public AllStatic { public: // Return offset to the element with the given [index] in the object pool. static word element_offset(intptr_t index); - static word InstanceSize(); - static word NextFieldOffset(); }; class Class : public AllStatic { public: - static word host_type_arguments_field_offset_in_words_offset(); - - static word target_type_arguments_field_offset_in_words_offset(); + static word type_arguments_field_offset_in_words_offset(); static word declaration_type_offset(); @@ -402,10 +392,6 @@ class Class : public AllStatic { // The value used if no type arguments vector is present. static const word kNoTypeArguments; - static word InstanceSize(); - - static word NextFieldOffset(); - // Return class id of the given class on the target. static classid_t GetId(const dart::Class& handle); @@ -432,7 +418,6 @@ class Instance : public AllStatic { static word DataOffsetFor(intptr_t cid); static word ElementSizeFor(intptr_t cid); static word InstanceSize(); - static word NextFieldOffset(); }; class Function : public AllStatic { @@ -440,8 +425,6 @@ class Function : public AllStatic { static word code_offset(); static word entry_point_offset(CodeEntryKind kind = CodeEntryKind::kNormal); static word usage_counter_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class ICData : public AllStatic { @@ -460,8 +443,6 @@ class ICData : public AllStatic { static word EntryPointIndexFor(word num_args); static word NumArgsTestedShift(); static word NumArgsTestedMask(); - static word InstanceSize(); - static word NextFieldOffset(); }; class MegamorphicCache : public AllStatic { @@ -470,8 +451,6 @@ class MegamorphicCache : public AllStatic { static word mask_offset(); static word buckets_offset(); static word arguments_descriptor_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class SingleTargetCache : public AllStatic { @@ -480,8 +459,6 @@ class SingleTargetCache : public AllStatic { static word upper_limit_offset(); static word entry_point_offset(); static word target_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class Array : public AllStatic { @@ -492,8 +469,6 @@ class Array : public AllStatic { static word type_arguments_offset(); static word length_offset(); static word element_offset(intptr_t index); - static word InstanceSize(); - static word NextFieldOffset(); static const word kMaxElements; static const word kMaxNewSpaceElements; @@ -505,7 +480,6 @@ class GrowableObjectArray : public AllStatic { static word type_arguments_offset(); static word length_offset(); static word InstanceSize(); - static word NextFieldOffset(); }; class TypedDataBase : public AllStatic { @@ -513,29 +487,23 @@ class TypedDataBase : public AllStatic { static word data_field_offset(); static word length_offset(); static word InstanceSize(); - static word NextFieldOffset(); }; class TypedData : public AllStatic { public: static word data_offset(); static word InstanceSize(); - static word NextFieldOffset(); }; class ExternalTypedData : public AllStatic { public: static word data_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class TypedDataView : public AllStatic { public: static word offset_in_bytes_offset(); static word data_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class LinkedHashMap : public AllStatic { @@ -545,9 +513,7 @@ class LinkedHashMap : public AllStatic { static word hash_mask_offset(); static word used_data_offset(); static word deleted_keys_offset(); - static word type_arguments_offset(); static word InstanceSize(); - static word NextFieldOffset(); }; class ArgumentsDescriptor : public AllStatic { @@ -564,9 +530,6 @@ class ArgumentsDescriptor : public AllStatic { class Pointer : public AllStatic { public: static word c_memory_address_offset(); - static word type_arguments_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class AbstractType : public AllStatic { @@ -582,15 +545,11 @@ class Type : public AllStatic { static word signature_offset(); static word type_class_id_offset(); static word nullability_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class TypeRef : public AllStatic { public: static word type_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class Nullability : public AllStatic { @@ -605,14 +564,12 @@ class Double : public AllStatic { public: static word value_offset(); static word InstanceSize(); - static word NextFieldOffset(); }; class Mint : public AllStatic { public: static word value_offset(); static word InstanceSize(); - static word NextFieldOffset(); }; class String : public AllStatic { @@ -622,265 +579,43 @@ class String : public AllStatic { static word hash_offset(); static word length_offset(); static word InstanceSize(); - static word NextFieldOffset(); }; class OneByteString : public AllStatic { public: static word data_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class TwoByteString : public AllStatic { public: static word data_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class ExternalOneByteString : public AllStatic { public: static word external_data_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class ExternalTwoByteString : public AllStatic { public: static word external_data_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class Int32x4 : public AllStatic { public: static word InstanceSize(); - static word NextFieldOffset(); }; class Float32x4 : public AllStatic { public: static word value_offset(); static word InstanceSize(); - static word NextFieldOffset(); }; class Float64x2 : public AllStatic { public: static word value_offset(); static word InstanceSize(); - static word NextFieldOffset(); -}; - -class DynamicLibrary : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class PatchClass : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class SignatureData : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class RedirectionData : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class FfiTrampolineData : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class Script : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class Library : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class Namespace : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class KernelProgramInfo : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class Bytecode : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class PcDescriptors : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class CodeSourceMap : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class CompressedStackMaps : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class LocalVarDescriptors : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class ExceptionHandlers : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class ContextScope : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class ParameterTypeCheck : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class UnlinkedCall : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class ApiError : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class LanguageError : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class UnhandledException : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class UnwindError : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class Bool : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class TypeParameter : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class LibraryPrefix : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class Capability : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class ReceivePort : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class SendPort : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class TransferableTypedData : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class StackTrace : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class Integer : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class Smi : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class WeakProperty : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class MirrorReference : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class Number : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); }; class TimelineStream : public AllStatic { @@ -898,8 +633,6 @@ class MonomorphicSmiableCall : public AllStatic { static word expected_cid_offset(); static word entrypoint_offset(); static word target_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class Thread : public AllStatic { @@ -1070,8 +803,6 @@ class Instructions : public AllStatic { static const word kPolymorphicEntryOffsetAOT; static word HeaderSize(); static word UnalignedHeaderSize(); - static word InstanceSize(); - static word NextFieldOffset(); }; class Code : public AllStatic { @@ -1084,8 +815,6 @@ class Code : public AllStatic { static word entry_point_offset(CodeEntryKind kind = CodeEntryKind::kNormal); static word saved_instructions_offset(); static word owner_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class SubtypeTestCache : public AllStatic { @@ -1100,8 +829,6 @@ class SubtypeTestCache : public AllStatic { static const word kInstanceParentFunctionTypeArguments; static const word kInstanceDelayedFunctionTypeArguments; static const word kTestResult; - static word InstanceSize(); - static word NextFieldOffset(); }; class Context : public AllStatic { @@ -1111,8 +838,6 @@ class Context : public AllStatic { static word num_variables_offset(); static word variable_offset(word i); static word InstanceSize(word n); - static word InstanceSize(); - static word NextFieldOffset(); }; class Closure : public AllStatic { @@ -1124,13 +849,6 @@ class Closure : public AllStatic { static word instantiator_type_arguments_offset(); static word hash_offset(); static word InstanceSize(); - static word NextFieldOffset(); -}; - -class ClosureData : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); }; class HeapPage : public AllStatic { @@ -1165,15 +883,11 @@ class NativeEntry { class RegExp : public AllStatic { public: static word function_offset(classid_t cid, bool sticky); - static word InstanceSize(); - static word NextFieldOffset(); }; class UserTag : public AllStatic { public: static word tag_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class Symbols : public AllStatic { @@ -1192,34 +906,12 @@ class Field : public AllStatic { static word is_nullable_offset(); static word static_value_offset(); static word kind_bits_offset(); - static word InstanceSize(); - static word NextFieldOffset(); }; class TypeArguments : public AllStatic { public: static word instantiations_offset(); static word type_at_offset(intptr_t i); - static word InstanceSize(); - static word NextFieldOffset(); -}; - -class FreeListElement : public AllStatic { - public: - class FakeInstance : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); - }; -}; - -class ForwardingCorpse : public AllStatic { - public: - class FakeInstance : public AllStatic { - public: - static word InstanceSize(); - static word NextFieldOffset(); - }; }; class FieldTable : public AllStatic { diff --git a/runtime/vm/compiler/runtime_offsets_extracted.h b/runtime/vm/compiler/runtime_offsets_extracted.h index 1a72097f1a5b4..56174579e9a9c 100644 --- a/runtime/vm/compiler/runtime_offsets_extracted.h +++ b/runtime/vm/compiler/runtime_offsets_extracted.h @@ -74,10 +74,10 @@ static constexpr dart::compiler::target::word Array_type_arguments_offset = 4; static constexpr dart::compiler::target::word Class_declaration_type_offset = 56; static constexpr dart::compiler::target::word Class_num_type_arguments_offset = - 90; + 102; static constexpr dart::compiler::target::word Class_super_type_offset = 44; static constexpr dart::compiler::target::word - Class_host_type_arguments_field_offset_in_words_offset = 104; + Class_type_arguments_field_offset_in_words_offset = 92; static constexpr dart::compiler::target::word ClassTable_shared_class_table_offset = 16; static constexpr dart::compiler::target::word ClassTable_table_offset = 8; @@ -111,7 +111,7 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word Field_guarded_list_length_offset = 24; static constexpr dart::compiler::target::word Field_is_nullable_offset = 46; -static constexpr dart::compiler::target::word Field_kind_bits_offset = 54; +static constexpr dart::compiler::target::word Field_kind_bits_offset = 60; static constexpr dart::compiler::target::word Function_code_offset = 44; static constexpr dart::compiler::target::word Function_entry_point_offset[] = { 4, 8}; @@ -146,8 +146,6 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word LinkedHashMap_hash_mask_offset = 12; static constexpr dart::compiler::target::word LinkedHashMap_index_offset = 8; -static constexpr dart::compiler::target::word - LinkedHashMap_type_arguments_offset = 4; static constexpr dart::compiler::target::word LinkedHashMap_used_data_offset = 20; static constexpr dart::compiler::target::word @@ -173,7 +171,6 @@ static constexpr dart::compiler::target::word ObjectStore_string_type_offset = static constexpr dart::compiler::target::word OneByteString_data_offset = 12; static constexpr dart::compiler::target::word Pointer_c_memory_address_offset = 8; -static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 4; static constexpr dart::compiler::target::word SingleTargetCache_entry_point_offset = 8; static constexpr dart::compiler::target::word @@ -392,81 +389,6 @@ static constexpr dart::compiler::target::word Closure_InstanceSize = 28; static constexpr dart::compiler::target::word GrowableObjectArray_InstanceSize = 16; static constexpr dart::compiler::target::word Instance_InstanceSize = 4; -static constexpr dart::compiler::target::word Class_InstanceSize = 128; -static constexpr dart::compiler::target::word DynamicLibrary_InstanceSize = 8; -static constexpr dart::compiler::target::word TypeArguments_InstanceSize = 16; -static constexpr dart::compiler::target::word ClosureData_InstanceSize = 20; -static constexpr dart::compiler::target::word Context_InstanceSize = 12; -static constexpr dart::compiler::target::word PatchClass_InstanceSize = 24; -static constexpr dart::compiler::target::word OneByteString_InstanceSize = 12; -static constexpr dart::compiler::target::word TwoByteString_InstanceSize = 12; -static constexpr dart::compiler::target::word - ExternalOneByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word - ExternalTwoByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word TypedDataView_InstanceSize = 20; -static constexpr dart::compiler::target::word ExternalTypedData_InstanceSize = - 12; -static constexpr dart::compiler::target::word Pointer_InstanceSize = 12; -static constexpr dart::compiler::target::word SignatureData_InstanceSize = 12; -static constexpr dart::compiler::target::word RedirectionData_InstanceSize = 16; -static constexpr dart::compiler::target::word FfiTrampolineData_InstanceSize = - 24; -static constexpr dart::compiler::target::word Script_InstanceSize = 56; -static constexpr dart::compiler::target::word Library_InstanceSize = 76; -static constexpr dart::compiler::target::word Namespace_InstanceSize = 20; -static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize = - 64; -static constexpr dart::compiler::target::word Bytecode_InstanceSize = 48; -static constexpr dart::compiler::target::word PcDescriptors_InstanceSize = 8; -static constexpr dart::compiler::target::word CodeSourceMap_InstanceSize = 8; -static constexpr dart::compiler::target::word CompressedStackMaps_InstanceSize = - 8; -static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize = - 8; -static constexpr dart::compiler::target::word ExceptionHandlers_InstanceSize = - 12; -static constexpr dart::compiler::target::word ContextScope_InstanceSize = 12; -static constexpr dart::compiler::target::word ParameterTypeCheck_InstanceSize = - 24; -static constexpr dart::compiler::target::word UnlinkedCall_InstanceSize = 16; -static constexpr dart::compiler::target::word ApiError_InstanceSize = 8; -static constexpr dart::compiler::target::word LanguageError_InstanceSize = 28; -static constexpr dart::compiler::target::word UnhandledException_InstanceSize = - 12; -static constexpr dart::compiler::target::word UnwindError_InstanceSize = 12; -static constexpr dart::compiler::target::word Bool_InstanceSize = 8; -static constexpr dart::compiler::target::word TypeParameter_InstanceSize = 40; -static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 20; -static constexpr dart::compiler::target::word Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word ReceivePort_InstanceSize = 12; -static constexpr dart::compiler::target::word SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - TransferableTypedData_InstanceSize = 4; -static constexpr dart::compiler::target::word StackTrace_InstanceSize = 20; -static constexpr dart::compiler::target::word Integer_InstanceSize = 4; -static constexpr dart::compiler::target::word Smi_InstanceSize = 4; -static constexpr dart::compiler::target::word WeakProperty_InstanceSize = 16; -static constexpr dart::compiler::target::word MirrorReference_InstanceSize = 8; -static constexpr dart::compiler::target::word Number_InstanceSize = 4; -static constexpr dart::compiler::target::word Function_InstanceSize = 88; -static constexpr dart::compiler::target::word Field_InstanceSize = 64; -static constexpr dart::compiler::target::word Code_InstanceSize = 96; -static constexpr dart::compiler::target::word Instructions_InstanceSize = 8; -static constexpr dart::compiler::target::word ObjectPool_InstanceSize = 8; -static constexpr dart::compiler::target::word SingleTargetCache_InstanceSize = - 16; -static constexpr dart::compiler::target::word - MonomorphicSmiableCall_InstanceSize = 16; -static constexpr dart::compiler::target::word ICData_InstanceSize = 32; -static constexpr dart::compiler::target::word MegamorphicCache_InstanceSize = - 24; -static constexpr dart::compiler::target::word SubtypeTestCache_InstanceSize = 8; -static constexpr dart::compiler::target::word Array_InstanceSize = 12; -static constexpr dart::compiler::target::word Type_InstanceSize = 36; -static constexpr dart::compiler::target::word TypeRef_InstanceSize = 16; -static constexpr dart::compiler::target::word RegExp_InstanceSize = 60; -static constexpr dart::compiler::target::word UserTag_InstanceSize = 12; static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 28; #endif // defined(TARGET_ARCH_ARM) @@ -529,10 +451,10 @@ static constexpr dart::compiler::target::word Array_type_arguments_offset = 8; static constexpr dart::compiler::target::word Class_declaration_type_offset = 112; static constexpr dart::compiler::target::word Class_num_type_arguments_offset = - 170; + 182; static constexpr dart::compiler::target::word Class_super_type_offset = 88; static constexpr dart::compiler::target::word - Class_host_type_arguments_field_offset_in_words_offset = 184; + Class_type_arguments_field_offset_in_words_offset = 172; static constexpr dart::compiler::target::word ClassTable_shared_class_table_offset = 32; static constexpr dart::compiler::target::word ClassTable_table_offset = 16; @@ -566,7 +488,7 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word Field_guarded_list_length_offset = 48; static constexpr dart::compiler::target::word Field_is_nullable_offset = 82; -static constexpr dart::compiler::target::word Field_kind_bits_offset = 90; +static constexpr dart::compiler::target::word Field_kind_bits_offset = 104; static constexpr dart::compiler::target::word Function_code_offset = 88; static constexpr dart::compiler::target::word Function_entry_point_offset[] = { 8, 16}; @@ -601,8 +523,6 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word LinkedHashMap_hash_mask_offset = 24; static constexpr dart::compiler::target::word LinkedHashMap_index_offset = 16; -static constexpr dart::compiler::target::word - LinkedHashMap_type_arguments_offset = 8; static constexpr dart::compiler::target::word LinkedHashMap_used_data_offset = 40; static constexpr dart::compiler::target::word @@ -628,7 +548,6 @@ static constexpr dart::compiler::target::word ObjectStore_string_type_offset = static constexpr dart::compiler::target::word OneByteString_data_offset = 16; static constexpr dart::compiler::target::word Pointer_c_memory_address_offset = 16; -static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8; static constexpr dart::compiler::target::word SingleTargetCache_entry_point_offset = 16; static constexpr dart::compiler::target::word @@ -849,82 +768,6 @@ static constexpr dart::compiler::target::word Closure_InstanceSize = 56; static constexpr dart::compiler::target::word GrowableObjectArray_InstanceSize = 32; static constexpr dart::compiler::target::word Instance_InstanceSize = 8; -static constexpr dart::compiler::target::word Class_InstanceSize = 208; -static constexpr dart::compiler::target::word DynamicLibrary_InstanceSize = 16; -static constexpr dart::compiler::target::word TypeArguments_InstanceSize = 32; -static constexpr dart::compiler::target::word ClosureData_InstanceSize = 40; -static constexpr dart::compiler::target::word Context_InstanceSize = 24; -static constexpr dart::compiler::target::word PatchClass_InstanceSize = 48; -static constexpr dart::compiler::target::word OneByteString_InstanceSize = 16; -static constexpr dart::compiler::target::word TwoByteString_InstanceSize = 16; -static constexpr dart::compiler::target::word - ExternalOneByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word - ExternalTwoByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word TypedDataView_InstanceSize = 40; -static constexpr dart::compiler::target::word ExternalTypedData_InstanceSize = - 24; -static constexpr dart::compiler::target::word Pointer_InstanceSize = 24; -static constexpr dart::compiler::target::word SignatureData_InstanceSize = 24; -static constexpr dart::compiler::target::word RedirectionData_InstanceSize = 32; -static constexpr dart::compiler::target::word FfiTrampolineData_InstanceSize = - 48; -static constexpr dart::compiler::target::word Script_InstanceSize = 96; -static constexpr dart::compiler::target::word Library_InstanceSize = 144; -static constexpr dart::compiler::target::word Namespace_InstanceSize = 40; -static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize = - 128; -static constexpr dart::compiler::target::word Bytecode_InstanceSize = 88; -static constexpr dart::compiler::target::word PcDescriptors_InstanceSize = 16; -static constexpr dart::compiler::target::word CodeSourceMap_InstanceSize = 16; -static constexpr dart::compiler::target::word CompressedStackMaps_InstanceSize = - 12; -static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize = - 16; -static constexpr dart::compiler::target::word ExceptionHandlers_InstanceSize = - 24; -static constexpr dart::compiler::target::word ContextScope_InstanceSize = 16; -static constexpr dart::compiler::target::word ParameterTypeCheck_InstanceSize = - 48; -static constexpr dart::compiler::target::word UnlinkedCall_InstanceSize = 32; -static constexpr dart::compiler::target::word ApiError_InstanceSize = 16; -static constexpr dart::compiler::target::word LanguageError_InstanceSize = 48; -static constexpr dart::compiler::target::word UnhandledException_InstanceSize = - 24; -static constexpr dart::compiler::target::word UnwindError_InstanceSize = 24; -static constexpr dart::compiler::target::word Bool_InstanceSize = 12; -static constexpr dart::compiler::target::word TypeParameter_InstanceSize = 72; -static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 40; -static constexpr dart::compiler::target::word Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word ReceivePort_InstanceSize = 24; -static constexpr dart::compiler::target::word SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - TransferableTypedData_InstanceSize = 8; -static constexpr dart::compiler::target::word StackTrace_InstanceSize = 40; -static constexpr dart::compiler::target::word Integer_InstanceSize = 8; -static constexpr dart::compiler::target::word Smi_InstanceSize = 8; -static constexpr dart::compiler::target::word WeakProperty_InstanceSize = 32; -static constexpr dart::compiler::target::word MirrorReference_InstanceSize = 16; -static constexpr dart::compiler::target::word Number_InstanceSize = 8; -static constexpr dart::compiler::target::word Function_InstanceSize = 144; -static constexpr dart::compiler::target::word Field_InstanceSize = 112; -static constexpr dart::compiler::target::word Code_InstanceSize = 176; -static constexpr dart::compiler::target::word Instructions_InstanceSize = 12; -static constexpr dart::compiler::target::word ObjectPool_InstanceSize = 16; -static constexpr dart::compiler::target::word SingleTargetCache_InstanceSize = - 32; -static constexpr dart::compiler::target::word - MonomorphicSmiableCall_InstanceSize = 32; -static constexpr dart::compiler::target::word ICData_InstanceSize = 56; -static constexpr dart::compiler::target::word MegamorphicCache_InstanceSize = - 48; -static constexpr dart::compiler::target::word SubtypeTestCache_InstanceSize = - 16; -static constexpr dart::compiler::target::word Array_InstanceSize = 24; -static constexpr dart::compiler::target::word Type_InstanceSize = 64; -static constexpr dart::compiler::target::word TypeRef_InstanceSize = 32; -static constexpr dart::compiler::target::word RegExp_InstanceSize = 120; -static constexpr dart::compiler::target::word UserTag_InstanceSize = 24; static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 56; #endif // defined(TARGET_ARCH_X64) @@ -985,10 +828,10 @@ static constexpr dart::compiler::target::word Array_type_arguments_offset = 4; static constexpr dart::compiler::target::word Class_declaration_type_offset = 56; static constexpr dart::compiler::target::word Class_num_type_arguments_offset = - 90; + 102; static constexpr dart::compiler::target::word Class_super_type_offset = 44; static constexpr dart::compiler::target::word - Class_host_type_arguments_field_offset_in_words_offset = 104; + Class_type_arguments_field_offset_in_words_offset = 92; static constexpr dart::compiler::target::word ClassTable_shared_class_table_offset = 16; static constexpr dart::compiler::target::word ClassTable_table_offset = 8; @@ -1022,7 +865,7 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word Field_guarded_list_length_offset = 24; static constexpr dart::compiler::target::word Field_is_nullable_offset = 46; -static constexpr dart::compiler::target::word Field_kind_bits_offset = 54; +static constexpr dart::compiler::target::word Field_kind_bits_offset = 60; static constexpr dart::compiler::target::word Function_code_offset = 44; static constexpr dart::compiler::target::word Function_entry_point_offset[] = { 4, 8}; @@ -1057,8 +900,6 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word LinkedHashMap_hash_mask_offset = 12; static constexpr dart::compiler::target::word LinkedHashMap_index_offset = 8; -static constexpr dart::compiler::target::word - LinkedHashMap_type_arguments_offset = 4; static constexpr dart::compiler::target::word LinkedHashMap_used_data_offset = 20; static constexpr dart::compiler::target::word @@ -1084,7 +925,6 @@ static constexpr dart::compiler::target::word ObjectStore_string_type_offset = static constexpr dart::compiler::target::word OneByteString_data_offset = 12; static constexpr dart::compiler::target::word Pointer_c_memory_address_offset = 8; -static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 4; static constexpr dart::compiler::target::word SingleTargetCache_entry_point_offset = 8; static constexpr dart::compiler::target::word @@ -1299,81 +1139,6 @@ static constexpr dart::compiler::target::word Closure_InstanceSize = 28; static constexpr dart::compiler::target::word GrowableObjectArray_InstanceSize = 16; static constexpr dart::compiler::target::word Instance_InstanceSize = 4; -static constexpr dart::compiler::target::word Class_InstanceSize = 128; -static constexpr dart::compiler::target::word DynamicLibrary_InstanceSize = 8; -static constexpr dart::compiler::target::word TypeArguments_InstanceSize = 16; -static constexpr dart::compiler::target::word ClosureData_InstanceSize = 20; -static constexpr dart::compiler::target::word Context_InstanceSize = 12; -static constexpr dart::compiler::target::word PatchClass_InstanceSize = 24; -static constexpr dart::compiler::target::word OneByteString_InstanceSize = 12; -static constexpr dart::compiler::target::word TwoByteString_InstanceSize = 12; -static constexpr dart::compiler::target::word - ExternalOneByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word - ExternalTwoByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word TypedDataView_InstanceSize = 20; -static constexpr dart::compiler::target::word ExternalTypedData_InstanceSize = - 12; -static constexpr dart::compiler::target::word Pointer_InstanceSize = 12; -static constexpr dart::compiler::target::word SignatureData_InstanceSize = 12; -static constexpr dart::compiler::target::word RedirectionData_InstanceSize = 16; -static constexpr dart::compiler::target::word FfiTrampolineData_InstanceSize = - 24; -static constexpr dart::compiler::target::word Script_InstanceSize = 56; -static constexpr dart::compiler::target::word Library_InstanceSize = 76; -static constexpr dart::compiler::target::word Namespace_InstanceSize = 20; -static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize = - 64; -static constexpr dart::compiler::target::word Bytecode_InstanceSize = 48; -static constexpr dart::compiler::target::word PcDescriptors_InstanceSize = 8; -static constexpr dart::compiler::target::word CodeSourceMap_InstanceSize = 8; -static constexpr dart::compiler::target::word CompressedStackMaps_InstanceSize = - 8; -static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize = - 8; -static constexpr dart::compiler::target::word ExceptionHandlers_InstanceSize = - 12; -static constexpr dart::compiler::target::word ContextScope_InstanceSize = 12; -static constexpr dart::compiler::target::word ParameterTypeCheck_InstanceSize = - 24; -static constexpr dart::compiler::target::word UnlinkedCall_InstanceSize = 16; -static constexpr dart::compiler::target::word ApiError_InstanceSize = 8; -static constexpr dart::compiler::target::word LanguageError_InstanceSize = 28; -static constexpr dart::compiler::target::word UnhandledException_InstanceSize = - 12; -static constexpr dart::compiler::target::word UnwindError_InstanceSize = 12; -static constexpr dart::compiler::target::word Bool_InstanceSize = 8; -static constexpr dart::compiler::target::word TypeParameter_InstanceSize = 40; -static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 20; -static constexpr dart::compiler::target::word Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word ReceivePort_InstanceSize = 12; -static constexpr dart::compiler::target::word SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - TransferableTypedData_InstanceSize = 4; -static constexpr dart::compiler::target::word StackTrace_InstanceSize = 20; -static constexpr dart::compiler::target::word Integer_InstanceSize = 4; -static constexpr dart::compiler::target::word Smi_InstanceSize = 4; -static constexpr dart::compiler::target::word WeakProperty_InstanceSize = 16; -static constexpr dart::compiler::target::word MirrorReference_InstanceSize = 8; -static constexpr dart::compiler::target::word Number_InstanceSize = 4; -static constexpr dart::compiler::target::word Function_InstanceSize = 88; -static constexpr dart::compiler::target::word Field_InstanceSize = 64; -static constexpr dart::compiler::target::word Code_InstanceSize = 96; -static constexpr dart::compiler::target::word Instructions_InstanceSize = 8; -static constexpr dart::compiler::target::word ObjectPool_InstanceSize = 8; -static constexpr dart::compiler::target::word SingleTargetCache_InstanceSize = - 16; -static constexpr dart::compiler::target::word - MonomorphicSmiableCall_InstanceSize = 16; -static constexpr dart::compiler::target::word ICData_InstanceSize = 32; -static constexpr dart::compiler::target::word MegamorphicCache_InstanceSize = - 24; -static constexpr dart::compiler::target::word SubtypeTestCache_InstanceSize = 8; -static constexpr dart::compiler::target::word Array_InstanceSize = 12; -static constexpr dart::compiler::target::word Type_InstanceSize = 36; -static constexpr dart::compiler::target::word TypeRef_InstanceSize = 16; -static constexpr dart::compiler::target::word RegExp_InstanceSize = 60; -static constexpr dart::compiler::target::word UserTag_InstanceSize = 12; static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 28; #endif // defined(TARGET_ARCH_IA32) @@ -1436,10 +1201,10 @@ static constexpr dart::compiler::target::word Array_type_arguments_offset = 8; static constexpr dart::compiler::target::word Class_declaration_type_offset = 112; static constexpr dart::compiler::target::word Class_num_type_arguments_offset = - 170; + 182; static constexpr dart::compiler::target::word Class_super_type_offset = 88; static constexpr dart::compiler::target::word - Class_host_type_arguments_field_offset_in_words_offset = 184; + Class_type_arguments_field_offset_in_words_offset = 172; static constexpr dart::compiler::target::word ClassTable_shared_class_table_offset = 32; static constexpr dart::compiler::target::word ClassTable_table_offset = 16; @@ -1473,7 +1238,7 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word Field_guarded_list_length_offset = 48; static constexpr dart::compiler::target::word Field_is_nullable_offset = 82; -static constexpr dart::compiler::target::word Field_kind_bits_offset = 90; +static constexpr dart::compiler::target::word Field_kind_bits_offset = 104; static constexpr dart::compiler::target::word Function_code_offset = 88; static constexpr dart::compiler::target::word Function_entry_point_offset[] = { 8, 16}; @@ -1508,8 +1273,6 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word LinkedHashMap_hash_mask_offset = 24; static constexpr dart::compiler::target::word LinkedHashMap_index_offset = 16; -static constexpr dart::compiler::target::word - LinkedHashMap_type_arguments_offset = 8; static constexpr dart::compiler::target::word LinkedHashMap_used_data_offset = 40; static constexpr dart::compiler::target::word @@ -1535,7 +1298,6 @@ static constexpr dart::compiler::target::word ObjectStore_string_type_offset = static constexpr dart::compiler::target::word OneByteString_data_offset = 16; static constexpr dart::compiler::target::word Pointer_c_memory_address_offset = 16; -static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8; static constexpr dart::compiler::target::word SingleTargetCache_entry_point_offset = 16; static constexpr dart::compiler::target::word @@ -1757,82 +1519,6 @@ static constexpr dart::compiler::target::word Closure_InstanceSize = 56; static constexpr dart::compiler::target::word GrowableObjectArray_InstanceSize = 32; static constexpr dart::compiler::target::word Instance_InstanceSize = 8; -static constexpr dart::compiler::target::word Class_InstanceSize = 208; -static constexpr dart::compiler::target::word DynamicLibrary_InstanceSize = 16; -static constexpr dart::compiler::target::word TypeArguments_InstanceSize = 32; -static constexpr dart::compiler::target::word ClosureData_InstanceSize = 40; -static constexpr dart::compiler::target::word Context_InstanceSize = 24; -static constexpr dart::compiler::target::word PatchClass_InstanceSize = 48; -static constexpr dart::compiler::target::word OneByteString_InstanceSize = 16; -static constexpr dart::compiler::target::word TwoByteString_InstanceSize = 16; -static constexpr dart::compiler::target::word - ExternalOneByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word - ExternalTwoByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word TypedDataView_InstanceSize = 40; -static constexpr dart::compiler::target::word ExternalTypedData_InstanceSize = - 24; -static constexpr dart::compiler::target::word Pointer_InstanceSize = 24; -static constexpr dart::compiler::target::word SignatureData_InstanceSize = 24; -static constexpr dart::compiler::target::word RedirectionData_InstanceSize = 32; -static constexpr dart::compiler::target::word FfiTrampolineData_InstanceSize = - 48; -static constexpr dart::compiler::target::word Script_InstanceSize = 96; -static constexpr dart::compiler::target::word Library_InstanceSize = 144; -static constexpr dart::compiler::target::word Namespace_InstanceSize = 40; -static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize = - 128; -static constexpr dart::compiler::target::word Bytecode_InstanceSize = 88; -static constexpr dart::compiler::target::word PcDescriptors_InstanceSize = 16; -static constexpr dart::compiler::target::word CodeSourceMap_InstanceSize = 16; -static constexpr dart::compiler::target::word CompressedStackMaps_InstanceSize = - 12; -static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize = - 16; -static constexpr dart::compiler::target::word ExceptionHandlers_InstanceSize = - 24; -static constexpr dart::compiler::target::word ContextScope_InstanceSize = 16; -static constexpr dart::compiler::target::word ParameterTypeCheck_InstanceSize = - 48; -static constexpr dart::compiler::target::word UnlinkedCall_InstanceSize = 32; -static constexpr dart::compiler::target::word ApiError_InstanceSize = 16; -static constexpr dart::compiler::target::word LanguageError_InstanceSize = 48; -static constexpr dart::compiler::target::word UnhandledException_InstanceSize = - 24; -static constexpr dart::compiler::target::word UnwindError_InstanceSize = 24; -static constexpr dart::compiler::target::word Bool_InstanceSize = 12; -static constexpr dart::compiler::target::word TypeParameter_InstanceSize = 72; -static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 40; -static constexpr dart::compiler::target::word Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word ReceivePort_InstanceSize = 24; -static constexpr dart::compiler::target::word SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - TransferableTypedData_InstanceSize = 8; -static constexpr dart::compiler::target::word StackTrace_InstanceSize = 40; -static constexpr dart::compiler::target::word Integer_InstanceSize = 8; -static constexpr dart::compiler::target::word Smi_InstanceSize = 8; -static constexpr dart::compiler::target::word WeakProperty_InstanceSize = 32; -static constexpr dart::compiler::target::word MirrorReference_InstanceSize = 16; -static constexpr dart::compiler::target::word Number_InstanceSize = 8; -static constexpr dart::compiler::target::word Function_InstanceSize = 144; -static constexpr dart::compiler::target::word Field_InstanceSize = 112; -static constexpr dart::compiler::target::word Code_InstanceSize = 176; -static constexpr dart::compiler::target::word Instructions_InstanceSize = 12; -static constexpr dart::compiler::target::word ObjectPool_InstanceSize = 16; -static constexpr dart::compiler::target::word SingleTargetCache_InstanceSize = - 32; -static constexpr dart::compiler::target::word - MonomorphicSmiableCall_InstanceSize = 32; -static constexpr dart::compiler::target::word ICData_InstanceSize = 56; -static constexpr dart::compiler::target::word MegamorphicCache_InstanceSize = - 48; -static constexpr dart::compiler::target::word SubtypeTestCache_InstanceSize = - 16; -static constexpr dart::compiler::target::word Array_InstanceSize = 24; -static constexpr dart::compiler::target::word Type_InstanceSize = 64; -static constexpr dart::compiler::target::word TypeRef_InstanceSize = 32; -static constexpr dart::compiler::target::word RegExp_InstanceSize = 120; -static constexpr dart::compiler::target::word UserTag_InstanceSize = 24; static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 56; #endif // defined(TARGET_ARCH_ARM64) @@ -1895,10 +1581,10 @@ static constexpr dart::compiler::target::word Array_type_arguments_offset = 4; static constexpr dart::compiler::target::word Class_declaration_type_offset = 56; static constexpr dart::compiler::target::word Class_num_type_arguments_offset = - 90; + 102; static constexpr dart::compiler::target::word Class_super_type_offset = 44; static constexpr dart::compiler::target::word - Class_host_type_arguments_field_offset_in_words_offset = 104; + Class_type_arguments_field_offset_in_words_offset = 92; static constexpr dart::compiler::target::word ClassTable_shared_class_table_offset = 16; static constexpr dart::compiler::target::word ClassTable_table_offset = 8; @@ -1930,7 +1616,7 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word Field_guarded_list_length_offset = 24; static constexpr dart::compiler::target::word Field_is_nullable_offset = 46; -static constexpr dart::compiler::target::word Field_kind_bits_offset = 54; +static constexpr dart::compiler::target::word Field_kind_bits_offset = 60; static constexpr dart::compiler::target::word Function_code_offset = 44; static constexpr dart::compiler::target::word Function_entry_point_offset[] = { 4, 8}; @@ -1964,8 +1650,6 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word LinkedHashMap_hash_mask_offset = 12; static constexpr dart::compiler::target::word LinkedHashMap_index_offset = 8; -static constexpr dart::compiler::target::word - LinkedHashMap_type_arguments_offset = 4; static constexpr dart::compiler::target::word LinkedHashMap_used_data_offset = 20; static constexpr dart::compiler::target::word @@ -1991,7 +1675,6 @@ static constexpr dart::compiler::target::word ObjectStore_string_type_offset = static constexpr dart::compiler::target::word OneByteString_data_offset = 12; static constexpr dart::compiler::target::word Pointer_c_memory_address_offset = 8; -static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 4; static constexpr dart::compiler::target::word SingleTargetCache_entry_point_offset = 8; static constexpr dart::compiler::target::word @@ -2207,81 +1890,6 @@ static constexpr dart::compiler::target::word Closure_InstanceSize = 28; static constexpr dart::compiler::target::word GrowableObjectArray_InstanceSize = 16; static constexpr dart::compiler::target::word Instance_InstanceSize = 4; -static constexpr dart::compiler::target::word Class_InstanceSize = 128; -static constexpr dart::compiler::target::word DynamicLibrary_InstanceSize = 8; -static constexpr dart::compiler::target::word TypeArguments_InstanceSize = 16; -static constexpr dart::compiler::target::word ClosureData_InstanceSize = 20; -static constexpr dart::compiler::target::word Context_InstanceSize = 12; -static constexpr dart::compiler::target::word PatchClass_InstanceSize = 24; -static constexpr dart::compiler::target::word OneByteString_InstanceSize = 12; -static constexpr dart::compiler::target::word TwoByteString_InstanceSize = 12; -static constexpr dart::compiler::target::word - ExternalOneByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word - ExternalTwoByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word TypedDataView_InstanceSize = 20; -static constexpr dart::compiler::target::word ExternalTypedData_InstanceSize = - 12; -static constexpr dart::compiler::target::word Pointer_InstanceSize = 12; -static constexpr dart::compiler::target::word SignatureData_InstanceSize = 12; -static constexpr dart::compiler::target::word RedirectionData_InstanceSize = 16; -static constexpr dart::compiler::target::word FfiTrampolineData_InstanceSize = - 24; -static constexpr dart::compiler::target::word Script_InstanceSize = 56; -static constexpr dart::compiler::target::word Library_InstanceSize = 76; -static constexpr dart::compiler::target::word Namespace_InstanceSize = 20; -static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize = - 64; -static constexpr dart::compiler::target::word Bytecode_InstanceSize = 44; -static constexpr dart::compiler::target::word PcDescriptors_InstanceSize = 8; -static constexpr dart::compiler::target::word CodeSourceMap_InstanceSize = 8; -static constexpr dart::compiler::target::word CompressedStackMaps_InstanceSize = - 8; -static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize = - 8; -static constexpr dart::compiler::target::word ExceptionHandlers_InstanceSize = - 12; -static constexpr dart::compiler::target::word ContextScope_InstanceSize = 12; -static constexpr dart::compiler::target::word ParameterTypeCheck_InstanceSize = - 24; -static constexpr dart::compiler::target::word UnlinkedCall_InstanceSize = 16; -static constexpr dart::compiler::target::word ApiError_InstanceSize = 8; -static constexpr dart::compiler::target::word LanguageError_InstanceSize = 28; -static constexpr dart::compiler::target::word UnhandledException_InstanceSize = - 12; -static constexpr dart::compiler::target::word UnwindError_InstanceSize = 12; -static constexpr dart::compiler::target::word Bool_InstanceSize = 8; -static constexpr dart::compiler::target::word TypeParameter_InstanceSize = 40; -static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 20; -static constexpr dart::compiler::target::word Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word ReceivePort_InstanceSize = 12; -static constexpr dart::compiler::target::word SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - TransferableTypedData_InstanceSize = 4; -static constexpr dart::compiler::target::word StackTrace_InstanceSize = 20; -static constexpr dart::compiler::target::word Integer_InstanceSize = 4; -static constexpr dart::compiler::target::word Smi_InstanceSize = 4; -static constexpr dart::compiler::target::word WeakProperty_InstanceSize = 16; -static constexpr dart::compiler::target::word MirrorReference_InstanceSize = 8; -static constexpr dart::compiler::target::word Number_InstanceSize = 4; -static constexpr dart::compiler::target::word Function_InstanceSize = 88; -static constexpr dart::compiler::target::word Field_InstanceSize = 64; -static constexpr dart::compiler::target::word Code_InstanceSize = 76; -static constexpr dart::compiler::target::word Instructions_InstanceSize = 8; -static constexpr dart::compiler::target::word ObjectPool_InstanceSize = 8; -static constexpr dart::compiler::target::word SingleTargetCache_InstanceSize = - 16; -static constexpr dart::compiler::target::word - MonomorphicSmiableCall_InstanceSize = 16; -static constexpr dart::compiler::target::word ICData_InstanceSize = 32; -static constexpr dart::compiler::target::word MegamorphicCache_InstanceSize = - 24; -static constexpr dart::compiler::target::word SubtypeTestCache_InstanceSize = 8; -static constexpr dart::compiler::target::word Array_InstanceSize = 12; -static constexpr dart::compiler::target::word Type_InstanceSize = 36; -static constexpr dart::compiler::target::word TypeRef_InstanceSize = 16; -static constexpr dart::compiler::target::word RegExp_InstanceSize = 60; -static constexpr dart::compiler::target::word UserTag_InstanceSize = 12; static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 28; #endif // defined(TARGET_ARCH_ARM) @@ -2344,10 +1952,10 @@ static constexpr dart::compiler::target::word Array_type_arguments_offset = 8; static constexpr dart::compiler::target::word Class_declaration_type_offset = 112; static constexpr dart::compiler::target::word Class_num_type_arguments_offset = - 170; + 182; static constexpr dart::compiler::target::word Class_super_type_offset = 88; static constexpr dart::compiler::target::word - Class_host_type_arguments_field_offset_in_words_offset = 184; + Class_type_arguments_field_offset_in_words_offset = 172; static constexpr dart::compiler::target::word ClassTable_shared_class_table_offset = 32; static constexpr dart::compiler::target::word ClassTable_table_offset = 16; @@ -2379,7 +1987,7 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word Field_guarded_list_length_offset = 48; static constexpr dart::compiler::target::word Field_is_nullable_offset = 82; -static constexpr dart::compiler::target::word Field_kind_bits_offset = 90; +static constexpr dart::compiler::target::word Field_kind_bits_offset = 104; static constexpr dart::compiler::target::word Function_code_offset = 88; static constexpr dart::compiler::target::word Function_entry_point_offset[] = { 8, 16}; @@ -2413,8 +2021,6 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word LinkedHashMap_hash_mask_offset = 24; static constexpr dart::compiler::target::word LinkedHashMap_index_offset = 16; -static constexpr dart::compiler::target::word - LinkedHashMap_type_arguments_offset = 8; static constexpr dart::compiler::target::word LinkedHashMap_used_data_offset = 40; static constexpr dart::compiler::target::word @@ -2440,7 +2046,6 @@ static constexpr dart::compiler::target::word ObjectStore_string_type_offset = static constexpr dart::compiler::target::word OneByteString_data_offset = 16; static constexpr dart::compiler::target::word Pointer_c_memory_address_offset = 16; -static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8; static constexpr dart::compiler::target::word SingleTargetCache_entry_point_offset = 16; static constexpr dart::compiler::target::word @@ -2658,82 +2263,6 @@ static constexpr dart::compiler::target::word Closure_InstanceSize = 56; static constexpr dart::compiler::target::word GrowableObjectArray_InstanceSize = 32; static constexpr dart::compiler::target::word Instance_InstanceSize = 8; -static constexpr dart::compiler::target::word Class_InstanceSize = 208; -static constexpr dart::compiler::target::word DynamicLibrary_InstanceSize = 16; -static constexpr dart::compiler::target::word TypeArguments_InstanceSize = 32; -static constexpr dart::compiler::target::word ClosureData_InstanceSize = 40; -static constexpr dart::compiler::target::word Context_InstanceSize = 24; -static constexpr dart::compiler::target::word PatchClass_InstanceSize = 48; -static constexpr dart::compiler::target::word OneByteString_InstanceSize = 16; -static constexpr dart::compiler::target::word TwoByteString_InstanceSize = 16; -static constexpr dart::compiler::target::word - ExternalOneByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word - ExternalTwoByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word TypedDataView_InstanceSize = 40; -static constexpr dart::compiler::target::word ExternalTypedData_InstanceSize = - 24; -static constexpr dart::compiler::target::word Pointer_InstanceSize = 24; -static constexpr dart::compiler::target::word SignatureData_InstanceSize = 24; -static constexpr dart::compiler::target::word RedirectionData_InstanceSize = 32; -static constexpr dart::compiler::target::word FfiTrampolineData_InstanceSize = - 48; -static constexpr dart::compiler::target::word Script_InstanceSize = 96; -static constexpr dart::compiler::target::word Library_InstanceSize = 144; -static constexpr dart::compiler::target::word Namespace_InstanceSize = 40; -static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize = - 128; -static constexpr dart::compiler::target::word Bytecode_InstanceSize = 80; -static constexpr dart::compiler::target::word PcDescriptors_InstanceSize = 16; -static constexpr dart::compiler::target::word CodeSourceMap_InstanceSize = 16; -static constexpr dart::compiler::target::word CompressedStackMaps_InstanceSize = - 12; -static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize = - 16; -static constexpr dart::compiler::target::word ExceptionHandlers_InstanceSize = - 24; -static constexpr dart::compiler::target::word ContextScope_InstanceSize = 16; -static constexpr dart::compiler::target::word ParameterTypeCheck_InstanceSize = - 48; -static constexpr dart::compiler::target::word UnlinkedCall_InstanceSize = 32; -static constexpr dart::compiler::target::word ApiError_InstanceSize = 16; -static constexpr dart::compiler::target::word LanguageError_InstanceSize = 48; -static constexpr dart::compiler::target::word UnhandledException_InstanceSize = - 24; -static constexpr dart::compiler::target::word UnwindError_InstanceSize = 24; -static constexpr dart::compiler::target::word Bool_InstanceSize = 12; -static constexpr dart::compiler::target::word TypeParameter_InstanceSize = 72; -static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 40; -static constexpr dart::compiler::target::word Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word ReceivePort_InstanceSize = 24; -static constexpr dart::compiler::target::word SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - TransferableTypedData_InstanceSize = 8; -static constexpr dart::compiler::target::word StackTrace_InstanceSize = 40; -static constexpr dart::compiler::target::word Integer_InstanceSize = 8; -static constexpr dart::compiler::target::word Smi_InstanceSize = 8; -static constexpr dart::compiler::target::word WeakProperty_InstanceSize = 32; -static constexpr dart::compiler::target::word MirrorReference_InstanceSize = 16; -static constexpr dart::compiler::target::word Number_InstanceSize = 8; -static constexpr dart::compiler::target::word Function_InstanceSize = 144; -static constexpr dart::compiler::target::word Field_InstanceSize = 112; -static constexpr dart::compiler::target::word Code_InstanceSize = 144; -static constexpr dart::compiler::target::word Instructions_InstanceSize = 12; -static constexpr dart::compiler::target::word ObjectPool_InstanceSize = 16; -static constexpr dart::compiler::target::word SingleTargetCache_InstanceSize = - 32; -static constexpr dart::compiler::target::word - MonomorphicSmiableCall_InstanceSize = 32; -static constexpr dart::compiler::target::word ICData_InstanceSize = 56; -static constexpr dart::compiler::target::word MegamorphicCache_InstanceSize = - 48; -static constexpr dart::compiler::target::word SubtypeTestCache_InstanceSize = - 16; -static constexpr dart::compiler::target::word Array_InstanceSize = 24; -static constexpr dart::compiler::target::word Type_InstanceSize = 64; -static constexpr dart::compiler::target::word TypeRef_InstanceSize = 32; -static constexpr dart::compiler::target::word RegExp_InstanceSize = 120; -static constexpr dart::compiler::target::word UserTag_InstanceSize = 24; static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 56; #endif // defined(TARGET_ARCH_X64) @@ -2794,10 +2323,10 @@ static constexpr dart::compiler::target::word Array_type_arguments_offset = 4; static constexpr dart::compiler::target::word Class_declaration_type_offset = 56; static constexpr dart::compiler::target::word Class_num_type_arguments_offset = - 90; + 102; static constexpr dart::compiler::target::word Class_super_type_offset = 44; static constexpr dart::compiler::target::word - Class_host_type_arguments_field_offset_in_words_offset = 104; + Class_type_arguments_field_offset_in_words_offset = 92; static constexpr dart::compiler::target::word ClassTable_shared_class_table_offset = 16; static constexpr dart::compiler::target::word ClassTable_table_offset = 8; @@ -2829,7 +2358,7 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word Field_guarded_list_length_offset = 24; static constexpr dart::compiler::target::word Field_is_nullable_offset = 46; -static constexpr dart::compiler::target::word Field_kind_bits_offset = 54; +static constexpr dart::compiler::target::word Field_kind_bits_offset = 60; static constexpr dart::compiler::target::word Function_code_offset = 44; static constexpr dart::compiler::target::word Function_entry_point_offset[] = { 4, 8}; @@ -2863,8 +2392,6 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word LinkedHashMap_hash_mask_offset = 12; static constexpr dart::compiler::target::word LinkedHashMap_index_offset = 8; -static constexpr dart::compiler::target::word - LinkedHashMap_type_arguments_offset = 4; static constexpr dart::compiler::target::word LinkedHashMap_used_data_offset = 20; static constexpr dart::compiler::target::word @@ -2890,7 +2417,6 @@ static constexpr dart::compiler::target::word ObjectStore_string_type_offset = static constexpr dart::compiler::target::word OneByteString_data_offset = 12; static constexpr dart::compiler::target::word Pointer_c_memory_address_offset = 8; -static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 4; static constexpr dart::compiler::target::word SingleTargetCache_entry_point_offset = 8; static constexpr dart::compiler::target::word @@ -3102,81 +2628,6 @@ static constexpr dart::compiler::target::word Closure_InstanceSize = 28; static constexpr dart::compiler::target::word GrowableObjectArray_InstanceSize = 16; static constexpr dart::compiler::target::word Instance_InstanceSize = 4; -static constexpr dart::compiler::target::word Class_InstanceSize = 128; -static constexpr dart::compiler::target::word DynamicLibrary_InstanceSize = 8; -static constexpr dart::compiler::target::word TypeArguments_InstanceSize = 16; -static constexpr dart::compiler::target::word ClosureData_InstanceSize = 20; -static constexpr dart::compiler::target::word Context_InstanceSize = 12; -static constexpr dart::compiler::target::word PatchClass_InstanceSize = 24; -static constexpr dart::compiler::target::word OneByteString_InstanceSize = 12; -static constexpr dart::compiler::target::word TwoByteString_InstanceSize = 12; -static constexpr dart::compiler::target::word - ExternalOneByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word - ExternalTwoByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word TypedDataView_InstanceSize = 20; -static constexpr dart::compiler::target::word ExternalTypedData_InstanceSize = - 12; -static constexpr dart::compiler::target::word Pointer_InstanceSize = 12; -static constexpr dart::compiler::target::word SignatureData_InstanceSize = 12; -static constexpr dart::compiler::target::word RedirectionData_InstanceSize = 16; -static constexpr dart::compiler::target::word FfiTrampolineData_InstanceSize = - 24; -static constexpr dart::compiler::target::word Script_InstanceSize = 56; -static constexpr dart::compiler::target::word Library_InstanceSize = 76; -static constexpr dart::compiler::target::word Namespace_InstanceSize = 20; -static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize = - 64; -static constexpr dart::compiler::target::word Bytecode_InstanceSize = 44; -static constexpr dart::compiler::target::word PcDescriptors_InstanceSize = 8; -static constexpr dart::compiler::target::word CodeSourceMap_InstanceSize = 8; -static constexpr dart::compiler::target::word CompressedStackMaps_InstanceSize = - 8; -static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize = - 8; -static constexpr dart::compiler::target::word ExceptionHandlers_InstanceSize = - 12; -static constexpr dart::compiler::target::word ContextScope_InstanceSize = 12; -static constexpr dart::compiler::target::word ParameterTypeCheck_InstanceSize = - 24; -static constexpr dart::compiler::target::word UnlinkedCall_InstanceSize = 16; -static constexpr dart::compiler::target::word ApiError_InstanceSize = 8; -static constexpr dart::compiler::target::word LanguageError_InstanceSize = 28; -static constexpr dart::compiler::target::word UnhandledException_InstanceSize = - 12; -static constexpr dart::compiler::target::word UnwindError_InstanceSize = 12; -static constexpr dart::compiler::target::word Bool_InstanceSize = 8; -static constexpr dart::compiler::target::word TypeParameter_InstanceSize = 40; -static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 20; -static constexpr dart::compiler::target::word Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word ReceivePort_InstanceSize = 12; -static constexpr dart::compiler::target::word SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - TransferableTypedData_InstanceSize = 4; -static constexpr dart::compiler::target::word StackTrace_InstanceSize = 20; -static constexpr dart::compiler::target::word Integer_InstanceSize = 4; -static constexpr dart::compiler::target::word Smi_InstanceSize = 4; -static constexpr dart::compiler::target::word WeakProperty_InstanceSize = 16; -static constexpr dart::compiler::target::word MirrorReference_InstanceSize = 8; -static constexpr dart::compiler::target::word Number_InstanceSize = 4; -static constexpr dart::compiler::target::word Function_InstanceSize = 88; -static constexpr dart::compiler::target::word Field_InstanceSize = 64; -static constexpr dart::compiler::target::word Code_InstanceSize = 76; -static constexpr dart::compiler::target::word Instructions_InstanceSize = 8; -static constexpr dart::compiler::target::word ObjectPool_InstanceSize = 8; -static constexpr dart::compiler::target::word SingleTargetCache_InstanceSize = - 16; -static constexpr dart::compiler::target::word - MonomorphicSmiableCall_InstanceSize = 16; -static constexpr dart::compiler::target::word ICData_InstanceSize = 32; -static constexpr dart::compiler::target::word MegamorphicCache_InstanceSize = - 24; -static constexpr dart::compiler::target::word SubtypeTestCache_InstanceSize = 8; -static constexpr dart::compiler::target::word Array_InstanceSize = 12; -static constexpr dart::compiler::target::word Type_InstanceSize = 36; -static constexpr dart::compiler::target::word TypeRef_InstanceSize = 16; -static constexpr dart::compiler::target::word RegExp_InstanceSize = 60; -static constexpr dart::compiler::target::word UserTag_InstanceSize = 12; static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 28; #endif // defined(TARGET_ARCH_IA32) @@ -3239,10 +2690,10 @@ static constexpr dart::compiler::target::word Array_type_arguments_offset = 8; static constexpr dart::compiler::target::word Class_declaration_type_offset = 112; static constexpr dart::compiler::target::word Class_num_type_arguments_offset = - 170; + 182; static constexpr dart::compiler::target::word Class_super_type_offset = 88; static constexpr dart::compiler::target::word - Class_host_type_arguments_field_offset_in_words_offset = 184; + Class_type_arguments_field_offset_in_words_offset = 172; static constexpr dart::compiler::target::word ClassTable_shared_class_table_offset = 32; static constexpr dart::compiler::target::word ClassTable_table_offset = 16; @@ -3274,7 +2725,7 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word Field_guarded_list_length_offset = 48; static constexpr dart::compiler::target::word Field_is_nullable_offset = 82; -static constexpr dart::compiler::target::word Field_kind_bits_offset = 90; +static constexpr dart::compiler::target::word Field_kind_bits_offset = 104; static constexpr dart::compiler::target::word Function_code_offset = 88; static constexpr dart::compiler::target::word Function_entry_point_offset[] = { 8, 16}; @@ -3308,8 +2759,6 @@ static constexpr dart::compiler::target::word static constexpr dart::compiler::target::word LinkedHashMap_hash_mask_offset = 24; static constexpr dart::compiler::target::word LinkedHashMap_index_offset = 16; -static constexpr dart::compiler::target::word - LinkedHashMap_type_arguments_offset = 8; static constexpr dart::compiler::target::word LinkedHashMap_used_data_offset = 40; static constexpr dart::compiler::target::word @@ -3335,7 +2784,6 @@ static constexpr dart::compiler::target::word ObjectStore_string_type_offset = static constexpr dart::compiler::target::word OneByteString_data_offset = 16; static constexpr dart::compiler::target::word Pointer_c_memory_address_offset = 16; -static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8; static constexpr dart::compiler::target::word SingleTargetCache_entry_point_offset = 16; static constexpr dart::compiler::target::word @@ -3554,82 +3002,6 @@ static constexpr dart::compiler::target::word Closure_InstanceSize = 56; static constexpr dart::compiler::target::word GrowableObjectArray_InstanceSize = 32; static constexpr dart::compiler::target::word Instance_InstanceSize = 8; -static constexpr dart::compiler::target::word Class_InstanceSize = 208; -static constexpr dart::compiler::target::word DynamicLibrary_InstanceSize = 16; -static constexpr dart::compiler::target::word TypeArguments_InstanceSize = 32; -static constexpr dart::compiler::target::word ClosureData_InstanceSize = 40; -static constexpr dart::compiler::target::word Context_InstanceSize = 24; -static constexpr dart::compiler::target::word PatchClass_InstanceSize = 48; -static constexpr dart::compiler::target::word OneByteString_InstanceSize = 16; -static constexpr dart::compiler::target::word TwoByteString_InstanceSize = 16; -static constexpr dart::compiler::target::word - ExternalOneByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word - ExternalTwoByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word TypedDataView_InstanceSize = 40; -static constexpr dart::compiler::target::word ExternalTypedData_InstanceSize = - 24; -static constexpr dart::compiler::target::word Pointer_InstanceSize = 24; -static constexpr dart::compiler::target::word SignatureData_InstanceSize = 24; -static constexpr dart::compiler::target::word RedirectionData_InstanceSize = 32; -static constexpr dart::compiler::target::word FfiTrampolineData_InstanceSize = - 48; -static constexpr dart::compiler::target::word Script_InstanceSize = 96; -static constexpr dart::compiler::target::word Library_InstanceSize = 144; -static constexpr dart::compiler::target::word Namespace_InstanceSize = 40; -static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize = - 128; -static constexpr dart::compiler::target::word Bytecode_InstanceSize = 80; -static constexpr dart::compiler::target::word PcDescriptors_InstanceSize = 16; -static constexpr dart::compiler::target::word CodeSourceMap_InstanceSize = 16; -static constexpr dart::compiler::target::word CompressedStackMaps_InstanceSize = - 12; -static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize = - 16; -static constexpr dart::compiler::target::word ExceptionHandlers_InstanceSize = - 24; -static constexpr dart::compiler::target::word ContextScope_InstanceSize = 16; -static constexpr dart::compiler::target::word ParameterTypeCheck_InstanceSize = - 48; -static constexpr dart::compiler::target::word UnlinkedCall_InstanceSize = 32; -static constexpr dart::compiler::target::word ApiError_InstanceSize = 16; -static constexpr dart::compiler::target::word LanguageError_InstanceSize = 48; -static constexpr dart::compiler::target::word UnhandledException_InstanceSize = - 24; -static constexpr dart::compiler::target::word UnwindError_InstanceSize = 24; -static constexpr dart::compiler::target::word Bool_InstanceSize = 12; -static constexpr dart::compiler::target::word TypeParameter_InstanceSize = 72; -static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 40; -static constexpr dart::compiler::target::word Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word ReceivePort_InstanceSize = 24; -static constexpr dart::compiler::target::word SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - TransferableTypedData_InstanceSize = 8; -static constexpr dart::compiler::target::word StackTrace_InstanceSize = 40; -static constexpr dart::compiler::target::word Integer_InstanceSize = 8; -static constexpr dart::compiler::target::word Smi_InstanceSize = 8; -static constexpr dart::compiler::target::word WeakProperty_InstanceSize = 32; -static constexpr dart::compiler::target::word MirrorReference_InstanceSize = 16; -static constexpr dart::compiler::target::word Number_InstanceSize = 8; -static constexpr dart::compiler::target::word Function_InstanceSize = 144; -static constexpr dart::compiler::target::word Field_InstanceSize = 112; -static constexpr dart::compiler::target::word Code_InstanceSize = 144; -static constexpr dart::compiler::target::word Instructions_InstanceSize = 12; -static constexpr dart::compiler::target::word ObjectPool_InstanceSize = 16; -static constexpr dart::compiler::target::word SingleTargetCache_InstanceSize = - 32; -static constexpr dart::compiler::target::word - MonomorphicSmiableCall_InstanceSize = 32; -static constexpr dart::compiler::target::word ICData_InstanceSize = 56; -static constexpr dart::compiler::target::word MegamorphicCache_InstanceSize = - 48; -static constexpr dart::compiler::target::word SubtypeTestCache_InstanceSize = - 16; -static constexpr dart::compiler::target::word Array_InstanceSize = 24; -static constexpr dart::compiler::target::word Type_InstanceSize = 64; -static constexpr dart::compiler::target::word TypeRef_InstanceSize = 32; -static constexpr dart::compiler::target::word RegExp_InstanceSize = 120; -static constexpr dart::compiler::target::word UserTag_InstanceSize = 24; static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 56; #endif // defined(TARGET_ARCH_ARM64) @@ -3699,10 +3071,10 @@ static constexpr dart::compiler::target::word AOT_Array_type_arguments_offset = static constexpr dart::compiler::target::word AOT_Class_declaration_type_offset = 56; static constexpr dart::compiler::target::word - AOT_Class_num_type_arguments_offset = 90; + AOT_Class_num_type_arguments_offset = 102; static constexpr dart::compiler::target::word AOT_Class_super_type_offset = 44; static constexpr dart::compiler::target::word - AOT_Class_host_type_arguments_field_offset_in_words_offset = 104; + AOT_Class_type_arguments_field_offset_in_words_offset = 92; static constexpr dart::compiler::target::word AOT_ClassTable_shared_class_table_offset = 16; static constexpr dart::compiler::target::word AOT_ClassTable_table_offset = 8; @@ -3768,8 +3140,6 @@ static constexpr dart::compiler::target::word AOT_LinkedHashMap_hash_mask_offset = 12; static constexpr dart::compiler::target::word AOT_LinkedHashMap_index_offset = 8; -static constexpr dart::compiler::target::word - AOT_LinkedHashMap_type_arguments_offset = 4; static constexpr dart::compiler::target::word AOT_LinkedHashMap_used_data_offset = 20; static constexpr dart::compiler::target::word @@ -3801,8 +3171,6 @@ static constexpr dart::compiler::target::word AOT_OneByteString_data_offset = 12; static constexpr dart::compiler::target::word AOT_Pointer_c_memory_address_offset = 8; -static constexpr dart::compiler::target::word - AOT_Pointer_type_arguments_offset = 4; static constexpr dart::compiler::target::word AOT_SingleTargetCache_entry_point_offset = 8; static constexpr dart::compiler::target::word @@ -4039,98 +3407,6 @@ static constexpr dart::compiler::target::word AOT_Closure_InstanceSize = 28; static constexpr dart::compiler::target::word AOT_GrowableObjectArray_InstanceSize = 16; static constexpr dart::compiler::target::word AOT_Instance_InstanceSize = 4; -static constexpr dart::compiler::target::word AOT_Class_InstanceSize = 112; -static constexpr dart::compiler::target::word AOT_DynamicLibrary_InstanceSize = - 8; -static constexpr dart::compiler::target::word AOT_TypeArguments_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_ClosureData_InstanceSize = 20; -static constexpr dart::compiler::target::word AOT_Context_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_PatchClass_InstanceSize = 20; -static constexpr dart::compiler::target::word AOT_OneByteString_InstanceSize = - 12; -static constexpr dart::compiler::target::word AOT_TwoByteString_InstanceSize = - 12; -static constexpr dart::compiler::target::word - AOT_ExternalOneByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word - AOT_ExternalTwoByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word AOT_TypedDataView_InstanceSize = - 20; -static constexpr dart::compiler::target::word - AOT_ExternalTypedData_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_Pointer_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_SignatureData_InstanceSize = - 12; -static constexpr dart::compiler::target::word AOT_RedirectionData_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_FfiTrampolineData_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Script_InstanceSize = 56; -static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 72; -static constexpr dart::compiler::target::word AOT_Namespace_InstanceSize = 20; -static constexpr dart::compiler::target::word - AOT_KernelProgramInfo_InstanceSize = 64; -static constexpr dart::compiler::target::word AOT_Bytecode_InstanceSize = 48; -static constexpr dart::compiler::target::word AOT_PcDescriptors_InstanceSize = - 8; -static constexpr dart::compiler::target::word AOT_CodeSourceMap_InstanceSize = - 8; -static constexpr dart::compiler::target::word - AOT_CompressedStackMaps_InstanceSize = 8; -static constexpr dart::compiler::target::word - AOT_LocalVarDescriptors_InstanceSize = 8; -static constexpr dart::compiler::target::word - AOT_ExceptionHandlers_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_ContextScope_InstanceSize = - 12; -static constexpr dart::compiler::target::word - AOT_ParameterTypeCheck_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_UnlinkedCall_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize = - 28; -static constexpr dart::compiler::target::word - AOT_UnhandledException_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_UnwindError_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_Bool_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_TypeParameter_InstanceSize = - 40; -static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize = - 20; -static constexpr dart::compiler::target::word AOT_Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_ReceivePort_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - AOT_TransferableTypedData_InstanceSize = 4; -static constexpr dart::compiler::target::word AOT_StackTrace_InstanceSize = 20; -static constexpr dart::compiler::target::word AOT_Integer_InstanceSize = 4; -static constexpr dart::compiler::target::word AOT_Smi_InstanceSize = 4; -static constexpr dart::compiler::target::word AOT_WeakProperty_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_MirrorReference_InstanceSize = - 8; -static constexpr dart::compiler::target::word AOT_Number_InstanceSize = 4; -static constexpr dart::compiler::target::word AOT_Function_InstanceSize = 56; -static constexpr dart::compiler::target::word AOT_Field_InstanceSize = 48; -static constexpr dart::compiler::target::word AOT_Code_InstanceSize = 80; -static constexpr dart::compiler::target::word AOT_Instructions_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_ObjectPool_InstanceSize = 8; -static constexpr dart::compiler::target::word - AOT_SingleTargetCache_InstanceSize = 16; -static constexpr dart::compiler::target::word - AOT_MonomorphicSmiableCall_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_ICData_InstanceSize = 24; -static constexpr dart::compiler::target::word - AOT_MegamorphicCache_InstanceSize = 24; -static constexpr dart::compiler::target::word - AOT_SubtypeTestCache_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Array_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_Type_InstanceSize = 36; -static constexpr dart::compiler::target::word AOT_TypeRef_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_RegExp_InstanceSize = 60; -static constexpr dart::compiler::target::word AOT_UserTag_InstanceSize = 12; static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize = 28; #endif // defined(TARGET_ARCH_ARM) @@ -4197,10 +3473,10 @@ static constexpr dart::compiler::target::word AOT_Array_type_arguments_offset = static constexpr dart::compiler::target::word AOT_Class_declaration_type_offset = 112; static constexpr dart::compiler::target::word - AOT_Class_num_type_arguments_offset = 170; + AOT_Class_num_type_arguments_offset = 182; static constexpr dart::compiler::target::word AOT_Class_super_type_offset = 88; static constexpr dart::compiler::target::word - AOT_Class_host_type_arguments_field_offset_in_words_offset = 184; + AOT_Class_type_arguments_field_offset_in_words_offset = 172; static constexpr dart::compiler::target::word AOT_ClassTable_shared_class_table_offset = 32; static constexpr dart::compiler::target::word AOT_ClassTable_table_offset = 16; @@ -4266,8 +3542,6 @@ static constexpr dart::compiler::target::word AOT_LinkedHashMap_hash_mask_offset = 24; static constexpr dart::compiler::target::word AOT_LinkedHashMap_index_offset = 16; -static constexpr dart::compiler::target::word - AOT_LinkedHashMap_type_arguments_offset = 8; static constexpr dart::compiler::target::word AOT_LinkedHashMap_used_data_offset = 40; static constexpr dart::compiler::target::word @@ -4299,8 +3573,6 @@ static constexpr dart::compiler::target::word AOT_OneByteString_data_offset = 16; static constexpr dart::compiler::target::word AOT_Pointer_c_memory_address_offset = 16; -static constexpr dart::compiler::target::word - AOT_Pointer_type_arguments_offset = 8; static constexpr dart::compiler::target::word AOT_SingleTargetCache_entry_point_offset = 16; static constexpr dart::compiler::target::word @@ -4538,99 +3810,6 @@ static constexpr dart::compiler::target::word AOT_Closure_InstanceSize = 56; static constexpr dart::compiler::target::word AOT_GrowableObjectArray_InstanceSize = 32; static constexpr dart::compiler::target::word AOT_Instance_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Class_InstanceSize = 192; -static constexpr dart::compiler::target::word AOT_DynamicLibrary_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_TypeArguments_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_ClosureData_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_Context_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_PatchClass_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_OneByteString_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_TwoByteString_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_ExternalOneByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word - AOT_ExternalTwoByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_TypedDataView_InstanceSize = - 40; -static constexpr dart::compiler::target::word - AOT_ExternalTypedData_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Pointer_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_SignatureData_InstanceSize = - 24; -static constexpr dart::compiler::target::word AOT_RedirectionData_InstanceSize = - 32; -static constexpr dart::compiler::target::word - AOT_FfiTrampolineData_InstanceSize = 48; -static constexpr dart::compiler::target::word AOT_Script_InstanceSize = 96; -static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 136; -static constexpr dart::compiler::target::word AOT_Namespace_InstanceSize = 40; -static constexpr dart::compiler::target::word - AOT_KernelProgramInfo_InstanceSize = 128; -static constexpr dart::compiler::target::word AOT_Bytecode_InstanceSize = 88; -static constexpr dart::compiler::target::word AOT_PcDescriptors_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_CodeSourceMap_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_CompressedStackMaps_InstanceSize = 12; -static constexpr dart::compiler::target::word - AOT_LocalVarDescriptors_InstanceSize = 16; -static constexpr dart::compiler::target::word - AOT_ExceptionHandlers_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_ContextScope_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_ParameterTypeCheck_InstanceSize = 48; -static constexpr dart::compiler::target::word AOT_UnlinkedCall_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize = - 48; -static constexpr dart::compiler::target::word - AOT_UnhandledException_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_UnwindError_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Bool_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_TypeParameter_InstanceSize = - 72; -static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize = - 40; -static constexpr dart::compiler::target::word AOT_Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_ReceivePort_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - AOT_TransferableTypedData_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_StackTrace_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_Integer_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Smi_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_WeakProperty_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_MirrorReference_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_Number_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Function_InstanceSize = 104; -static constexpr dart::compiler::target::word AOT_Field_InstanceSize = 80; -static constexpr dart::compiler::target::word AOT_Code_InstanceSize = 152; -static constexpr dart::compiler::target::word AOT_Instructions_InstanceSize = - 12; -static constexpr dart::compiler::target::word AOT_ObjectPool_InstanceSize = 16; -static constexpr dart::compiler::target::word - AOT_SingleTargetCache_InstanceSize = 32; -static constexpr dart::compiler::target::word - AOT_MonomorphicSmiableCall_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_ICData_InstanceSize = 48; -static constexpr dart::compiler::target::word - AOT_MegamorphicCache_InstanceSize = 48; -static constexpr dart::compiler::target::word - AOT_SubtypeTestCache_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_Array_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Type_InstanceSize = 64; -static constexpr dart::compiler::target::word AOT_TypeRef_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_RegExp_InstanceSize = 120; -static constexpr dart::compiler::target::word AOT_UserTag_InstanceSize = 24; static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize = 56; #endif // defined(TARGET_ARCH_X64) @@ -4700,10 +3879,10 @@ static constexpr dart::compiler::target::word AOT_Array_type_arguments_offset = static constexpr dart::compiler::target::word AOT_Class_declaration_type_offset = 112; static constexpr dart::compiler::target::word - AOT_Class_num_type_arguments_offset = 170; + AOT_Class_num_type_arguments_offset = 182; static constexpr dart::compiler::target::word AOT_Class_super_type_offset = 88; static constexpr dart::compiler::target::word - AOT_Class_host_type_arguments_field_offset_in_words_offset = 184; + AOT_Class_type_arguments_field_offset_in_words_offset = 172; static constexpr dart::compiler::target::word AOT_ClassTable_shared_class_table_offset = 32; static constexpr dart::compiler::target::word AOT_ClassTable_table_offset = 16; @@ -4769,8 +3948,6 @@ static constexpr dart::compiler::target::word AOT_LinkedHashMap_hash_mask_offset = 24; static constexpr dart::compiler::target::word AOT_LinkedHashMap_index_offset = 16; -static constexpr dart::compiler::target::word - AOT_LinkedHashMap_type_arguments_offset = 8; static constexpr dart::compiler::target::word AOT_LinkedHashMap_used_data_offset = 40; static constexpr dart::compiler::target::word @@ -4802,8 +3979,6 @@ static constexpr dart::compiler::target::word AOT_OneByteString_data_offset = 16; static constexpr dart::compiler::target::word AOT_Pointer_c_memory_address_offset = 16; -static constexpr dart::compiler::target::word - AOT_Pointer_type_arguments_offset = 8; static constexpr dart::compiler::target::word AOT_SingleTargetCache_entry_point_offset = 16; static constexpr dart::compiler::target::word @@ -5042,99 +4217,6 @@ static constexpr dart::compiler::target::word AOT_Closure_InstanceSize = 56; static constexpr dart::compiler::target::word AOT_GrowableObjectArray_InstanceSize = 32; static constexpr dart::compiler::target::word AOT_Instance_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Class_InstanceSize = 192; -static constexpr dart::compiler::target::word AOT_DynamicLibrary_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_TypeArguments_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_ClosureData_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_Context_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_PatchClass_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_OneByteString_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_TwoByteString_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_ExternalOneByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word - AOT_ExternalTwoByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_TypedDataView_InstanceSize = - 40; -static constexpr dart::compiler::target::word - AOT_ExternalTypedData_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Pointer_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_SignatureData_InstanceSize = - 24; -static constexpr dart::compiler::target::word AOT_RedirectionData_InstanceSize = - 32; -static constexpr dart::compiler::target::word - AOT_FfiTrampolineData_InstanceSize = 48; -static constexpr dart::compiler::target::word AOT_Script_InstanceSize = 96; -static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 136; -static constexpr dart::compiler::target::word AOT_Namespace_InstanceSize = 40; -static constexpr dart::compiler::target::word - AOT_KernelProgramInfo_InstanceSize = 128; -static constexpr dart::compiler::target::word AOT_Bytecode_InstanceSize = 88; -static constexpr dart::compiler::target::word AOT_PcDescriptors_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_CodeSourceMap_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_CompressedStackMaps_InstanceSize = 12; -static constexpr dart::compiler::target::word - AOT_LocalVarDescriptors_InstanceSize = 16; -static constexpr dart::compiler::target::word - AOT_ExceptionHandlers_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_ContextScope_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_ParameterTypeCheck_InstanceSize = 48; -static constexpr dart::compiler::target::word AOT_UnlinkedCall_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize = - 48; -static constexpr dart::compiler::target::word - AOT_UnhandledException_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_UnwindError_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Bool_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_TypeParameter_InstanceSize = - 72; -static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize = - 40; -static constexpr dart::compiler::target::word AOT_Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_ReceivePort_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - AOT_TransferableTypedData_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_StackTrace_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_Integer_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Smi_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_WeakProperty_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_MirrorReference_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_Number_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Function_InstanceSize = 104; -static constexpr dart::compiler::target::word AOT_Field_InstanceSize = 80; -static constexpr dart::compiler::target::word AOT_Code_InstanceSize = 152; -static constexpr dart::compiler::target::word AOT_Instructions_InstanceSize = - 12; -static constexpr dart::compiler::target::word AOT_ObjectPool_InstanceSize = 16; -static constexpr dart::compiler::target::word - AOT_SingleTargetCache_InstanceSize = 32; -static constexpr dart::compiler::target::word - AOT_MonomorphicSmiableCall_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_ICData_InstanceSize = 48; -static constexpr dart::compiler::target::word - AOT_MegamorphicCache_InstanceSize = 48; -static constexpr dart::compiler::target::word - AOT_SubtypeTestCache_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_Array_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Type_InstanceSize = 64; -static constexpr dart::compiler::target::word AOT_TypeRef_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_RegExp_InstanceSize = 120; -static constexpr dart::compiler::target::word AOT_UserTag_InstanceSize = 24; static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize = 56; #endif // defined(TARGET_ARCH_ARM64) @@ -5203,10 +4285,10 @@ static constexpr dart::compiler::target::word AOT_Array_type_arguments_offset = static constexpr dart::compiler::target::word AOT_Class_declaration_type_offset = 56; static constexpr dart::compiler::target::word - AOT_Class_num_type_arguments_offset = 90; + AOT_Class_num_type_arguments_offset = 102; static constexpr dart::compiler::target::word AOT_Class_super_type_offset = 44; static constexpr dart::compiler::target::word - AOT_Class_host_type_arguments_field_offset_in_words_offset = 104; + AOT_Class_type_arguments_field_offset_in_words_offset = 92; static constexpr dart::compiler::target::word AOT_ClassTable_shared_class_table_offset = 16; static constexpr dart::compiler::target::word AOT_ClassTable_table_offset = 8; @@ -5268,8 +4350,6 @@ static constexpr dart::compiler::target::word AOT_LinkedHashMap_hash_mask_offset = 12; static constexpr dart::compiler::target::word AOT_LinkedHashMap_index_offset = 8; -static constexpr dart::compiler::target::word - AOT_LinkedHashMap_type_arguments_offset = 4; static constexpr dart::compiler::target::word AOT_LinkedHashMap_used_data_offset = 20; static constexpr dart::compiler::target::word @@ -5301,8 +4381,6 @@ static constexpr dart::compiler::target::word AOT_OneByteString_data_offset = 12; static constexpr dart::compiler::target::word AOT_Pointer_c_memory_address_offset = 8; -static constexpr dart::compiler::target::word - AOT_Pointer_type_arguments_offset = 4; static constexpr dart::compiler::target::word AOT_SingleTargetCache_entry_point_offset = 8; static constexpr dart::compiler::target::word @@ -5536,98 +4614,6 @@ static constexpr dart::compiler::target::word AOT_Closure_InstanceSize = 28; static constexpr dart::compiler::target::word AOT_GrowableObjectArray_InstanceSize = 16; static constexpr dart::compiler::target::word AOT_Instance_InstanceSize = 4; -static constexpr dart::compiler::target::word AOT_Class_InstanceSize = 112; -static constexpr dart::compiler::target::word AOT_DynamicLibrary_InstanceSize = - 8; -static constexpr dart::compiler::target::word AOT_TypeArguments_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_ClosureData_InstanceSize = 20; -static constexpr dart::compiler::target::word AOT_Context_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_PatchClass_InstanceSize = 20; -static constexpr dart::compiler::target::word AOT_OneByteString_InstanceSize = - 12; -static constexpr dart::compiler::target::word AOT_TwoByteString_InstanceSize = - 12; -static constexpr dart::compiler::target::word - AOT_ExternalOneByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word - AOT_ExternalTwoByteString_InstanceSize = 20; -static constexpr dart::compiler::target::word AOT_TypedDataView_InstanceSize = - 20; -static constexpr dart::compiler::target::word - AOT_ExternalTypedData_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_Pointer_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_SignatureData_InstanceSize = - 12; -static constexpr dart::compiler::target::word AOT_RedirectionData_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_FfiTrampolineData_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Script_InstanceSize = 56; -static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 72; -static constexpr dart::compiler::target::word AOT_Namespace_InstanceSize = 20; -static constexpr dart::compiler::target::word - AOT_KernelProgramInfo_InstanceSize = 64; -static constexpr dart::compiler::target::word AOT_Bytecode_InstanceSize = 44; -static constexpr dart::compiler::target::word AOT_PcDescriptors_InstanceSize = - 8; -static constexpr dart::compiler::target::word AOT_CodeSourceMap_InstanceSize = - 8; -static constexpr dart::compiler::target::word - AOT_CompressedStackMaps_InstanceSize = 8; -static constexpr dart::compiler::target::word - AOT_LocalVarDescriptors_InstanceSize = 8; -static constexpr dart::compiler::target::word - AOT_ExceptionHandlers_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_ContextScope_InstanceSize = - 12; -static constexpr dart::compiler::target::word - AOT_ParameterTypeCheck_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_UnlinkedCall_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize = - 28; -static constexpr dart::compiler::target::word - AOT_UnhandledException_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_UnwindError_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_Bool_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_TypeParameter_InstanceSize = - 40; -static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize = - 20; -static constexpr dart::compiler::target::word AOT_Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_ReceivePort_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - AOT_TransferableTypedData_InstanceSize = 4; -static constexpr dart::compiler::target::word AOT_StackTrace_InstanceSize = 20; -static constexpr dart::compiler::target::word AOT_Integer_InstanceSize = 4; -static constexpr dart::compiler::target::word AOT_Smi_InstanceSize = 4; -static constexpr dart::compiler::target::word AOT_WeakProperty_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_MirrorReference_InstanceSize = - 8; -static constexpr dart::compiler::target::word AOT_Number_InstanceSize = 4; -static constexpr dart::compiler::target::word AOT_Function_InstanceSize = 56; -static constexpr dart::compiler::target::word AOT_Field_InstanceSize = 48; -static constexpr dart::compiler::target::word AOT_Code_InstanceSize = 60; -static constexpr dart::compiler::target::word AOT_Instructions_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_ObjectPool_InstanceSize = 8; -static constexpr dart::compiler::target::word - AOT_SingleTargetCache_InstanceSize = 16; -static constexpr dart::compiler::target::word - AOT_MonomorphicSmiableCall_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_ICData_InstanceSize = 24; -static constexpr dart::compiler::target::word - AOT_MegamorphicCache_InstanceSize = 24; -static constexpr dart::compiler::target::word - AOT_SubtypeTestCache_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Array_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_Type_InstanceSize = 36; -static constexpr dart::compiler::target::word AOT_TypeRef_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_RegExp_InstanceSize = 60; -static constexpr dart::compiler::target::word AOT_UserTag_InstanceSize = 12; static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize = 28; #endif // defined(TARGET_ARCH_ARM) @@ -5694,10 +4680,10 @@ static constexpr dart::compiler::target::word AOT_Array_type_arguments_offset = static constexpr dart::compiler::target::word AOT_Class_declaration_type_offset = 112; static constexpr dart::compiler::target::word - AOT_Class_num_type_arguments_offset = 170; + AOT_Class_num_type_arguments_offset = 182; static constexpr dart::compiler::target::word AOT_Class_super_type_offset = 88; static constexpr dart::compiler::target::word - AOT_Class_host_type_arguments_field_offset_in_words_offset = 184; + AOT_Class_type_arguments_field_offset_in_words_offset = 172; static constexpr dart::compiler::target::word AOT_ClassTable_shared_class_table_offset = 32; static constexpr dart::compiler::target::word AOT_ClassTable_table_offset = 16; @@ -5759,8 +4745,6 @@ static constexpr dart::compiler::target::word AOT_LinkedHashMap_hash_mask_offset = 24; static constexpr dart::compiler::target::word AOT_LinkedHashMap_index_offset = 16; -static constexpr dart::compiler::target::word - AOT_LinkedHashMap_type_arguments_offset = 8; static constexpr dart::compiler::target::word AOT_LinkedHashMap_used_data_offset = 40; static constexpr dart::compiler::target::word @@ -5792,8 +4776,6 @@ static constexpr dart::compiler::target::word AOT_OneByteString_data_offset = 16; static constexpr dart::compiler::target::word AOT_Pointer_c_memory_address_offset = 16; -static constexpr dart::compiler::target::word - AOT_Pointer_type_arguments_offset = 8; static constexpr dart::compiler::target::word AOT_SingleTargetCache_entry_point_offset = 16; static constexpr dart::compiler::target::word @@ -6028,99 +5010,6 @@ static constexpr dart::compiler::target::word AOT_Closure_InstanceSize = 56; static constexpr dart::compiler::target::word AOT_GrowableObjectArray_InstanceSize = 32; static constexpr dart::compiler::target::word AOT_Instance_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Class_InstanceSize = 192; -static constexpr dart::compiler::target::word AOT_DynamicLibrary_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_TypeArguments_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_ClosureData_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_Context_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_PatchClass_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_OneByteString_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_TwoByteString_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_ExternalOneByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word - AOT_ExternalTwoByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_TypedDataView_InstanceSize = - 40; -static constexpr dart::compiler::target::word - AOT_ExternalTypedData_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Pointer_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_SignatureData_InstanceSize = - 24; -static constexpr dart::compiler::target::word AOT_RedirectionData_InstanceSize = - 32; -static constexpr dart::compiler::target::word - AOT_FfiTrampolineData_InstanceSize = 48; -static constexpr dart::compiler::target::word AOT_Script_InstanceSize = 96; -static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 136; -static constexpr dart::compiler::target::word AOT_Namespace_InstanceSize = 40; -static constexpr dart::compiler::target::word - AOT_KernelProgramInfo_InstanceSize = 128; -static constexpr dart::compiler::target::word AOT_Bytecode_InstanceSize = 80; -static constexpr dart::compiler::target::word AOT_PcDescriptors_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_CodeSourceMap_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_CompressedStackMaps_InstanceSize = 12; -static constexpr dart::compiler::target::word - AOT_LocalVarDescriptors_InstanceSize = 16; -static constexpr dart::compiler::target::word - AOT_ExceptionHandlers_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_ContextScope_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_ParameterTypeCheck_InstanceSize = 48; -static constexpr dart::compiler::target::word AOT_UnlinkedCall_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize = - 48; -static constexpr dart::compiler::target::word - AOT_UnhandledException_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_UnwindError_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Bool_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_TypeParameter_InstanceSize = - 72; -static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize = - 40; -static constexpr dart::compiler::target::word AOT_Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_ReceivePort_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - AOT_TransferableTypedData_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_StackTrace_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_Integer_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Smi_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_WeakProperty_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_MirrorReference_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_Number_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Function_InstanceSize = 104; -static constexpr dart::compiler::target::word AOT_Field_InstanceSize = 80; -static constexpr dart::compiler::target::word AOT_Code_InstanceSize = 120; -static constexpr dart::compiler::target::word AOT_Instructions_InstanceSize = - 12; -static constexpr dart::compiler::target::word AOT_ObjectPool_InstanceSize = 16; -static constexpr dart::compiler::target::word - AOT_SingleTargetCache_InstanceSize = 32; -static constexpr dart::compiler::target::word - AOT_MonomorphicSmiableCall_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_ICData_InstanceSize = 48; -static constexpr dart::compiler::target::word - AOT_MegamorphicCache_InstanceSize = 48; -static constexpr dart::compiler::target::word - AOT_SubtypeTestCache_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_Array_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Type_InstanceSize = 64; -static constexpr dart::compiler::target::word AOT_TypeRef_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_RegExp_InstanceSize = 120; -static constexpr dart::compiler::target::word AOT_UserTag_InstanceSize = 24; static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize = 56; #endif // defined(TARGET_ARCH_X64) @@ -6190,10 +5079,10 @@ static constexpr dart::compiler::target::word AOT_Array_type_arguments_offset = static constexpr dart::compiler::target::word AOT_Class_declaration_type_offset = 112; static constexpr dart::compiler::target::word - AOT_Class_num_type_arguments_offset = 170; + AOT_Class_num_type_arguments_offset = 182; static constexpr dart::compiler::target::word AOT_Class_super_type_offset = 88; static constexpr dart::compiler::target::word - AOT_Class_host_type_arguments_field_offset_in_words_offset = 184; + AOT_Class_type_arguments_field_offset_in_words_offset = 172; static constexpr dart::compiler::target::word AOT_ClassTable_shared_class_table_offset = 32; static constexpr dart::compiler::target::word AOT_ClassTable_table_offset = 16; @@ -6255,8 +5144,6 @@ static constexpr dart::compiler::target::word AOT_LinkedHashMap_hash_mask_offset = 24; static constexpr dart::compiler::target::word AOT_LinkedHashMap_index_offset = 16; -static constexpr dart::compiler::target::word - AOT_LinkedHashMap_type_arguments_offset = 8; static constexpr dart::compiler::target::word AOT_LinkedHashMap_used_data_offset = 40; static constexpr dart::compiler::target::word @@ -6288,8 +5175,6 @@ static constexpr dart::compiler::target::word AOT_OneByteString_data_offset = 16; static constexpr dart::compiler::target::word AOT_Pointer_c_memory_address_offset = 16; -static constexpr dart::compiler::target::word - AOT_Pointer_type_arguments_offset = 8; static constexpr dart::compiler::target::word AOT_SingleTargetCache_entry_point_offset = 16; static constexpr dart::compiler::target::word @@ -6525,99 +5410,6 @@ static constexpr dart::compiler::target::word AOT_Closure_InstanceSize = 56; static constexpr dart::compiler::target::word AOT_GrowableObjectArray_InstanceSize = 32; static constexpr dart::compiler::target::word AOT_Instance_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Class_InstanceSize = 192; -static constexpr dart::compiler::target::word AOT_DynamicLibrary_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_TypeArguments_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_ClosureData_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_Context_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_PatchClass_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_OneByteString_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_TwoByteString_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_ExternalOneByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word - AOT_ExternalTwoByteString_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_TypedDataView_InstanceSize = - 40; -static constexpr dart::compiler::target::word - AOT_ExternalTypedData_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Pointer_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_SignatureData_InstanceSize = - 24; -static constexpr dart::compiler::target::word AOT_RedirectionData_InstanceSize = - 32; -static constexpr dart::compiler::target::word - AOT_FfiTrampolineData_InstanceSize = 48; -static constexpr dart::compiler::target::word AOT_Script_InstanceSize = 96; -static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 136; -static constexpr dart::compiler::target::word AOT_Namespace_InstanceSize = 40; -static constexpr dart::compiler::target::word - AOT_KernelProgramInfo_InstanceSize = 128; -static constexpr dart::compiler::target::word AOT_Bytecode_InstanceSize = 80; -static constexpr dart::compiler::target::word AOT_PcDescriptors_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_CodeSourceMap_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_CompressedStackMaps_InstanceSize = 12; -static constexpr dart::compiler::target::word - AOT_LocalVarDescriptors_InstanceSize = 16; -static constexpr dart::compiler::target::word - AOT_ExceptionHandlers_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_ContextScope_InstanceSize = - 16; -static constexpr dart::compiler::target::word - AOT_ParameterTypeCheck_InstanceSize = 48; -static constexpr dart::compiler::target::word AOT_UnlinkedCall_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize = - 48; -static constexpr dart::compiler::target::word - AOT_UnhandledException_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_UnwindError_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Bool_InstanceSize = 12; -static constexpr dart::compiler::target::word AOT_TypeParameter_InstanceSize = - 72; -static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize = - 40; -static constexpr dart::compiler::target::word AOT_Capability_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_ReceivePort_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_SendPort_InstanceSize = 24; -static constexpr dart::compiler::target::word - AOT_TransferableTypedData_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_StackTrace_InstanceSize = 40; -static constexpr dart::compiler::target::word AOT_Integer_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Smi_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_WeakProperty_InstanceSize = - 32; -static constexpr dart::compiler::target::word AOT_MirrorReference_InstanceSize = - 16; -static constexpr dart::compiler::target::word AOT_Number_InstanceSize = 8; -static constexpr dart::compiler::target::word AOT_Function_InstanceSize = 104; -static constexpr dart::compiler::target::word AOT_Field_InstanceSize = 80; -static constexpr dart::compiler::target::word AOT_Code_InstanceSize = 120; -static constexpr dart::compiler::target::word AOT_Instructions_InstanceSize = - 12; -static constexpr dart::compiler::target::word AOT_ObjectPool_InstanceSize = 16; -static constexpr dart::compiler::target::word - AOT_SingleTargetCache_InstanceSize = 32; -static constexpr dart::compiler::target::word - AOT_MonomorphicSmiableCall_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_ICData_InstanceSize = 48; -static constexpr dart::compiler::target::word - AOT_MegamorphicCache_InstanceSize = 48; -static constexpr dart::compiler::target::word - AOT_SubtypeTestCache_InstanceSize = 16; -static constexpr dart::compiler::target::word AOT_Array_InstanceSize = 24; -static constexpr dart::compiler::target::word AOT_Type_InstanceSize = 64; -static constexpr dart::compiler::target::word AOT_TypeRef_InstanceSize = 32; -static constexpr dart::compiler::target::word AOT_RegExp_InstanceSize = 120; -static constexpr dart::compiler::target::word AOT_UserTag_InstanceSize = 24; static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize = 56; #endif // defined(TARGET_ARCH_ARM64) diff --git a/runtime/vm/compiler/runtime_offsets_list.h b/runtime/vm/compiler/runtime_offsets_list.h index 296daf4159b74..3c243bb21f7b3 100644 --- a/runtime/vm/compiler/runtime_offsets_list.h +++ b/runtime/vm/compiler/runtime_offsets_list.h @@ -64,7 +64,7 @@ FIELD(Class, declaration_type_offset) \ FIELD(Class, num_type_arguments_offset) \ FIELD(Class, super_type_offset) \ - FIELD(Class, host_type_arguments_field_offset_in_words_offset) \ + FIELD(Class, type_arguments_field_offset_in_words_offset) \ FIELD(ClassTable, shared_class_table_offset) \ FIELD(ClassTable, table_offset) \ NOT_IN_PRODUCT(FIELD(SharedClassTable, class_heap_stats_table_offset)) \ @@ -115,7 +115,6 @@ FIELD(LinkedHashMap, deleted_keys_offset) \ FIELD(LinkedHashMap, hash_mask_offset) \ FIELD(LinkedHashMap, index_offset) \ - FIELD(LinkedHashMap, type_arguments_offset) \ FIELD(LinkedHashMap, used_data_offset) \ FIELD(MarkingStackBlock, pointers_offset) \ FIELD(MarkingStackBlock, top_offset) \ @@ -132,7 +131,6 @@ FIELD(ObjectStore, string_type_offset) \ FIELD(OneByteString, data_offset) \ FIELD(Pointer, c_memory_address_offset) \ - FIELD(Pointer, type_arguments_offset) \ FIELD(SingleTargetCache, entry_point_offset) \ FIELD(SingleTargetCache, lower_limit_offset) \ FIELD(SingleTargetCache, target_offset) \ @@ -253,84 +251,22 @@ Thread, write_barrier_wrappers_thread_offset, Register, 0, \ kNumberOfCpuRegisters - 1, \ [](Register reg) { return (kDartAvailableCpuRegs & (1 << reg)) != 0; })) \ - \ - SIZEOF(ApiError, InstanceSize, RawApiError) \ - SIZEOF(Array, InstanceSize, RawArray) \ SIZEOF(Array, header_size, RawArray) \ - SIZEOF(Bool, InstanceSize, RawBool) \ - SIZEOF(Bytecode, InstanceSize, RawBytecode) \ - SIZEOF(Capability, InstanceSize, RawCapability) \ - SIZEOF(Class, InstanceSize, RawClass) \ - SIZEOF(Closure, InstanceSize, RawClosure) \ - SIZEOF(ClosureData, InstanceSize, RawClosureData) \ - SIZEOF(Code, InstanceSize, RawCode) \ - SIZEOF(CodeSourceMap, InstanceSize, RawCodeSourceMap) \ - SIZEOF(CompressedStackMaps, InstanceSize, RawCompressedStackMaps) \ - SIZEOF(Context, InstanceSize, RawContext) \ SIZEOF(Context, header_size, RawContext) \ - SIZEOF(ContextScope, InstanceSize, RawContextScope) \ SIZEOF(Double, InstanceSize, RawDouble) \ - SIZEOF(DynamicLibrary, InstanceSize, RawDynamicLibrary) \ - SIZEOF(ExceptionHandlers, InstanceSize, RawExceptionHandlers) \ - SIZEOF(ExternalOneByteString, InstanceSize, RawExternalOneByteString) \ - SIZEOF(ExternalTwoByteString, InstanceSize, RawExternalTwoByteString) \ - SIZEOF(ExternalTypedData, InstanceSize, RawExternalTypedData) \ - SIZEOF(FfiTrampolineData, InstanceSize, RawFfiTrampolineData) \ - SIZEOF(Field, InstanceSize, RawField) \ SIZEOF(Float32x4, InstanceSize, RawFloat32x4) \ SIZEOF(Float64x2, InstanceSize, RawFloat64x2) \ - SIZEOF(Function, InstanceSize, RawFunction) \ - SIZEOF(GrowableObjectArray, InstanceSize, RawGrowableObjectArray) \ - SIZEOF(ICData, InstanceSize, RawICData) \ - SIZEOF(Instance, InstanceSize, RawInstance) \ - SIZEOF(Instructions, InstanceSize, RawInstructions) \ SIZEOF(Instructions, UnalignedHeaderSize, RawInstructions) \ SIZEOF(Int32x4, InstanceSize, RawInt32x4) \ - SIZEOF(Integer, InstanceSize, RawInteger) \ - SIZEOF(KernelProgramInfo, InstanceSize, RawKernelProgramInfo) \ - SIZEOF(LanguageError, InstanceSize, RawLanguageError) \ - SIZEOF(Library, InstanceSize, RawLibrary) \ - SIZEOF(LibraryPrefix, InstanceSize, RawLibraryPrefix) \ - SIZEOF(LinkedHashMap, InstanceSize, RawLinkedHashMap) \ - SIZEOF(LocalVarDescriptors, InstanceSize, RawLocalVarDescriptors) \ - SIZEOF(MegamorphicCache, InstanceSize, RawMegamorphicCache) \ SIZEOF(Mint, InstanceSize, RawMint) \ - SIZEOF(MirrorReference, InstanceSize, RawMirrorReference) \ - SIZEOF(MonomorphicSmiableCall, InstanceSize, RawMonomorphicSmiableCall) \ - SIZEOF(Namespace, InstanceSize, RawNamespace) \ SIZEOF(NativeArguments, StructSize, NativeArguments) \ - SIZEOF(Number, InstanceSize, RawNumber) \ - SIZEOF(Object, InstanceSize, RawObject) \ - SIZEOF(ObjectPool, InstanceSize, RawObjectPool) \ - SIZEOF(OneByteString, InstanceSize, RawOneByteString) \ - SIZEOF(ParameterTypeCheck, InstanceSize, RawParameterTypeCheck) \ - SIZEOF(PatchClass, InstanceSize, RawPatchClass) \ - SIZEOF(PcDescriptors, InstanceSize, RawPcDescriptors) \ - SIZEOF(Pointer, InstanceSize, RawPointer) \ - SIZEOF(ReceivePort, InstanceSize, RawReceivePort) \ - SIZEOF(RedirectionData, InstanceSize, RawRedirectionData) \ - SIZEOF(RegExp, InstanceSize, RawRegExp) \ - SIZEOF(Script, InstanceSize, RawScript) \ - SIZEOF(SendPort, InstanceSize, RawSendPort) \ - SIZEOF(SignatureData, InstanceSize, RawSignatureData) \ - SIZEOF(SingleTargetCache, InstanceSize, RawSingleTargetCache) \ - SIZEOF(Smi, InstanceSize, RawSmi) \ - SIZEOF(StackTrace, InstanceSize, RawStackTrace) \ SIZEOF(String, InstanceSize, RawString) \ - SIZEOF(SubtypeTestCache, InstanceSize, RawSubtypeTestCache) \ - SIZEOF(TransferableTypedData, InstanceSize, RawTransferableTypedData) \ - SIZEOF(TwoByteString, InstanceSize, RawTwoByteString) \ - SIZEOF(Type, InstanceSize, RawType) \ - SIZEOF(TypeArguments, InstanceSize, RawTypeArguments) \ - SIZEOF(TypeParameter, InstanceSize, RawTypeParameter) \ - SIZEOF(TypeRef, InstanceSize, RawTypeRef) \ SIZEOF(TypedData, InstanceSize, RawTypedData) \ + SIZEOF(Object, InstanceSize, RawObject) \ SIZEOF(TypedDataBase, InstanceSize, RawTypedDataBase) \ - SIZEOF(TypedDataView, InstanceSize, RawTypedDataView) \ - SIZEOF(UnhandledException, InstanceSize, RawUnhandledException) \ - SIZEOF(UnlinkedCall, InstanceSize, RawUnlinkedCall) \ - SIZEOF(UnwindError, InstanceSize, RawUnwindError) \ - SIZEOF(UserTag, InstanceSize, RawUserTag) \ - SIZEOF(WeakProperty, InstanceSize, RawWeakProperty) + SIZEOF(Closure, InstanceSize, RawClosure) \ + SIZEOF(GrowableObjectArray, InstanceSize, RawGrowableObjectArray) \ + SIZEOF(Instance, InstanceSize, RawInstance) \ + SIZEOF(LinkedHashMap, InstanceSize, RawLinkedHashMap) #endif // RUNTIME_VM_COMPILER_RUNTIME_OFFSETS_LIST_H_ diff --git a/runtime/vm/compiler/stub_code_compiler_arm.cc b/runtime/vm/compiler/stub_code_compiler_arm.cc index 0fdf071ad1804..b6f3c2b86821e 100644 --- a/runtime/vm/compiler/stub_code_compiler_arm.cc +++ b/runtime/vm/compiler/stub_code_compiler_arm.cc @@ -2726,8 +2726,8 @@ static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) { __ mov(kInstanceInstantiatorTypeArgumentsReg, Operand(kNullReg)); __ ldr(R9, FieldAddress( - R9, target::Class:: - host_type_arguments_field_offset_in_words_offset())); + R9, + target::Class::type_arguments_field_offset_in_words_offset())); __ CompareImmediate(R9, target::Class::kNoTypeArguments); __ b(&has_no_type_arguments, EQ); __ add(R9, kInstanceReg, Operand(R9, LSL, 2)); diff --git a/runtime/vm/compiler/stub_code_compiler_arm64.cc b/runtime/vm/compiler/stub_code_compiler_arm64.cc index 34d927a4ac15b..cab25a16fda09 100644 --- a/runtime/vm/compiler/stub_code_compiler_arm64.cc +++ b/runtime/vm/compiler/stub_code_compiler_arm64.cc @@ -2851,8 +2851,7 @@ static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) { __ LoadClassById(R5, kInstanceCidOrFunction); __ mov(kInstanceInstantiatorTypeArgumentsReg, kNullReg); __ LoadFieldFromOffset( - R5, R5, - target::Class::host_type_arguments_field_offset_in_words_offset(), + R5, R5, target::Class::type_arguments_field_offset_in_words_offset(), kWord); __ CompareImmediate(R5, target::Class::kNoTypeArguments); __ b(&has_no_type_arguments, EQ); diff --git a/runtime/vm/compiler/stub_code_compiler_ia32.cc b/runtime/vm/compiler/stub_code_compiler_ia32.cc index 6510cb519eba6..6556b7dfaf57d 100644 --- a/runtime/vm/compiler/stub_code_compiler_ia32.cc +++ b/runtime/vm/compiler/stub_code_compiler_ia32.cc @@ -2349,10 +2349,11 @@ static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) { Label has_no_type_arguments; __ LoadClassById(EDI, kInstanceCidOrFunction); __ movl(kInstanceInstantiatorTypeArgumentsReg, raw_null); - __ movl(EDI, - FieldAddress( - EDI, target::Class:: - host_type_arguments_field_offset_in_words_offset())); + __ movl( + EDI, + FieldAddress( + EDI, + target::Class::type_arguments_field_offset_in_words_offset())); __ cmpl(EDI, Immediate(target::Class::kNoTypeArguments)); __ j(EQUAL, &has_no_type_arguments, Assembler::kNearJump); __ movl(kInstanceInstantiatorTypeArgumentsReg, diff --git a/runtime/vm/compiler/stub_code_compiler_x64.cc b/runtime/vm/compiler/stub_code_compiler_x64.cc index a8cf49ddb9c39..3920de23b7b9b 100644 --- a/runtime/vm/compiler/stub_code_compiler_x64.cc +++ b/runtime/vm/compiler/stub_code_compiler_x64.cc @@ -2807,10 +2807,11 @@ static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) { Label has_no_type_arguments; __ LoadClassById(RDI, kInstanceCidOrFunction); __ movq(kInstanceInstantiatorTypeArgumentsReg, kNullReg); - __ movl(RDI, - FieldAddress( - RDI, target::Class:: - host_type_arguments_field_offset_in_words_offset())); + __ movl( + RDI, + FieldAddress( + RDI, + target::Class::type_arguments_field_offset_in_words_offset())); __ cmpl(RDI, Immediate(target::Class::kNoTypeArguments)); __ j(EQUAL, &has_no_type_arguments, Assembler::kNearJump); __ movq(kInstanceInstantiatorTypeArgumentsReg, diff --git a/runtime/vm/dart_api_impl_test.cc b/runtime/vm/dart_api_impl_test.cc index 23a083a5dab59..bc23cea0f6d71 100644 --- a/runtime/vm/dart_api_impl_test.cc +++ b/runtime/vm/dart_api_impl_test.cc @@ -4393,7 +4393,7 @@ TEST_CASE(DartAPI_InjectNativeFields3) { intptr_t header_size = sizeof(RawObject); EXPECT_EQ( Utils::RoundUp(((1 + 2) * kWordSize) + header_size, kObjectAlignment), - cls.host_instance_size()); + cls.instance_size()); EXPECT_EQ(kNumNativeFields, cls.num_native_fields()); } diff --git a/runtime/vm/datastream.h b/runtime/vm/datastream.h index 77c74bcd1cfe4..da4c450145c46 100644 --- a/runtime/vm/datastream.h +++ b/runtime/vm/datastream.h @@ -72,10 +72,7 @@ class ReadStream : public ValueObject { current_ += len; } - template - T ReadUnsigned() { - return Read(kEndUnsignedByteMarker); - } + intptr_t ReadUnsigned() { return Read(kEndUnsignedByteMarker); } intptr_t Position() const { return current_ - buffer_; } void SetPosition(intptr_t value) { @@ -106,19 +103,6 @@ class ReadStream : public ValueObject { return Read(kEndByteMarker); } - uword ReadWordWith32BitReads() { - constexpr intptr_t kNumBytesPerRead32 = sizeof(uint32_t); - constexpr intptr_t kNumRead32PerWord = sizeof(uword) / kNumBytesPerRead32; - constexpr intptr_t kNumBitsPerRead32 = kNumBytesPerRead32 * kBitsPerByte; - - uword value = 0; - for (intptr_t j = 0; j < kNumRead32PerWord; j++) { - const auto partial_value = Raw::Read(this); - value |= (static_cast(partial_value) << (j * kNumBitsPerRead32)); - } - return value; - } - private: int16_t Read16() { return Read16(kEndByteMarker); } @@ -379,21 +363,8 @@ class WriteStream : public ValueObject { } }; - void WriteWordWith32BitWrites(uword value) { - constexpr intptr_t kNumBytesPerWrite32 = sizeof(uint32_t); - constexpr intptr_t kNumWrite32PerWord = sizeof(uword) / kNumBytesPerWrite32; - constexpr intptr_t kNumBitsPerWrite32 = kNumBytesPerWrite32 * kBitsPerByte; - - const uint32_t mask = Utils::NBitMask(kNumBitsPerWrite32); - for (intptr_t j = 0; j < kNumWrite32PerWord; j++) { - const uint32_t shifted_value = (value >> (j * kNumBitsPerWrite32)); - Raw::Write(this, shifted_value & mask); - } - } - - template - void WriteUnsigned(T value) { - ASSERT(value >= 0); + void WriteUnsigned(intptr_t value) { + ASSERT((value >= 0) && (value <= kIntptrMax)); while (value > kMaxUnsignedDataPerByte) { WriteByte(static_cast(value & kByteMask)); value = value >> kDataBitsPerByte; diff --git a/runtime/vm/deferred_objects.cc b/runtime/vm/deferred_objects.cc index 2072c77aa81c9..7238899e106ba 100644 --- a/runtime/vm/deferred_objects.cc +++ b/runtime/vm/deferred_objects.cc @@ -307,7 +307,7 @@ void DeferredObject::Fill() { // materialization of e.g. _ByteDataView objects which don't have // explicit fields in Dart (all accesses to the fields are done via // recognized native methods). - ASSERT(offset.Value() < cls.host_instance_size()); + ASSERT(offset.Value() < cls.instance_size()); obj.SetFieldAtOffset(offset.Value(), value); if (FLAG_trace_deoptimization_verbose) { OS::PrintErr(" null Field @ offset(%" Pd ") <- %s\n", diff --git a/runtime/vm/heap/scavenger.cc b/runtime/vm/heap/scavenger.cc index 0c15bb819afba..484821c6b4888 100644 --- a/runtime/vm/heap/scavenger.cc +++ b/runtime/vm/heap/scavenger.cc @@ -137,7 +137,7 @@ class ScavengerVisitor : public ObjectPointerVisitor { view->RecomputeDataFieldForInternalTypedData(); } - virtual void VisitPointers(RawObject** first, RawObject** last) { + void VisitPointers(RawObject** first, RawObject** last) { ASSERT(Utils::IsAligned(first, sizeof(*first))); ASSERT(Utils::IsAligned(last, sizeof(*last))); for (RawObject** current = first; current <= last; current++) { diff --git a/runtime/vm/interpreter.cc b/runtime/vm/interpreter.cc index d59dbfec40923..7f2b3fb0037ca 100644 --- a/runtime/vm/interpreter.cc +++ b/runtime/vm/interpreter.cc @@ -126,9 +126,10 @@ class InterpreterHelpers { RawClass* instance_class = thread->isolate()->class_table()->At(GetClassId(instance)); return instance_class->ptr()->num_type_arguments_ > 0 - ? reinterpret_cast(instance->ptr()) - [instance_class->ptr() - ->host_type_arguments_field_offset_in_words_] + ? reinterpret_cast( + instance + ->ptr())[instance_class->ptr() + ->type_arguments_field_offset_in_words_] : TypeArguments::null(); } @@ -1204,7 +1205,7 @@ bool Interpreter::AssertAssignable(Thread* thread, } else if (instance_class->ptr()->num_type_arguments_ > 0) { instance_type_arguments = reinterpret_cast( instance->ptr())[instance_class->ptr() - ->host_type_arguments_field_offset_in_words_]; + ->type_arguments_field_offset_in_words_]; } parent_function_type_arguments = static_cast(null_value); @@ -2332,7 +2333,7 @@ RawObject* Interpreter::Call(RawFunction* function, BYTECODE(InitLateField, D); RawField* field = RAW_CAST(Field, LOAD_CONSTANT(rD + 1)); RawInstance* instance = reinterpret_cast(SP[0]); - intptr_t offset_in_words = field->ptr()->host_offset_or_field_id_; + intptr_t offset_in_words = field->ptr()->offset_or_field_id_; instance->StorePointer( reinterpret_cast(instance->ptr()) + offset_in_words, @@ -2361,7 +2362,7 @@ RawObject* Interpreter::Call(RawFunction* function, BYTECODE(StoreStaticTOS, D); RawField* field = reinterpret_cast(LOAD_CONSTANT(rD)); RawInstance* value = static_cast(*SP--); - intptr_t field_id = field->ptr()->host_offset_or_field_id_; + intptr_t field_id = field->ptr()->offset_or_field_id_; thread->field_table_values()[field_id] = value; DISPATCH(); } @@ -2369,7 +2370,7 @@ RawObject* Interpreter::Call(RawFunction* function, { BYTECODE(LoadStatic, D); RawField* field = reinterpret_cast(LOAD_CONSTANT(rD)); - intptr_t field_id = field->ptr()->host_offset_or_field_id_; + intptr_t field_id = field->ptr()->offset_or_field_id_; RawInstance* value = thread->field_table_values()[field_id]; ASSERT((value != Object::sentinel().raw()) && (value != Object::transition_sentinel().raw())); @@ -2382,7 +2383,7 @@ RawObject* Interpreter::Call(RawFunction* function, RawField* field = RAW_CAST(Field, LOAD_CONSTANT(rD + 1)); RawInstance* instance = reinterpret_cast(SP[-1]); RawObject* value = reinterpret_cast(SP[0]); - intptr_t offset_in_words = field->ptr()->host_offset_or_field_id_; + intptr_t offset_in_words = field->ptr()->offset_or_field_id_; if (InterpreterHelpers::FieldNeedsGuardUpdate(field, value)) { SP[1] = 0; // Unused result of runtime call. @@ -2557,7 +2558,7 @@ RawObject* Interpreter::Call(RawFunction* function, RawClass* cls = Class::RawCast(LOAD_CONSTANT(rD)); if (LIKELY(InterpreterHelpers::IsFinalized(cls))) { const intptr_t class_id = cls->ptr()->id_; - const intptr_t instance_size = cls->ptr()->host_instance_size_in_words_ + const intptr_t instance_size = cls->ptr()->instance_size_in_words_ << kWordSizeLog2; RawObject* result; if (TryAllocate(thread, class_id, instance_size, &result)) { @@ -2587,7 +2588,7 @@ RawObject* Interpreter::Call(RawFunction* function, RawTypeArguments* type_args = TypeArguments::RawCast(SP[-1]); if (LIKELY(InterpreterHelpers::IsFinalized(cls))) { const intptr_t class_id = cls->ptr()->id_; - const intptr_t instance_size = cls->ptr()->host_instance_size_in_words_ + const intptr_t instance_size = cls->ptr()->instance_size_in_words_ << kWordSizeLog2; RawObject* result; if (TryAllocate(thread, class_id, instance_size, &result)) { @@ -2597,8 +2598,7 @@ RawObject* Interpreter::Call(RawFunction* function, *reinterpret_cast(start + offset) = null_value; } const intptr_t type_args_offset = - cls->ptr()->host_type_arguments_field_offset_in_words_ - << kWordSizeLog2; + cls->ptr()->type_arguments_field_offset_in_words_ << kWordSizeLog2; *reinterpret_cast(start + type_args_offset) = type_args; *--SP = result; DISPATCH(); @@ -3168,7 +3168,7 @@ RawObject* Interpreter::Call(RawFunction* function, // Field object is cached in function's data_. RawField* field = reinterpret_cast(function->ptr()->data_); - intptr_t offset_in_words = field->ptr()->host_offset_or_field_id_; + intptr_t offset_in_words = field->ptr()->offset_or_field_id_; const intptr_t kArgc = 1; RawInstance* instance = @@ -3188,7 +3188,7 @@ RawObject* Interpreter::Call(RawFunction* function, function = FrameFunction(FP); instance = reinterpret_cast(SP[2]); field = reinterpret_cast(SP[3]); - offset_in_words = field->ptr()->host_offset_or_field_id_; + offset_in_words = field->ptr()->offset_or_field_id_; value = reinterpret_cast(instance->ptr())[offset_in_words]; } @@ -3249,7 +3249,7 @@ RawObject* Interpreter::Call(RawFunction* function, // Field object is cached in function's data_. RawField* field = reinterpret_cast(function->ptr()->data_); - intptr_t offset_in_words = field->ptr()->host_offset_or_field_id_; + intptr_t offset_in_words = field->ptr()->offset_or_field_id_; const intptr_t kArgc = 2; RawInstance* instance = reinterpret_cast(FrameArguments(FP, kArgc)[0]); @@ -3329,7 +3329,7 @@ RawObject* Interpreter::Call(RawFunction* function, // Field object is cached in function's data_. RawField* field = reinterpret_cast(function->ptr()->data_); - intptr_t field_id = field->ptr()->host_offset_or_field_id_; + intptr_t field_id = field->ptr()->offset_or_field_id_; RawInstance* value = thread->field_table_values()[field_id]; if (value == Object::sentinel().raw() || value == Object::transition_sentinel().raw()) { @@ -3343,7 +3343,7 @@ RawObject* Interpreter::Call(RawFunction* function, function = FrameFunction(FP); field = reinterpret_cast(function->ptr()->data_); // The field is initialized by the runtime call, but not returned. - intptr_t field_id = field->ptr()->host_offset_or_field_id_; + intptr_t field_id = field->ptr()->offset_or_field_id_; value = thread->field_table_values()[field_id]; } diff --git a/runtime/vm/isolate_reload.cc b/runtime/vm/isolate_reload.cc index 981972a329b7b..6b7d2687ab64e 100644 --- a/runtime/vm/isolate_reload.cc +++ b/runtime/vm/isolate_reload.cc @@ -110,9 +110,9 @@ InstanceMorpher* InstanceMorpher::CreateFromClassDescriptors( if (from.NumTypeArguments() > 0) { // Add copying of the optional type argument field. - intptr_t from_offset = from.host_type_arguments_field_offset(); + intptr_t from_offset = from.type_arguments_field_offset(); ASSERT(from_offset != Class::kNoTypeArguments); - intptr_t to_offset = to.host_type_arguments_field_offset(); + intptr_t to_offset = to.type_arguments_field_offset(); ASSERT(to_offset != Class::kNoTypeArguments); mapping->Add(from_offset); mapping->Add(to_offset); @@ -152,8 +152,8 @@ InstanceMorpher* InstanceMorpher::CreateFromClassDescriptors( from_name = from_field.name(); if (from_name.Equals(to_name)) { // Success - mapping->Add(from_field.HostOffset()); - mapping->Add(to_field.HostOffset()); + mapping->Add(from_field.Offset()); + mapping->Add(to_field.Offset()); // Field did exist in old class deifnition. new_field = false; } @@ -163,7 +163,7 @@ InstanceMorpher* InstanceMorpher::CreateFromClassDescriptors( const Field& field = Field::Handle(to_field.raw()); field.set_needs_load_guard(true); field.set_is_unboxing_candidate(false); - new_fields_offsets->Add(field.HostOffset()); + new_fields_offsets->Add(field.Offset()); } } @@ -1247,9 +1247,8 @@ void IsolateGroupReloadContext::FindModifiedSources( uri = script.url(); const bool dart_scheme = uri.StartsWith(Symbols::DartScheme()); if (dart_scheme) { - // If a user-defined class mixes in a mixin from dart:*, it's list of - // scripts will have a dart:* script as well. We don't consider those - // during reload. + // If a user-defined class mixes in a mixin from dart:*, it's list of scripts will have + // a dart:* script as well. We don't consider those during reload. continue; } if (ContainsScriptUri(modified_sources_uris, uri.ToCString())) { diff --git a/runtime/vm/kernel_loader.cc b/runtime/vm/kernel_loader.cc index bd81e37acbfb6..49ef53b96757e 100644 --- a/runtime/vm/kernel_loader.cc +++ b/runtime/vm/kernel_loader.cc @@ -8,7 +8,6 @@ #include -#include "vm/compiler/backend/flow_graph_compiler.h" #include "vm/compiler/frontend/constant_reader.h" #include "vm/compiler/frontend/kernel_translation_helper.h" #include "vm/dart_api_impl.h" @@ -949,17 +948,6 @@ void KernelLoader::ReadInferredType(const Field& field, field.set_guarded_cid(type.cid); field.set_is_nullable(type.IsNullable()); field.set_guarded_list_length(Field::kNoFixedLength); - if (FLAG_precompiled_mode) { - field.set_is_unboxing_candidate( - !field.is_late() && !field.is_static() && - ((field.guarded_cid() == kDoubleCid && - FlowGraphCompiler::SupportsUnboxedDoubles()) || - (field.guarded_cid() == kFloat32x4Cid && - FlowGraphCompiler::SupportsUnboxedSimd128()) || - (field.guarded_cid() == kFloat64x2Cid && - FlowGraphCompiler::SupportsUnboxedSimd128())) && - !field.is_nullable()); - } } void KernelLoader::CheckForInitializer(const Field& field) { diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc index ca5e620797777..2d23770aa6ad9 100644 --- a/runtime/vm/object.cc +++ b/runtime/vm/object.cc @@ -693,19 +693,14 @@ void Object::Init(Isolate* isolate) { // to lookup class class in the class table where it is not registered yet. cls.raw_ = class_class_; ASSERT(builtin_vtables_[kClassCid] == fake.vtable()); - cls.set_instance_size( - Class::InstanceSize(), - compiler::target::RoundedAllocationSize(RTN::Class::InstanceSize())); - const intptr_t host_next_field_offset = Class::NextFieldOffset(); - const intptr_t target_next_field_offset = RTN::Class::NextFieldOffset(); - cls.set_next_field_offset(host_next_field_offset, target_next_field_offset); + cls.set_instance_size(Class::InstanceSize()); + cls.set_next_field_offset(Class::NextFieldOffset()); cls.set_id(Class::kClassId); cls.set_state_bits(0); cls.set_is_finalized(); cls.set_is_declaration_loaded(); cls.set_is_type_finalized(); - cls.set_type_arguments_field_offset_in_words(Class::kNoTypeArguments, - RTN::Class::kNoTypeArguments); + cls.set_type_arguments_field_offset_in_words(Class::kNoTypeArguments); cls.set_num_type_arguments(0); cls.set_num_native_fields(0); cls.InitEmptyFields(); @@ -713,23 +708,19 @@ void Object::Init(Isolate* isolate) { } // Allocate and initialize the null class. - cls = Class::New(kNullCid, isolate); + cls = Class::New(kNullCid, isolate); cls.set_num_type_arguments(0); isolate->object_store()->set_null_class(cls); // Allocate and initialize the free list element class. - cls = - Class::New(kFreeListElement, isolate); + cls = Class::New(kFreeListElement, isolate); cls.set_num_type_arguments(0); cls.set_is_finalized(); cls.set_is_declaration_loaded(); cls.set_is_type_finalized(); // Allocate and initialize the forwarding corpse class. - cls = Class::New(kForwardingCorpse, - isolate); + cls = Class::New(kForwardingCorpse, isolate); cls.set_num_type_arguments(0); cls.set_is_finalized(); cls.set_is_declaration_loaded(); @@ -753,136 +744,132 @@ void Object::Init(Isolate* isolate) { } // Allocate the remaining VM internal classes. - cls = Class::New(isolate); + cls = Class::New(isolate); type_arguments_class_ = cls.raw(); - cls = Class::New(isolate); + cls = Class::New(isolate); patch_class_class_ = cls.raw(); - cls = Class::New(isolate); + cls = Class::New(isolate); function_class_ = cls.raw(); - cls = Class::New(isolate); + cls = Class::New(isolate); closure_data_class_ = cls.raw(); - cls = Class::New(isolate); + cls = Class::New(isolate); signature_data_class_ = cls.raw(); - cls = Class::New(isolate); + cls = Class::New(isolate); redirection_data_class_ = cls.raw(); - cls = Class::New(isolate); + cls = Class::New(isolate); ffi_trampoline_data_class_ = cls.raw(); - cls = Class::New(isolate); + cls = Class::New(isolate); field_class_ = cls.raw(); - cls = Class::New(isolate); + cls = Class::New