293f1c006cc283345630ea38266f3ee38b624d5d |
|
09-Nov-2017 |
Mingyao Yang <mingyao@google.com> |
Check invocation's side effects for LSE. More optimization is allowed if an invocation doesn't do read/write. Test: run-test on host. Change-Id: Id80e2fa90b8c843afd852778e8f7e6c69c765ad5
|
025c1a69ea548f1477d160bd477364336109078a |
|
30-Oct-2017 |
Mingyao Yang <mingyao@google.com> |
Simplify handling of finalizable in LSE. Finalizable is treated as being returned which simplifies its handling. Test: run-test on host, 530-checker-lse contains tests on finalizable. Change-Id: I492470e4d2ba88865029675c51cf10325af47057
|
71bf7b43380eb445973f32a7f789d9670f8cc97d |
|
16-Nov-2016 |
Aart Bik <ajcbik@google.com> |
Optimizations around escape analysis. With tests. Details: (1) added new intrinsics (2) implemented optimizations more !can be null information more null check removals replace return-this uses with incoming parameter remove dead StringBuffer/Builder calls (with escape analysis) (3) Fixed exposed bug in CanBeMoved() Performance gain: This improves CafeineString by about 360% (removes null check from first loop, eliminates second loop completely) Test: test-art-host Change-Id: Iaf16a1b9cab6a7386f43d71c6b51dd59600e81c1
|
96fd51d52de759be442accd4df99eb2520bdd023 |
|
28-Nov-2016 |
Aart Bik <ajcbik@google.com> |
Moved escape analysis to reusable module Rationale: This prepares other optimizations that want to do some simple escape analysis. Also introduces ability for client to inject a case-specific function. Test: test-art-host Change-Id: Ie38a1e24e4479dc40154673db589ec1c82fb73b9
|