summaryrefslogtreecommitdiff
path: root/compiler/image_test.cc
diff options
context:
space:
mode:
author jessicahandojo <jessicahandojo@google.com> 2016-07-29 14:46:37 -0700
committer jessicahandojo <jessicahandojo@google.com> 2016-08-23 15:12:26 -0700
commit3aaa37bba53d6df0265793de48b4b0b57327e57a (patch)
treece795803f0f10003eb3d96d9348da620937675b3 /compiler/image_test.cc
parent792c98bb773c8c2390f9cbf774f85be9d9a75332 (diff)
creating workflow for mirror::String compression
All-ASCII String characters are stored in 8-bit blocks instead of 16-bit. The compression has not taken place, but all workflow are in the code already (changing kUseStringCompression in string.h file to TRUE will enable the feature) Notes: Feature works on interpreter only without optimizing Test art: m ART_TEST_INTERPRETER=true ART_TEST_OPTIMIZING=false test-art-host Also tested with String tests from libcore/: 1. libcore.java.lang.StringTest 2. libcore.java.lang.StringBufferTest 3. libcore.java.lang.StringBuilderTest 4. libcore.java.lang.OldStringTest 5. libcore.java.lang.OldStringBufferTest Memory improvement is 33% (from 6.03% to 4.03%, total String memory from all apps per total memory of all apps) measured on Angler with Hprof tools Bug: 31040547 Change-Id: I9cc92c265ebf1305fc06b5fc33efd83797660cce
Diffstat (limited to 'compiler/image_test.cc')
-rw-r--r--compiler/image_test.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/image_test.cc b/compiler/image_test.cc
index 91579e9daf..e1ee0d2966 100644
--- a/compiler/image_test.cc
+++ b/compiler/image_test.cc
@@ -188,6 +188,7 @@ void ImageTest::TestWriteRead(ImageHeader::StorageMode storage_mode) {
}
uint64_t image_file_size;
+ size_t image_size;
{
std::unique_ptr<File> file(OS::OpenFileForReading(image_file.GetFilename().c_str()));
ASSERT_TRUE(file.get() != nullptr);
@@ -206,6 +207,7 @@ void ImageTest::TestWriteRead(ImageHeader::StorageMode storage_mode) {
ASSERT_TRUE(space->IsMallocSpace());
image_file_size = file->GetLength();
+ image_size = image_header.GetImageSize();
}
ASSERT_TRUE(compiler_driver_->GetImageClasses() != nullptr);
@@ -255,10 +257,10 @@ void ImageTest::TestWriteRead(ImageHeader::StorageMode storage_mode) {
ASSERT_TRUE(image_space != nullptr);
if (storage_mode == ImageHeader::kStorageModeUncompressed) {
// Uncompressed, image should be smaller than file.
- ASSERT_LE(image_space->Size(), image_file_size);
+ ASSERT_LE(image_size, image_file_size);
} else {
// Compressed, file should be smaller than image.
- ASSERT_LE(image_file_size, image_space->Size());
+ ASSERT_LE(image_file_size, image_size);
}
image_space->VerifyImageAllocations();