| Age | Commit message (Collapse) | Author |
|
Change-Id: Ic998a29f2d5c573f34def798eb4f2fe5cf30e8a5
|
|
|
|
bug:25343683
bug:25438583
Change-Id: I232deb1b6761466b514c687ce304f61928755cdc
|
|
Fix assigning a null constant to an array index. Previously this
would unnecessarily invoke pAputObject.
This commit fixes previous test failure: 521-checker-array-set-null.
Change-Id: I02ff5296fa3a48b021c0dfd9bb10628ba6e5d5e5
|
|
|
|
* Give run-test a --quiet flag that causes it to only print on errors.
* Give cpplint a --quiet flag that causes it to not print anything
when there are no errors.
* Add a ART_TEST_QUIET flag to build/Android.common_test.mk which
makes run-test targets much quieter when true (the default). With
this flag only failures will be printed.
* Make build/Android.cpplint.mk pass the new cpplint --quiet flag so
that only failures will be printed.
Before:
[ 96% 5715/5906] build test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-461-get-reference-vreg32
test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-448-multiple-returns32 RUNNING
/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/448-multiple-returns: building...
/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/448-multiple-returns: running...
/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/448-multiple-returns: succeeded!
test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-448-multiple-returns32 PASSED
After:
[ 96% 5715/5906] build test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-461-get-reference-vreg32
Change-Id: Idf6fce7f48a619f83254b48861dbd7f8eb4ebdbf
|
|
|
|
Also remove hack done for ThreadStress.
Change-Id: Ie25c3bca08d9f2b8919706fa3fc26c5ab213f4a3
|
|
|
|
This reverts commit ce52901e2c8377fc1c331ae0faf7fbcb46b9da97.
Change-Id: I6b3a1f2a3dc036030b089b0df2005ecefa66b949
|
|
Dead block elimination was previously disabled because it needed
to be updated. With this patch, try/catch blocks can be removed
as a result of a dead if/switch branch.
Change-Id: I3261060bf24fd5fe7bb0f989247f0ef62ec5fd7b
|
|
Change-Id: Ic54821c80a8c6ab76d44e2a81a6f821b5741dc53
|
|
|
|
bug:25414532
Change-Id: I48b6660754774ea3e8a62a74175b1aa3728e0151
|
|
|
|
This patch updates the inliner to set try/catch information
when inlining into a method with try/catch. It does not yet
allow inlining of methods with try/catch because that will
require generating catch stack maps with inline info.
Change-Id: I7d57e1454e7da537d75c5c7eda60b22f3a30fa60
|
|
|
|
|
|
They will explicitly check that the jack compiler being used is
capable of compiling them before they do however (just to make
test-art work better).
Change-Id: I6b30c50d4159c2924886886d161479cbe869f4b0
|
|
|
|
Lookup table is a hash table which built at compile time and stored
into oat file. At runtime the table is restored and used in the
method DexFile::FindClassDef(const char*) to perform fast search of
the class_def_idx by class descriptor. Advantages of the lookup table
over the HashSet (runtime/base/hash_set.h) are:
1. Lookup table is built at compile time and uses read-only memory at
runtime
2. Lookup table uses less memory then DexFile::Index (less by 80% for
/system/framework/framework.jar on Nexus5)
3. Lookup table does less string comparisons compared with HashSet
(less by 70% for zygote process on Nexus5)
The disadvantage of the lookup table is it increased boot.oat size by
0.2% on Nexus5 and application .oat file by 0.3% in average on Nexus5.
mathieuc changes:
Create lookup table in dex2oat to speed up compilation. Clean up code
to follow style guide and use less static functions. Added
performance measurements.
Compile ~100 APKs 5 times with filter interpret-only:
Before:
real 1m8.989s
user 0m59.318s
sys 0m7.773s
After:
real 1m1.493s
user 0m52.055s
sys 0m7.581s
App launch (AOSP N5 maps, average of 45 runs):
Before: 966.84ms
After: 923.733ms
Launch speedup is 4.7%
Memory usage compared to HashSet index on 50 various APK:
32 bit: HashSet ~625694b vs TypeLookupTable ~404268b
64 bit: HashSet ~1251390b vs TypeLookupTable ~404268b
Bug: 10921004
Bug: 20269715
Change-Id: I7246c1d9ad9fe81fe5c5907a4bf70396d8f9242a
|
|
|
|
|
|
This reverts commit 7f43a3d48fc29045875d50e10bbc5d6ffc25d61e.
Fails booting.
Bug: 25357772
Change-Id: Ied19536f3ce8d81e76885cb6baed4853e2ed6714
|
|
Deoptimization of inlined frames would use the outer method's
vreg map, thus starting interpreter in bogus state.
Bug: 25331616
Change-Id: I1d4aefc731bb1386f3e6186a89b59981836480b3
|
|
Previously we would fail verification on some <clinit> methods when
default methods are enabled and they are not marked as public.
Previously we would also give verifier soft failures when using
interface statics.
Bug: 24618811
Change-Id: I735740b4058bfd71e67bc3fb99e6a8c0c4696b01
|
|
|
|
|
|
Made its help message actually list all of its options. Made
run-all-tests take more of the run-test options.
Change-Id: I213995eeea9052392f722897021e74c2a89d41f8
|
|
Change-Id: I00da947ba45be66bb24825af4fbe95b6fbe8fbc4
|
|
Change-Id: Idf8888aaef1d01123e1097c8108cb23fb1fdb945
|
|
Enable store elimination for singleton objects. However for finalizable object,
don't eliminate stores. Also added a testcase.
Change-Id: Icf991e7ded5b490f55f580ef928ece5c45e89902
|
|
Do not use the return address. It should not be clobbered as we
may need it, e.g., for single-frame deopt.
This fixes following tests:
* 449-checker-bce
* 534-checker-bce-deoptimization
* 535-deopt-and-inlining
Change-Id: Ic94a2897c7336da094a8937ab1bc4a02a680de53
|
|
|
|
Make run-test cleaner when using experimental default methods and
lambdas. Adds a --experimental <type> flag that adds the required
experimental compiler and runtime flags.
Change-Id: Ia9327b44e14597a400bf279fc946a43619f1355c
|
|
These tests are passing after the optimizing compiler is enabled.
Change-Id: Ib203c48532f2557bfec9325456f3b19d460ba047
|
|
|
|
This reverts commit 4e5dd521063beae1706410419f19c7e224db50fe.
Change-Id: I0de261d14dd3f71abe05f9bc71744820cf23b937
|
|
|
|
Stores into singleton objects that are finalizable need to be kept.
Disable those store eliminations before we have the finalizable info available.
Change-Id: I281e0c442588ec291b1002fdc9b59a144c15dc8e
|
|
|
|
Currently we run a type propagation pass unconditionally after the
inliner. This change looks at the returned value (if any) and runs a
minimal type propagation only if its type has changed.
Change-Id: I0dd72bd481219081e8a978d2632426afc980d73a
|
|
|
|
|
|
This reverts commit 8030c4100d2586fac39ed4007c61ee91d4ea4f25.
Change-Id: I79558d85484be5f5d04e4a44bea7201fece440f0
|
|
|
|
Properly handle the case when the same object is passed to
sun.misc.Unsafe.compareAndSwapObject for the `obj` and
`newValue` arguments (named `base` and `value` in the
intrinsic implementation) and re-enable this intrinsic.
Also convert some reinterpret_casts to down_casts.
Bug: 12687968
Change-Id: I82167cfa77840ae2cdb45b9f19f5f530858fe7e8
|
|
|
|
Their classpath dependency was missing
(cherry picked from commit 6c8d5962573e2df393594bbcee80d07f16edafe3)
Change-Id: Id4f489c140585c62b6c105533b97837612c6199c
|
|
Change-Id: Ie2198e3bb4b978c638de12db34547b4311d85eb5
|