OSDN Git Service
Treehugger Robot [Tue, 28 Jun 2016 10:33:35 +0000 (10:33 +0000)]
Merge "Optimize away useless masking operations on shift amounts."
Treehugger Robot [Tue, 28 Jun 2016 10:29:56 +0000 (10:29 +0000)]
Merge "MIPS64: Remove the workaround in VisitInvokeStaticOrDirect"
Vladimir Marko [Tue, 28 Jun 2016 10:07:38 +0000 (10:07 +0000)]
Merge "Fix 004-ThreadStress."
Treehugger Robot [Tue, 28 Jun 2016 10:05:42 +0000 (10:05 +0000)]
Merge "Optimizing: Do not depend on sharpening in test 450"
Treehugger Robot [Tue, 28 Jun 2016 09:49:33 +0000 (09:49 +0000)]
Merge "MIPS32: Drop redundant moves in integer conversions"
Vladimir Marko [Tue, 28 Jun 2016 08:57:50 +0000 (08:57 +0000)]
Merge "Clean up StringReferenceValueComparator and DexFile."
Alexandre Rames [Mon, 27 Jun 2016 10:39:19 +0000 (11:39 +0100)]
Optimize away useless masking operations on shift amounts.
Change-Id: I90d69757cc45312eda3d57cc2d32bfb4e47963f5
Nicolas Geoffray [Tue, 28 Jun 2016 08:26:16 +0000 (08:26 +0000)]
Merge "Revert "Gray only immune objects mutators access.""
Nicolas Geoffray [Tue, 28 Jun 2016 08:25:59 +0000 (08:25 +0000)]
Revert "Gray only immune objects mutators access."
Fails with:
art F 11338 11338 art/runtime/gc/collector/concurrent_copying-inl.h:83] Check failed: !kGrayImmuneObject || updated_all_immune_objects_.LoadRelaxed() || gc_grays_immune_objects_
Bug:
29516465
Bug:
12687968
This reverts commit
16292fcc98f03690576d0739b2e5fb04b375933c.
Change-Id: I1d2d988b7707e03cc94f019cf8bef5b9a9099060
Treehugger Robot [Tue, 28 Jun 2016 01:20:50 +0000 (01:20 +0000)]
Merge "Gray only immune objects mutators access."
Hiroshi Yamauchi [Tue, 21 Jun 2016 03:23:34 +0000 (20:23 -0700)]
Gray only immune objects mutators access.
To reduce image/zygote dirty pages.
GC doesn't gray immune space objects except when visiting the thread
GC roots of suspended threads during the thread flip. GC updates the
fields of immune space objects without pushing/popping them through
the mark stack. GC sets a bool flag after updating the fields of
immune space objects. After this point, mutators don't need gray to
immune space objects. Removed the mark bitmaps for immune spaces.
Bug:
29516465
Bug:
12687968
Test: art tests, libartd device boot, ritzperf.
Change-Id: Idfcffbdb94dfc8bfc89c30d6aff8888f04990a56
Andreas Gampe [Mon, 27 Jun 2016 22:52:38 +0000 (22:52 +0000)]
Merge "ART: Disable no-prebuild test for run-test 608"
Alexey Frunze [Mon, 27 Jun 2016 22:20:11 +0000 (15:20 -0700)]
MIPS32: Drop redundant moves in integer conversions
Change-Id: I0e3f393d87538eb9e35b3012ea36e81c8b7a225e
Andreas Gampe [Mon, 27 Jun 2016 21:55:02 +0000 (14:55 -0700)]
ART: Disable no-prebuild test for run-test 608
This test relies on unresolved types, which is not the case in a
no-prebuild setting (as all parts will be on the classpath).
Bug:
29433999
Change-Id: I11b1c6b446905aacd7a520796d0b2217319cefc7
Test: m ART_TEST_RUN_TEST_NO_PREBUILD=true test-art-host-run-test
Treehugger Robot [Mon, 27 Jun 2016 18:36:47 +0000 (18:36 +0000)]
Merge "Do not remove loads/store with unresolved accesses."
Nicolas Geoffray [Mon, 27 Jun 2016 09:03:29 +0000 (10:03 +0100)]
Do not remove loads/store with unresolved accesses.
Due to AOT and compiling classes that are not ready yet
(eg missing a super class), we need to be conservative when
accessing fields and can end up in a situation where the same
field can be resolved and unresolved within the same method
(because of inlining). Therefore, disable removing loads and
stores in a method when there are unresolved accesses.
bug:
29433999
Change-Id: I8fcfb52c584222474a8220eb16c6581350b702e0
Vladimir Marko [Mon, 27 Jun 2016 12:50:16 +0000 (13:50 +0100)]
Clean up StringReferenceValueComparator and DexFile.
Add a helper function to StringReference, so that the
StringReferenceValueComparator doesn't need to repeatedly
reference the same StringReference variable which led to
the bug
29602109.
Also clean up the DexFile, moving definitions of functions
that depend on the dex_file-inl.h from dex_file.h also to
the dex_file-inl.h.
Test: Run standard ART test suite on host and Nexus 5.
Bug:
29602109
Change-Id: I83e2aa67173c62b3432c26478e528bbb53b6d09f
Goran Jakovljevic [Mon, 27 Jun 2016 12:12:48 +0000 (14:12 +0200)]
Optimizing: Do not depend on sharpening in test 450
The sharpening may or may not remove the ArtMethod*
parameter, so the test must not depend on its absence.
This fixes the test 450 checker test on mips/mips64.
Change-Id: Ie62c5a7da5994c3b0c6f0452c9abb37575216806
Roland Levillain [Mon, 27 Jun 2016 12:29:37 +0000 (12:29 +0000)]
Merge "Fixes and cleaning for test/458-checker-instruction-simplification."
Vladimir Marko [Tue, 21 Jun 2016 17:21:53 +0000 (18:21 +0100)]
Fix 004-ThreadStress.
Synchronize the start of performing the tasks after all
threads have been created and runners reported their start.
This prevents a daemon thread from allocating all memory
before the main thread tries to allocate the next daemon
thread, which is the likely culprit of failing to print any
output whatsoever (the main thread exits due to an uncaught
OOME and printing the message also fails due to OOME).
Instead of repeating attempts to print "Finishing worker"
until it succeeds, print the message through JNI which does
not require any Java heap memory. Similarly, print caught
Throwables through JNI. Also make sure to preallocate
Strings that are used once we start running tasks to avoid
const-string throwing OOME. This also prevents a partial
success followed by a retry; we have seen a failure to
print the EOL, yielding "Finishing workerFinishing worker".
Change the "Thread exited..." message to be printed only in
DEBUG mode and compare the full output, ignoring different
numbers as the "Starting worker for <id>" may be reordered.
Test: "make -j 32 test-art-host-run-test-004-ThreadStress"
(4 configs: with or without gcstress, 32-bit and 64-bit)
100 times while also keeping the machine under load with
"make -j 32" to repeatedly build another full AOSP tree.
Bug:
27371304
Change-Id: I28286d70a08be64c36d0e49dd5558686813ff264
Alexandre Rames [Mon, 27 Jun 2016 10:13:34 +0000 (11:13 +0100)]
Fixes and cleaning for test/458-checker-instruction-simplification.
- Use the `doThrow` trick to defeat inlining.
- Fix the order of `expected` and `found` arguments for a few tests.
Change-Id: Id8e5041993d72f61e75b4586b49180006cda4b5c
Treehugger Robot [Fri, 24 Jun 2016 18:58:53 +0000 (18:58 +0000)]
Merge "ART: OneBit intrinsics should use 1ULL for 64-bit shift"
Treehugger Robot [Fri, 24 Jun 2016 18:53:48 +0000 (18:53 +0000)]
Merge "Adjust ART tests expectations after libcore changes."
Roland Levillain [Fri, 24 Jun 2016 17:44:36 +0000 (18:44 +0100)]
Adjust ART tests expectations after libcore changes.
Test: test/100-reflect2, test/201-built-in-exception-detail-messages
Change-Id: I0c13e37973d0b954cbafa15b049cb8934b88ebe5
Vladimir Marko [Fri, 24 Jun 2016 15:48:31 +0000 (15:48 +0000)]
Merge "Fix StringReferenceValueComparator."
Vladimir Marko [Fri, 24 Jun 2016 10:56:59 +0000 (11:56 +0100)]
Fix StringReferenceValueComparator.
Test: Added a regression test in string_reference_test.cc,
run the standard ART test suite on host and Nexus 5.
Bug:
29602109
Change-Id: Idcc059a07df048a0e3ece257b16b6556f242243e
Roland Levillain [Fri, 24 Jun 2016 13:04:36 +0000 (13:04 +0000)]
Merge changes I4d8da7ce,I4da5be01,Idfbead82
* changes:
Re-enable most intrinsics with read barriers.
Fix ARM & ARM64 UnsafeGetObject intrinsics with read barriers.
Fix x86 & x86-64 UnsafeGetObject intrinsics with read barriers.
Przemyslaw Szczepaniak [Fri, 24 Jun 2016 11:16:20 +0000 (11:16 +0000)]
Pavel Vyssotski [Wed, 22 Jun 2016 06:36:10 +0000 (12:36 +0600)]
ART: OneBit intrinsics should use 1ULL for 64-bit shift
Change-Id: I91cbe769081045e6a45a95154a8a8acf1ec352ef
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
David Brazdil [Thu, 23 Jun 2016 17:37:51 +0000 (17:37 +0000)]
Merge "ART: Run RTP if invoke inputs have more specific type"
Greg Kaiser [Thu, 23 Jun 2016 16:26:24 +0000 (16:26 +0000)]
Merge "elf_builder: Fix Mips header flags"
Richard Uhler [Thu, 23 Jun 2016 16:14:58 +0000 (16:14 +0000)]
Merge "OatFileAssistantTest: do not relocate image randomly."
Goran Jakovljevic [Thu, 23 Jun 2016 09:49:30 +0000 (11:49 +0200)]
MIPS64: Remove the workaround in VisitInvokeStaticOrDirect
This is not needed since $s2-$s8 are not blocked any more. This is
follow-up change for I325ab403752c6b9cd788147cb8b21d42aaff629e.
Change-Id: I934a21adb85581e137a6dcb3355605742b085d83
David Brazdil [Tue, 21 Jun 2016 16:48:19 +0000 (17:48 +0100)]
ART: Run RTP if invoke inputs have more specific type
Moving RTP inside the graph builder introduced a regression where
replacing the inner parameters with the actual arguments of the
HInvoke would not build the inner graph with types more specific
than the method's signature.
This patch runs RTP on the inner graph again when it is detected
that RTP may improve typing precision.
Bug:
29595335
Change-Id: I351babc8497c83c2fba589aa51f46eaa0b7ab33c
Roland Levillain [Thu, 23 Jun 2016 12:53:42 +0000 (13:53 +0100)]
Re-enable most intrinsics with read barriers.
Also extend sun.misc.Unsafe test coverage to exercise
sun.misc.Unsafe.{get,put}{Int,Long,Object}Volatile.
Bug:
26205973
Bug:
29516905
Change-Id: I4d8da7cee5c8a310c8825c1631f71e5cb2b80b30
Test: Covered by ART's run-tests.
Roland Levillain [Thu, 23 Jun 2016 12:48:47 +0000 (13:48 +0100)]
Fix ARM & ARM64 UnsafeGetObject intrinsics with read barriers.
The implementation was incorrectly interpreting the 'offset'
input as an index in a (4-byte) object reference array,
whereas it is a (1-byte) offset to an object reference field
within the 'base' (object) input.
Bug:
29516905
Change-Id: I4da5be0193217965f25e5d141c242592dea6ffe8
Test: Covered by test/004-UnsafeTest.
Sang, Chunlei [Tue, 5 Apr 2016 09:12:59 +0000 (17:12 +0800)]
Fix x86 & x86-64 UnsafeGetObject intrinsics with read barriers.
The implementation was incorrectly interpreting the 'offset'
input as an index in a (4-byte) object reference array,
whereas it is a (1-byte) offset to an object reference field
within the 'base' (object) input.
Bug:
29516905
Change-Id: Idfbead8289222b55069816a81284401eff791e85
Test: Covered by test/004-UnsafeTest.
Treehugger Robot [Thu, 23 Jun 2016 00:39:49 +0000 (00:39 +0000)]
Merge "Fixed typo in comment."
Aart Bik [Wed, 22 Jun 2016 23:50:52 +0000 (23:50 +0000)]
Merge "Support the -i flag in the new dexdump."
Aart Bik [Wed, 22 Jun 2016 23:34:46 +0000 (16:34 -0700)]
Fixed typo in comment.
Change-Id: I818e5e67d664dfd2bddd464ed8e4f5efceb1fb22
Aart Bik [Wed, 22 Jun 2016 01:30:10 +0000 (18:30 -0700)]
Support the -i flag in the new dexdump.
Rationale:
The old dexdump supported the -i feature (ignore checksum failures).
This CL adds the same functionality to the new dexdump. Note that
this feature is, for example, useful to inspect DEX files that are
extracted from images (with quickened instructions), since the
checksum is not always valid in those cases.
BUG=
29548017
Change-Id: I6017b2f3d789f450560b568297f43c62bf9453b1
Richard Uhler [Tue, 26 Apr 2016 17:24:38 +0000 (10:24 -0700)]
OatFileAssistantTest: do not relocate image randomly.
Manually relocate the boot image to a known location before starting
the runtime so that the image won't be randomly relocated. This fixes
flaky test failures due to the image randomly being relocated by 0.
Bug:
28294887
Change-Id: I05a7961f1237a05e89d3f631c959e260ccfe0b70
Nicolas Geoffray [Wed, 22 Jun 2016 13:14:21 +0000 (13:14 +0000)]
Merge "Revert "Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky."""""
Nicolas Geoffray [Wed, 22 Jun 2016 13:13:59 +0000 (13:13 +0000)]
Revert "Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky.""""
Bug:
29387050
This reverts commit
0b8a91477a3cd3357e89c20d78726728cf897246.
Change-Id: Ie349d70ee489fd4b9065df4a445bbf8ef42ae911
Przemyslaw Szczepaniak [Wed, 22 Jun 2016 12:30:36 +0000 (13:30 +0100)]
Track libcore change
694e617f54a7bfbdad24913ce96f5d56f1a1960a
Added new method to string class, resized the mirror object.
Bug:
28666126
Change-Id: Ibed4e134c16512bde5183e73e130534f08256888
Mathieu Chartier [Tue, 21 Jun 2016 21:39:06 +0000 (21:39 +0000)]
Merge "Number of unique strings loaded from dex code added to oatdump"
Christina Wadsworth [Mon, 20 Jun 2016 22:01:32 +0000 (15:01 -0700)]
Number of unique strings loaded from dex code added to oatdump
bug:
20323084
(cherry picked from commit
c0bf6a678fcf6c8aa230ea3401093ed162225f85)
Change-Id: I8dfb6c8e8cae1a9eb7cc209390062ea84092a824
Aart Bik [Tue, 21 Jun 2016 19:47:25 +0000 (19:47 +0000)]
Merge "Added a dexdump test containing every DEX instruction"
Treehugger Robot [Tue, 21 Jun 2016 16:54:17 +0000 (16:54 +0000)]
Merge "MIPS64: Unblock callee-save registers"
Vladimir Marko [Tue, 21 Jun 2016 16:18:10 +0000 (16:18 +0000)]
Merge "Replace String.charAt() with HIR."
Vladimir Marko [Tue, 21 Jun 2016 15:12:24 +0000 (15:12 +0000)]
Merge "Improve HLoadClass code generation."
Vladimir Marko [Tue, 21 Jun 2016 14:21:08 +0000 (14:21 +0000)]
Merge "x86: Fix CFI info for FOUR_ARG_DOWNCALL."
Vladimir Marko [Thu, 28 Apr 2016 14:52:11 +0000 (15:52 +0100)]
Replace String.charAt() with HIR.
Replace String.charAt() with HArrayLength, HBoundsCheck and
HArrayGet. This allows GVN on the HArrayLength and BCE on
the HBoundsCheck as well as using the infrastructure for
HArrayGet, i.e. better handling of constant indexes than
the old intrinsic and using the HArm64IntermediateAddress.
Bug:
28330359
Change-Id: I32bf1da7eeafe82537a60416abf6ac412baa80dc
Vladimir Marko [Wed, 30 Mar 2016 12:23:58 +0000 (13:23 +0100)]
Improve HLoadClass code generation.
For classes in the boot image, use either direct pointers
or PC-relative addresses. For other classes, use PC-relative
access to the dex cache arrays for AOT and direct address of
the type's dex cache slot for JIT.
For aosp_flounder-userdebug:
- 32-bit boot.oat: -252KiB (-0.3%)
- 64-bit boot.oat: -412KiB (-0.4%)
- 32-bit dalvik cache total: -392KiB (-0.4%)
- 64-bit dalvik-cache total: -2312KiB (-1.0%)
(contains more files than the 32-bit dalvik cache)
For aosp_flounder-userdebug forced to compile PIC:
- 32-bit boot.oat: -124KiB (-0.2%)
- 64-bit boot.oat: -420KiB (-0.5%)
- 32-bit dalvik cache total: -136KiB (-0.1%)
- 64-bit dalvik-cache total: -1136KiB (-0.5%)
(contains more files than the 32-bit dalvik cache)
Bug:
27950288
Change-Id: I4da991a4b7e53c63c92558b97923d18092acf139
Goran Jakovljevic [Tue, 21 Jun 2016 10:39:04 +0000 (12:39 +0200)]
MIPS64: Unblock callee-save registers
Callee-save registers shouldn't be blocked, except floating point
registers if the graph is debuggable.
Change-Id: I325ab403752c6b9cd788147cb8b21d42aaff629e
Nicolas Geoffray [Tue, 21 Jun 2016 12:06:50 +0000 (12:06 +0000)]
Merge "Fix braino in the test to make it work on target."
Nicolas Geoffray [Tue, 21 Jun 2016 12:05:24 +0000 (13:05 +0100)]
Fix braino in the test to make it work on target.
Change-Id: I074b93e8ceca9ca8cc49fa47af19484f522a78af
Vladimir Marko [Tue, 21 Jun 2016 10:24:47 +0000 (11:24 +0100)]
x86: Fix CFI info for FOUR_ARG_DOWNCALL.
Follow-up to
https://android-review.googlesource.com/237073
Bug:
28348339
Change-Id: I586828acf1269a6677128a0ded48cb8039024143
Vladimir Marko [Tue, 21 Jun 2016 11:20:49 +0000 (11:20 +0000)]
Merge "Catch additional OOME in ThreadStress."
Nicolas Geoffray [Tue, 21 Jun 2016 11:19:54 +0000 (11:19 +0000)]
Merge "Release the thread_list lock while waiting for daemons."
Vladimir Marko [Tue, 21 Jun 2016 09:38:23 +0000 (10:38 +0100)]
Catch additional OOME in ThreadStress.
And use pthread_sigmask() instead of sigprocmask() because
the latter is unspecified in a multithreaded process.
Bug:
27371304
Change-Id: Ia511ff62d38c0fcd985421442e506cdc5f8f30bf
Nicolas Geoffray [Mon, 20 Jun 2016 14:58:32 +0000 (15:58 +0100)]
Release the thread_list lock while waiting for daemons.
Daemons might be in a state where they are actually waiting for
it (for example Thread.isInterrupted). If the shutdown thread
doesn't release the lock, such daemon cannot make progress.
bug:
27353286
Change-Id: Ib7f4c7d1b56d73a829d01d5bfc0ab663fbb80b46
Treehugger Robot [Mon, 20 Jun 2016 23:41:51 +0000 (23:41 +0000)]
Merge "ART: Use null for the BootClassLoader in LoadLibrary"
Andreas Gampe [Fri, 17 Jun 2016 19:46:14 +0000 (12:46 -0700)]
ART: Use null for the BootClassLoader in LoadLibrary
We must translate the fake BootClassLoader object to the internally
used null when loading libraries.
Bug:
29449194
Test: test-art-host
(cherry picked from commit
f7e0db0ce1170b88043f7eb6afcc93c861c4611d)
Change-Id: I823d34e209149b5b96529a423c60a1d77bf8e9d1
Aart Bik [Mon, 20 Jun 2016 21:14:43 +0000 (14:14 -0700)]
Added a dexdump test containing every DEX instruction
Rationale:
To get full dexdump coverage, every DEX instruction should at
least be tested once. Since it is hard to construct Java tests
that eventually yield every possible instruction, smali has been
used to construct the all.dex file with every DEX opcode.
NOTE that the DEX file does not verify (or even makes sense).
It is merely intended as test input to dexdump to ensure each
opcode renders well.
Change-Id: I44d534d5ea076a3dbc16233e27cb8940f00c1d57
Aart Bik [Mon, 20 Jun 2016 18:08:44 +0000 (18:08 +0000)]
Merge "Implemented annotations display in dexdump."
Mathieu Chartier [Sat, 18 Jun 2016 00:27:47 +0000 (00:27 +0000)]
Merge "Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky.""""
Mathieu Chartier [Sat, 18 Jun 2016 00:03:23 +0000 (17:03 -0700)]
Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky."""
Bug:
29387050
This reverts commit
64ed882e0787014e5a0e5d62fe049dbfce150f92.
Change-Id: I09a5e0773dffccae741d7534405e7c1a7aa222ed
Christopher Ferris [Fri, 17 Jun 2016 23:57:14 +0000 (23:57 +0000)]
Merge "Add lock when iterating over BacktraceMap."
Aart Bik [Fri, 10 Jun 2016 23:04:03 +0000 (16:04 -0700)]
Implemented annotations display in dexdump.
Rationale:
Showing this in true dexdump style as a separate construct
under switch -a (rather than interpreting the data and showing
each annotation where it is used). Also added new test to
cover many more value encodings in static fields.
BUG=
28981655
Change-Id: I6d7d44cbd358d9880aab78812471bdb0dc6b6ad8
Mathieu Chartier [Fri, 17 Jun 2016 18:41:28 +0000 (18:41 +0000)]
Merge changes I25d9ac3e,I783dac75
* changes:
Revert "Revert "Skip DumpForSigQuit if debugger is active""
Revert "Skip DumpForSigQuit if debugger is active"
Mathieu Chartier [Fri, 17 Jun 2016 18:39:15 +0000 (11:39 -0700)]
Revert "Revert "Skip DumpForSigQuit if debugger is active""
Bug:
26118154
This reverts commit
539f7fb0964a184b24bf40c729577be76dd7749a.
Mathieu Chartier [Fri, 17 Jun 2016 00:02:52 +0000 (17:02 -0700)]
Revert "Skip DumpForSigQuit if debugger is active"
Bug:
26118154
This reverts commit
0b8f1bfdfc721a41d98d13e12c4c67f62f698dfc.
(cherry picked from commit
6017782485d30c4e440e53107dde03dc20d56a9a)
Change-Id: I783dac75b97a424c2d770e0d69e6f346c915a754
Mathieu Chartier [Fri, 17 Jun 2016 18:37:41 +0000 (18:37 +0000)]
Merge "Use collector specific helper classes"
Mathieu Chartier [Thu, 16 Jun 2016 18:44:28 +0000 (11:44 -0700)]
Use collector specific helper classes
Changed to use inner classes. Also changed some visitors to lambdas.
Bug:
29413717
Bug:
19534862
Change-Id: I631c8bfe5f795eda4623c5bb4f357f2dd12358e2
Vladimir Marko [Fri, 17 Jun 2016 12:02:41 +0000 (12:02 +0000)]
Merge "ARM: Improve String.getCharsNoCheck intrinsic."
Scott Wakeling [Mon, 25 Apr 2016 10:32:37 +0000 (11:32 +0100)]
ARM: Improve String.getCharsNoCheck intrinsic.
- Optimize for short retrievals.
- Improve performance of longer retrievals with unrolled LDR/STR.
Change-Id: I24ec52067104b2f68799c04aebb61d20fff94020
Christopher Ferris [Fri, 17 Jun 2016 06:19:36 +0000 (23:19 -0700)]
Add lock when iterating over BacktraceMap.
In order to avoid a race condition in the maps data, acquire
a read lock while iterating over the maps data.
Bug:
29387050
Change-Id: I7d484cac11503be060a9309bc886d1e5441a57b2
Treehugger Robot [Fri, 17 Jun 2016 01:12:35 +0000 (01:12 +0000)]
Merge "Change IMT size from 64 to 43"
Greg Kaiser [Thu, 16 Jun 2016 22:55:15 +0000 (15:55 -0700)]
elf_builder: Fix Mips header flags
Bitwise OR has a higher precendence than ternary conditional,
so we need to use parentheses around our ternary conditional
to get the behavior we desire.
Bug:
28320822
Change-Id: I4b95ab88e688176939f16f8586d45784c9d92a42
Matthew Gharrity [Thu, 16 Jun 2016 18:49:23 +0000 (11:49 -0700)]
Change IMT size from 64 to 43
Data shows that this change can save around 2MB with an estimated
less than 2% regression in interface method invokation speed.
Further investigation is needed to measure the performance impact
in practice, particularly for much smaller IMT sizes. We are making
this initial change to 43 to see if it affects runtime perf benchmarks.
Change-Id: Ic0e036091c5da0e6b93f519fc695e9b48ab5ec46
Treehugger Robot [Thu, 16 Jun 2016 20:01:33 +0000 (20:01 +0000)]
Merge "For deadlock test, print out any unexpected exceptions."
Jeff Hao [Thu, 16 Jun 2016 18:29:42 +0000 (11:29 -0700)]
For deadlock test, print out any unexpected exceptions.
Bug:
28663029
Change-Id: Icd10cabdde282f292fd997c3a8ad9dd6d1a14e0e
Treehugger Robot [Thu, 16 Jun 2016 18:15:17 +0000 (18:15 +0000)]
Merge changes I7d3ba051,I2dc96535
* changes:
ART: Fix ImageSpace::Init
Revert "Reduce ImageSpace::Init frame size"
Mathieu Chartier [Thu, 16 Jun 2016 17:43:31 +0000 (17:43 +0000)]
Merge "Avoid duplicate class for mark compact"
Mathieu Chartier [Thu, 16 Jun 2016 17:28:43 +0000 (10:28 -0700)]
Avoid duplicate class for mark compact
Renamed BitmapSetSlowPathVisitor to MCBitmapSetSlowPathVisitor for
the mark compact case.
Bug:
29413717
Change-Id: Ibb85acc8e796c0b8208b13c468b5510b0cec47e1
Treehugger Robot [Thu, 16 Jun 2016 14:04:52 +0000 (14:04 +0000)]
Merge "Ensure we get a ProfilingInfo object before compiling."
Nicolas Geoffray [Thu, 16 Jun 2016 13:09:03 +0000 (14:09 +0100)]
Ensure we get a ProfilingInfo object before compiling.
Otherwise, the compiler could decide not to JIT compile
the method.
Change-Id: I6e92224748861317c5ac629395ea180df4e51f8b
Treehugger Robot [Thu, 16 Jun 2016 12:21:30 +0000 (12:21 +0000)]
Merge "MIPS32: Assembler tests for MIPS32R6"
Treehugger Robot [Thu, 16 Jun 2016 01:23:32 +0000 (01:23 +0000)]
Merge "Use a barrier instead of sleep for flaky deadlock test."
Andreas Gampe [Thu, 16 Jun 2016 00:45:01 +0000 (17:45 -0700)]
ART: Fix ImageSpace::Init
Refactor ImageSpace::Init. Fix a case of using nullptr for error_msg
where it was unsafe. Instead fix the remaining case of verbose map
dumping.
Also fixes the stack frame size issue on x86-64.
Change-Id: I7d3ba05100592b5a44a29b34349edd8a44b4a72f
Mathieu Chartier [Thu, 16 Jun 2016 00:57:19 +0000 (00:57 +0000)]
Merge "Propagate flags to ShouldHaveEmbeddedVTable"
Mathieu Chartier [Wed, 15 Jun 2016 22:07:03 +0000 (15:07 -0700)]
Propagate flags to ShouldHaveEmbeddedVTable
Pass kVerifyFlags and kReadBarrierrOption to ShouldHaveEmbeddedVTable
from ShouldHaveImt.
Bug:
29188168
Change-Id: Ibddd6e744a2f313b4048719987c41f2da04a4e0a
Andreas Gampe [Thu, 16 Jun 2016 00:44:21 +0000 (17:44 -0700)]
Revert "Reduce ImageSpace::Init frame size"
This reverts commit
a67a49a9758c2055cb544bfecdbb50dba2c502d1.
Change is unnecessary, regular cleanup gives us the improvement.
Jeff Hao [Wed, 15 Jun 2016 23:20:34 +0000 (16:20 -0700)]
Use a barrier instead of sleep for flaky deadlock test.
Bug:
28663029
Change-Id: Ia94372c719f8014b4ee739ebc6a93c4f3548f717
Treehugger Robot [Thu, 16 Jun 2016 00:28:15 +0000 (00:28 +0000)]
Merge "Refactor GetIMTIndex"
Mathieu Chartier [Wed, 15 Jun 2016 20:28:21 +0000 (20:28 +0000)]
Merge "Reduce ImageSpace::Init frame size"
Mathieu Chartier [Wed, 15 Jun 2016 20:11:40 +0000 (13:11 -0700)]
Reduce ImageSpace::Init frame size
Fixes x86_64 build.
Change-Id: Ib636a1274e255a60bda47607570fedbe92a5e2cd
Mathieu Chartier [Wed, 15 Jun 2016 17:44:14 +0000 (17:44 +0000)]
Merge "Optimize IMT"
Matthew Gharrity [Tue, 14 Jun 2016 18:31:04 +0000 (11:31 -0700)]
Refactor GetIMTIndex
This allows us to more easily maintain and experiment with
interface method table indexing and hashing.
Change-Id: I719920fae7490dcedcda7c1c36db225c2b8b16df