| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/object.h" | 5 #include "vm/object.h" |
| 6 | 6 |
| 7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
| 10 #include "vm/become.h" | 10 #include "vm/become.h" |
| (...skipping 7250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7261 } | 7261 } |
| 7262 | 7262 |
| 7263 | 7263 |
| 7264 void SignatureData::set_signature_type(const Type& value) const { | 7264 void SignatureData::set_signature_type(const Type& value) const { |
| 7265 StorePointer(&raw_ptr()->signature_type_, value.raw()); | 7265 StorePointer(&raw_ptr()->signature_type_, value.raw()); |
| 7266 // If the signature type is resolved, the parent function is not needed | 7266 // If the signature type is resolved, the parent function is not needed |
| 7267 // anymore (type parameters may be declared by generic parent functions). | 7267 // anymore (type parameters may be declared by generic parent functions). |
| 7268 // Keeping the parent function can unnecessarily pull more objects into a | 7268 // Keeping the parent function can unnecessarily pull more objects into a |
| 7269 // snapshot. Also, the parent function is meaningless once the signature type | 7269 // snapshot. Also, the parent function is meaningless once the signature type |
| 7270 // is canonicalized. | 7270 // is canonicalized. |
| 7271 |
| 7272 // TODO(rmacnak): Keeping the parent function for unresolved signature types |
| 7273 // is causing a tree shaking issue in AOT. Please, investigate. |
| 7274 #if 0 |
| 7271 if (value.IsResolved()) { | 7275 if (value.IsResolved()) { |
| 7272 set_parent_function(Function::Handle()); // TODO(rmacnak): Removing this | 7276 set_parent_function(Function::Handle()); |
| 7273 // line causes a tree shaking issue in AOT. Please, investigate. | |
| 7274 } | 7277 } |
| 7278 #else |
| 7279 set_parent_function(Function::Handle()); |
| 7280 #endif |
| 7275 } | 7281 } |
| 7276 | 7282 |
| 7277 | 7283 |
| 7278 RawSignatureData* SignatureData::New() { | 7284 RawSignatureData* SignatureData::New() { |
| 7279 ASSERT(Object::signature_data_class() != Class::null()); | 7285 ASSERT(Object::signature_data_class() != Class::null()); |
| 7280 RawObject* raw = Object::Allocate(SignatureData::kClassId, | 7286 RawObject* raw = Object::Allocate(SignatureData::kClassId, |
| 7281 SignatureData::InstanceSize(), Heap::kOld); | 7287 SignatureData::InstanceSize(), Heap::kOld); |
| 7282 return reinterpret_cast<RawSignatureData*>(raw); | 7288 return reinterpret_cast<RawSignatureData*>(raw); |
| 7283 } | 7289 } |
| 7284 | 7290 |
| (...skipping 15587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 22872 return UserTag::null(); | 22878 return UserTag::null(); |
| 22873 } | 22879 } |
| 22874 | 22880 |
| 22875 | 22881 |
| 22876 const char* UserTag::ToCString() const { | 22882 const char* UserTag::ToCString() const { |
| 22877 const String& tag_label = String::Handle(label()); | 22883 const String& tag_label = String::Handle(label()); |
| 22878 return tag_label.ToCString(); | 22884 return tag_label.ToCString(); |
| 22879 } | 22885 } |
| 22880 | 22886 |
| 22881 } // namespace dart | 22887 } // namespace dart |
| OLD | NEW |