summaryrefslogtreecommitdiff
path: root/compiler/image_writer.h
diff options
context:
space:
mode:
author Mathieu Chartier <mathieuc@google.com> 2016-01-07 16:29:01 -0800
committer Mathieu Chartier <mathieuc@google.com> 2016-01-07 18:33:06 -0800
commit1f47b678db70d57aa5194266651a8f4336fc851e (patch)
treea87144657ae8d824f80465019a094fef8ac35c4c /compiler/image_writer.h
parentb7332f1c774c675b5264a45890e72bf140664018 (diff)
Re-enable class table for image writer
Changes, create one temporary class table per ImageInfo. Don't keep track of class loaders. Bug: 26317072 Change-Id: I4f9121194f39031fb8629d60b6feeb2747a77870
Diffstat (limited to 'compiler/image_writer.h')
-rw-r--r--compiler/image_writer.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/compiler/image_writer.h b/compiler/image_writer.h
index d4237992cf..f491a5a296 100644
--- a/compiler/image_writer.h
+++ b/compiler/image_writer.h
@@ -47,6 +47,8 @@ class ImageSpace;
} // namespace space
} // namespace gc
+class ClassTable;
+
static constexpr int kInvalidImageFd = -1;
// Write a Space built during compilation for use during execution.
@@ -263,8 +265,14 @@ class ImageWriter FINAL {
// Cached size of the intern table for when we allocate memory.
size_t intern_table_bytes_ = 0;
- // Intern table associated with this for serialization.
+ // Number of image class table bytes.
+ size_t class_table_bytes_ = 0;
+
+ // Intern table associated with this image for serialization.
std::unique_ptr<InternTable> intern_table_;
+
+ // Class table associated with this image for serialization.
+ std::unique_ptr<ClassTable> class_table_;
};
// We use the lock word to store the offset of the object in the image.
@@ -504,9 +512,6 @@ class ImageWriter FINAL {
// null is a valid entry.
std::unordered_set<mirror::ClassLoader*> class_loaders_;
- // Number of image class table bytes.
- size_t class_table_bytes_;
-
// Which mode the image is stored as, see image.h
const ImageHeader::StorageMode image_storage_mode_;