diff options
author | Fred Shih <ffred@google.com> | 2014-08-25 17:24:27 -0700 |
---|---|---|
committer | Fred Shih <ffred@google.com> | 2014-08-28 12:00:07 -0700 |
commit | 381e4ca3cc9fc6405ff20e1de873a56d78d51923 (patch) | |
tree | d526a0a141f6141c941cc6862be30f64eaa4735c /runtime/class_linker.h | |
parent | a0a0da29e7d4d5c1bd471c49f1a4b6ec98fb767a (diff) | |
download | art-381e4ca3cc9fc6405ff20e1de873a56d78d51923.zip art-381e4ca3cc9fc6405ff20e1de873a56d78d51923.tar.gz art-381e4ca3cc9fc6405ff20e1de873a56d78d51923.tar.bz2 |
Filling hole between subclass and superclass.
Subclasses no longer need to be 4-byte aligned at the end. Any gaps
between a superclass and its subclasses will be filled in by halfword
or byte fields if possible.
Refactored the alignment and shuffling methods to use a priority queue
in order to reduce the amount of logic when laying out objects.
Change-Id: Ifed71af534e0c5e77bb14555c44b973fe66df6da
Diffstat (limited to 'runtime/class_linker.h')
-rw-r--r-- | runtime/class_linker.h | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/runtime/class_linker.h b/runtime/class_linker.h index 52ecff6..c7d6060 100644 --- a/runtime/class_linker.h +++ b/runtime/class_linker.h @@ -527,19 +527,6 @@ class ClassLinker { void LinkCode(ConstHandle<mirror::ArtMethod> method, const OatFile::OatClass* oat_class, const DexFile& dex_file, uint32_t dex_method_index, uint32_t method_index) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); - template<int n> - void AlignFields(size_t& current_field, const size_t num_fields, - MemberOffset& field_offset, - mirror::ObjectArray<mirror::ArtField>* fields, - std::deque<mirror::ArtField*>& grouped_and_sorted_fields) - SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); - template<int n> - void ShuffleForward(size_t& current_field, const size_t num_fields, - MemberOffset& field_offset, - mirror::ObjectArray<mirror::ArtField>* fields, - std::deque<mirror::ArtField*>& grouped_and_sorted_fields) - SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); - void CreateReferenceInstanceOffsets(ConstHandle<mirror::Class> klass) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); void CreateReferenceStaticOffsets(ConstHandle<mirror::Class> klass) |