diff options
author | Nelli Kim <nelli.kim@samsung.com> | 2016-05-13 13:08:53 +0300 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2016-06-21 09:50:26 -0700 |
commit | 0790af1391b316c5c12b4e135be357008c060696 (patch) | |
tree | 70b2b7e0db8c107b737df1e2aa0f19fe5c4219c2 /runtime/image.cc | |
parent | a6eb11d1bc3b174feeb64d06eb92cd10e81808d7 (diff) | |
download | art-0790af1391b316c5c12b4e135be357008c060696.tar.gz art-0790af1391b316c5c12b4e135be357008c060696.tar.bz2 art-0790af1391b316c5c12b4e135be357008c060696.zip |
Optimize IMT
* Remove IMT for classes which do not implement interfaces
* Remove IMT for array classes
* Share same IMT
Saved memory (measured on hammerhead):
boot.art:
Total number of classes: 3854
Number of affected classes: 1637
Saved memory: 409kB
Chrome (excluding classes in boot.art):
Total number of classes: 2409
Number of affected classes: 1259
Saved memory: 314kB
Google Maps (excluding classes in boot.art):
Total number of classes: 6988
Number of affected classes: 2574
Saved memory: 643kB
Performance regression on benchmarks/InvokeInterface.java benchmark
(measured timeCall10Interface)
1st launch: 9.6%
2nd launch: 6.8%
Bug: 29188168
(cherry picked from commit badee9820fcf5dca5f8c46c3215ae1779ee7736e)
Change-Id: If8db765e3333cb78eb9ef0d66c2fc78a5f17f497
Diffstat (limited to 'runtime/image.cc')
-rw-r--r-- | runtime/image.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/image.cc b/runtime/image.cc index a9552c27d3..2362a92c24 100644 --- a/runtime/image.cc +++ b/runtime/image.cc @@ -24,7 +24,7 @@ namespace art { const uint8_t ImageHeader::kImageMagic[] = { 'a', 'r', 't', '\n' }; -const uint8_t ImageHeader::kImageVersion[] = { '0', '2', '9', '\0' }; +const uint8_t ImageHeader::kImageVersion[] = { '0', '3', '0', '\0' }; ImageHeader::ImageHeader(uint32_t image_begin, uint32_t image_size, |