3aaa37bba53d6df0265793de48b4b0b57327e57a |
|
29-Jul-2016 |
jessicahandojo <jessicahandojo@google.com> |
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
|
25abd6c0c9f5a6abebcdeeb6f4373e85eedcfb6b |
|
19-Jan-2016 |
Tim Zhang <tim.zhang@linaro.org> |
Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck This change refers to x86 implementation of StringGetCharsNoCheck and arm implementation of SystemArrayCopy. Change-Id: I1cb86854a2a8fa8736af7726b8efacd00d416f6f
|
39b6c24ce68cf05db0f82f454b4401cfb03d675f |
|
20-May-2015 |
Jeff Hao <jeffhao@google.com> |
Intercept JNI invocation of String.<init> methods. libmono uses JNI AllocObject and CallNonvirtualVoidMethod to create and initialize a string instead of using the recommended NewObject. This change adds an intercept to change the String.<init> call to a StringFactory call instead. Then, it uses the object id of the original string object referrer and maps it to the result of the StringFactory. Bug: 21288130 (cherry picked from commit 15e9ad1d028d7f12cb598b075453173532a00d91) Change-Id: I3421c43722c07397da4a398c2ca9110e1d40bcfa
|
15e9ad1d028d7f12cb598b075453173532a00d91 |
|
20-May-2015 |
Jeff Hao <jeffhao@google.com> |
Intercept JNI invocation of String.<init> methods. libmono uses JNI AllocObject and CallNonvirtualVoidMethod to create and initialize a string instead of using the recommended NewObject. This change adds an intercept to change the String.<init> call to a StringFactory call instead. Then, it uses the object id of the original string object referrer and maps it to the result of the StringFactory. Bug: 21288130 Change-Id: Ib4db402c178bc37188d5c5faf30b6e4fdc747b17
|
5d1ac920fdaef5d4ec8f66bb734488cd9660b024 |
|
30-Sep-2011 |
jeffhao <jeffhao@google.com> |
Adding old unit tests to test suite. These tests are copied straight over. They'll still run, but they're using the old system. Change-Id: If494519e52ddf858a9febfc55bdae830468cb3c8
|