Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: runtime/vm/object.h

Issue 2823873003: Tree shaker: (Closed)
Patch Set: . Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #ifndef RUNTIME_VM_OBJECT_H_ 5 #ifndef RUNTIME_VM_OBJECT_H_
6 #define RUNTIME_VM_OBJECT_H_ 6 #define RUNTIME_VM_OBJECT_H_
7 7
8 #include "include/dart_api.h" 8 #include "include/dart_api.h"
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "platform/utils.h" 10 #include "platform/utils.h"
(...skipping 3746 matching lines...) Expand 10 before | Expand all | Expand 10 after
3757 const Array& param_values) const; 3757 const Array& param_values) const;
3758 3758
3759 // Library scope name dictionary. 3759 // Library scope name dictionary.
3760 // 3760 //
3761 // TODO(turnidge): The Lookup functions are not consistent in how 3761 // TODO(turnidge): The Lookup functions are not consistent in how
3762 // they deal with private names. Go through and make them a bit 3762 // they deal with private names. Go through and make them a bit
3763 // more regular. 3763 // more regular.
3764 void AddClass(const Class& cls) const; 3764 void AddClass(const Class& cls) const;
3765 void AddObject(const Object& obj, const String& name) const; 3765 void AddObject(const Object& obj, const String& name) const;
3766 void ReplaceObject(const Object& obj, const String& name) const; 3766 void ReplaceObject(const Object& obj, const String& name) const;
3767 bool RemoveObject(const Object& obj, const String& name) const;
3768 RawObject* LookupReExport(const String& name, 3767 RawObject* LookupReExport(const String& name,
3769 ZoneGrowableArray<intptr_t>* visited = NULL) const; 3768 ZoneGrowableArray<intptr_t>* visited = NULL) const;
3770 RawObject* LookupObjectAllowPrivate(const String& name) const; 3769 RawObject* LookupObjectAllowPrivate(const String& name) const;
3771 RawObject* LookupLocalObjectAllowPrivate(const String& name) const; 3770 RawObject* LookupLocalObjectAllowPrivate(const String& name) const;
3772 RawObject* LookupLocalObject(const String& name) const; 3771 RawObject* LookupLocalObject(const String& name) const;
3773 RawObject* LookupImportedObject(const String& name) const; 3772 RawObject* LookupImportedObject(const String& name) const;
3774 RawClass* LookupClass(const String& name) const; 3773 RawClass* LookupClass(const String& name) const;
3775 RawClass* LookupClassAllowPrivate(const String& name) const; 3774 RawClass* LookupClassAllowPrivate(const String& name) const;
3776 RawClass* LookupLocalClass(const String& name) const; 3775 RawClass* LookupLocalClass(const String& name) const;
3777 RawField* LookupFieldAllowPrivate(const String& name) const; 3776 RawField* LookupFieldAllowPrivate(const String& name) const;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
3820 3819
3821 // Library imports. 3820 // Library imports.
3822 RawArray* imports() const { return raw_ptr()->imports_; } 3821 RawArray* imports() const { return raw_ptr()->imports_; }
3823 RawArray* exports() const { return raw_ptr()->exports_; } 3822 RawArray* exports() const { return raw_ptr()->exports_; }
3824 void AddImport(const Namespace& ns) const; 3823 void AddImport(const Namespace& ns) const;
3825 intptr_t num_imports() const { return raw_ptr()->num_imports_; } 3824 intptr_t num_imports() const { return raw_ptr()->num_imports_; }
3826 RawNamespace* ImportAt(intptr_t index) const; 3825 RawNamespace* ImportAt(intptr_t index) const;
3827 RawLibrary* ImportLibraryAt(intptr_t index) const; 3826 RawLibrary* ImportLibraryAt(intptr_t index) const;
3828 bool ImportsCorelib() const; 3827 bool ImportsCorelib() const;
3829 3828
3830 void DropDependencies() const; 3829 void DropDependenciesAndCaches() const;
3831 3830
3832 // Resolving native methods for script loaded in the library. 3831 // Resolving native methods for script loaded in the library.
3833 Dart_NativeEntryResolver native_entry_resolver() const { 3832 Dart_NativeEntryResolver native_entry_resolver() const {
3834 return raw_ptr()->native_entry_resolver_; 3833 return raw_ptr()->native_entry_resolver_;
3835 } 3834 }
3836 void set_native_entry_resolver(Dart_NativeEntryResolver value) const { 3835 void set_native_entry_resolver(Dart_NativeEntryResolver value) const {
3837 StoreNonPointer(&raw_ptr()->native_entry_resolver_, value); 3836 StoreNonPointer(&raw_ptr()->native_entry_resolver_, value);
3838 } 3837 }
3839 Dart_NativeEntrySymbol native_entry_symbol_resolver() const { 3838 Dart_NativeEntrySymbol native_entry_symbol_resolver() const {
3840 return raw_ptr()->native_entry_symbol_resolver_; 3839 return raw_ptr()->native_entry_symbol_resolver_;
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
3955 3954
3956 RawArray* exported_names() const { return raw_ptr()->exported_names_; } 3955 RawArray* exported_names() const { return raw_ptr()->exported_names_; }
3957 bool LookupExportedNamesCache(const String& name, Object* obj) const; 3956 bool LookupExportedNamesCache(const String& name, Object* obj) const;
3958 void AddToExportedNamesCache(const String& name, const Object& obj) const; 3957 void AddToExportedNamesCache(const String& name, const Object& obj) const;
3959 void InitExportedNamesCache() const; 3958 void InitExportedNamesCache() const;
3960 void ClearExportedNamesCache() const; 3959 void ClearExportedNamesCache() const;
3961 static void InvalidateExportedNamesCaches(); 3960 static void InvalidateExportedNamesCaches();
3962 3961
3963 3962
3964 void InitImportList() const; 3963 void InitImportList() const;
3965 void GrowDictionary(const Array& dict, intptr_t dict_size) const; 3964 void RehashDictionary(const Array& old_dict, intptr_t new_dict_size) const;
3966 static RawLibrary* NewLibraryHelper(const String& url, bool import_core_lib); 3965 static RawLibrary* NewLibraryHelper(const String& url, bool import_core_lib);
3967 RawObject* LookupEntry(const String& name, intptr_t* index) const; 3966 RawObject* LookupEntry(const String& name, intptr_t* index) const;
3968 3967
3969 void AllocatePrivateKey() const; 3968 void AllocatePrivateKey() const;
3970 3969
3971 RawString* MakeMetadataName(const Object& obj) const; 3970 RawString* MakeMetadataName(const Object& obj) const;
3972 RawField* GetMetadataField(const String& metaname) const; 3971 RawField* GetMetadataField(const String& metaname) const;
3973 void AddMetadata(const Object& owner, 3972 void AddMetadata(const Object& owner,
3974 const String& name, 3973 const String& name,
3975 TokenPosition token_pos, 3974 TokenPosition token_pos,
3976 kernel::TreeNode* kernel_node = NULL) const; 3975 kernel::TreeNode* kernel_node = NULL) const;
3977 3976
3978 FINAL_HEAP_OBJECT_IMPLEMENTATION(Library, Object); 3977 FINAL_HEAP_OBJECT_IMPLEMENTATION(Library, Object);
3979 3978
3980 friend class Bootstrap; 3979 friend class Bootstrap;
3981 friend class Class; 3980 friend class Class;
3982 friend class Debugger; 3981 friend class Debugger;
3982 friend class DictionaryIterator;
3983 friend class Isolate; 3983 friend class Isolate;
3984 friend class DictionaryIterator; 3984 friend class LibraryDeserializationCluster;
3985 friend class Namespace; 3985 friend class Namespace;
3986 friend class Object; 3986 friend class Object;
3987 friend class LibraryDeserializationCluster; 3987 friend class Precompiler;
3988 }; 3988 };
3989 3989
3990 3990
3991 // A Namespace contains the names in a library dictionary, filtered by 3991 // A Namespace contains the names in a library dictionary, filtered by
3992 // the show/hide combinators. 3992 // the show/hide combinators.
3993 class Namespace : public Object { 3993 class Namespace : public Object {
3994 public: 3994 public:
3995 RawLibrary* library() const { return raw_ptr()->library_; } 3995 RawLibrary* library() const { return raw_ptr()->library_; }
3996 RawArray* show_names() const { return raw_ptr()->show_names_; } 3996 RawArray* show_names() const { return raw_ptr()->show_names_; }
3997 RawArray* hide_names() const { return raw_ptr()->hide_names_; } 3997 RawArray* hide_names() const { return raw_ptr()->hide_names_; }
(...skipping 4986 matching lines...) Expand 10 before | Expand all | Expand 10 after
8984 8984
8985 inline void TypeArguments::SetHash(intptr_t value) const { 8985 inline void TypeArguments::SetHash(intptr_t value) const {
8986 // This is only safe because we create a new Smi, which does not cause 8986 // This is only safe because we create a new Smi, which does not cause
8987 // heap allocation. 8987 // heap allocation.
8988 StoreSmi(&raw_ptr()->hash_, Smi::New(value)); 8988 StoreSmi(&raw_ptr()->hash_, Smi::New(value));
8989 } 8989 }
8990 8990
8991 } // namespace dart 8991 } // namespace dart
8992 8992
8993 #endif // RUNTIME_VM_OBJECT_H_ 8993 #endif // RUNTIME_VM_OBJECT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698