OSDN Git Service
Calin Juravle [Mon, 4 Apr 2016 13:35:53 +0000 (13:35 +0000)]
Merge "Use bit-level packing for InlineInfo in stackmaps as well."
Roland Levillain [Mon, 4 Apr 2016 12:58:23 +0000 (12:58 +0000)]
Merge "Fix BitCount intrinsics assertions."
Roland Levillain [Mon, 4 Apr 2016 11:37:58 +0000 (11:37 +0000)]
Merge "Improve debugging in art/compiler/optimizing/common_arm64.h."
David Brazdil [Mon, 4 Apr 2016 11:12:14 +0000 (11:12 +0000)]
Merge "Refactor HGraphBuilder and SsaBuilder to remove HLocals"
David Brazdil [Mon, 4 Apr 2016 11:11:34 +0000 (11:11 +0000)]
Merge "Build dominator tree before generating HInstructions"
David Brazdil [Wed, 2 Mar 2016 16:48:20 +0000 (16:48 +0000)]
Refactor HGraphBuilder and SsaBuilder to remove HLocals
This patch merges the instruction-building phases from HGraphBuilder
and SsaBuilder into a single HInstructionBuilder class. As a result,
it is not necessary to generate HLocal, HLoadLocal and HStoreLocal
instructions any more, as the builder produces SSA form directly.
Saves 5-15% of arena-allocated memory (see bug for more data):
GMS 20.46MB => 19.26MB (-5.86%)
Maps 24.12MB => 21.47MB (-10.98%)
YouTube 28.60MB => 26.01MB (-9.05%)
Bug:
27894376
Change-Id: Iefe28d40600c169c5d306fd2c77034ae19476d90
David Brazdil [Tue, 16 Feb 2016 09:26:07 +0000 (09:26 +0000)]
Build dominator tree before generating HInstructions
Second CL in the series of merging HGraphBuilder and SsaBuilder. This
patch refactors the builders so that dominator tree can be built
before any HInstructions are generated. This puts the SsaBuilder
removal of HLoadLocals/HStoreLocals straight after HGraphBuilder's
HInstruction generation phase. Next CL will therefore be able to
merge them.
This patch also adds util classes for iterating bytecode and switch
tables which allowed to simplify the code.
Bug:
27894376
Change-Id: Ic425d298b2e6e7980481ed697230b1a0b7904526
Mathieu Chartier [Fri, 1 Apr 2016 23:36:19 +0000 (23:36 +0000)]
Merge "Dump different fields in imgdiag"
Mathieu Chartier [Fri, 1 Apr 2016 20:56:41 +0000 (13:56 -0700)]
Dump different fields in imgdiag
Dump which fields are different, also print field values.
(cherry picked from commit
ec1533880f3606546baceafe2db513d1a63c20da)
Change-Id: Ie91ea07fb8ff7822fb7a03227cd7139e5e54db0e
Hiroshi Yamauchi [Fri, 1 Apr 2016 20:53:55 +0000 (20:53 +0000)]
Merge changes I297e2f20,Ia2e475e4,I9f1b4139
* changes:
Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""
Revert "ART: Improve JitProfile perf in x86 mterp"
Revert "ART: Improve JitProfile perf in x86_64 mterp"
Hiroshi Yamauchi [Fri, 1 Apr 2016 19:02:58 +0000 (12:02 -0700)]
Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""
This reverts commit
4a8ac9cee4312ac910fabf31c64d28d4c8362836.
570-checker-osr intermittently failing.
Bug:
27939339
Hiroshi Yamauchi [Fri, 1 Apr 2016 19:01:48 +0000 (12:01 -0700)]
Revert "ART: Improve JitProfile perf in x86 mterp"
This reverts commit
3e9edd1c63c1760f1bcffdbeaf721ebe3320f386.
570-checker-osr intermittently failing.
Bug:
27939339
Hiroshi Yamauchi [Fri, 1 Apr 2016 19:00:10 +0000 (12:00 -0700)]
Revert "ART: Improve JitProfile perf in x86_64 mterp"
This reverts commit
099a611a418df6f0695e3bcd32fe896043ca1398.
570-checker-osr intermittently failing.
Bug:
27939339
Change-Id: I9f1b4139118b1d803ea9c21319c3147d2f40fec9
Alex Light [Fri, 1 Apr 2016 18:42:25 +0000 (18:42 +0000)]
Merge "Make test 146 run with secondary dex file in classpath."
Alex Light [Fri, 1 Apr 2016 18:40:16 +0000 (11:40 -0700)]
Make test 146 run with secondary dex file in classpath.
Bug:
27931085
Change-Id: Ie0b15d5fc94c2bb6d3707ecf985f6f72110e4d68
Roland Levillain [Fri, 1 Apr 2016 17:37:46 +0000 (18:37 +0100)]
Improve debugging in art/compiler/optimizing/common_arm64.h.
Change-Id: I44ff2cb64c1fd45390ed4a6517af2488fdbdaf41
Alex Light [Fri, 1 Apr 2016 17:30:41 +0000 (17:30 +0000)]
Merge "Make InvokeInterfaceTrampoline check methods"
Roland Levillain [Fri, 1 Apr 2016 17:21:55 +0000 (18:21 +0100)]
Fix BitCount intrinsics assertions.
Bug:
27852035
Change-Id: Iba43039aadd9ba288b476d53cc2306a58356465f
Andreas Gampe [Fri, 1 Apr 2016 16:51:47 +0000 (16:51 +0000)]
Merge "ART: Better support for arraycopy in unstarted runtime"
Alex Light [Thu, 31 Mar 2016 21:34:33 +0000 (14:34 -0700)]
Make InvokeInterfaceTrampoline check methods
InvokeInterfaceTrampoline was causing problems by looking into the
ImtConflictTable of non-imt-conflict-methods. This makes it check for
that before doing so.
Bug:
27931085
Change-Id: I993178a371f8f46535a752e5c4d46d74777cefaf
David Srbecky [Fri, 1 Apr 2016 16:46:32 +0000 (16:46 +0000)]
Merge "Fix thumb bit in the oatdump symbolizer."
Andreas Gampe [Thu, 31 Mar 2016 20:30:53 +0000 (13:30 -0700)]
ART: Better support for arraycopy in unstarted runtime
Extend the System.arraycopy() cutout in the unstarted runtime
to support arrays with differing component types.
Add tests.
Bug:
27805718
Change-Id: Iaacd95a372e9bfa26e9055a06b0d8f0335b8d6d1
David Srbecky [Thu, 25 Feb 2016 21:55:03 +0000 (21:55 +0000)]
Use bit-level packing for InlineInfo in stackmaps as well.
Use the same approach as we do for stackmaps to reduce the size.
It saves 4.0 MB from non-debuggable boot.oat (AOSP).
It does not affect debuggable boot.oat.
It saves 3.6 MB (of 96.6 MB) from /system/framework/arm/ (GOOG).
It saves 0.6 MB (of 26.7 MB) from /system/framework/oat/arm/ (GOOG).
Field loads from inline-info get around 5% slower.
(based on the time it takes to load all inline-infos from boot.oat)
Change-Id: I67b0fa5eef74c1fdb013680d0231fd44ea696176
Vladimir Marko [Fri, 1 Apr 2016 14:40:08 +0000 (14:40 +0000)]
Merge "Fix a test info referencing AMD64 instead of ARM64."
Vladimir Marko [Fri, 1 Apr 2016 13:35:01 +0000 (14:35 +0100)]
Fix a test info referencing AMD64 instead of ARM64.
Change-Id: I195551b984c9ad1dce2bbf978c78831c5b98c803
Calin Juravle [Fri, 1 Apr 2016 12:28:51 +0000 (12:28 +0000)]
Merge "Pack stack map entries on bit level to save space."
Narayan Kamath [Fri, 1 Apr 2016 11:26:45 +0000 (11:26 +0000)]
Merge "unstarted_runtime: Update references to decimal format classes."
Narayan Kamath [Wed, 30 Mar 2016 14:41:54 +0000 (15:41 +0100)]
unstarted_runtime: Update references to decimal format classes.
We had a few special cases for thread local buffers and instances
created by our formatters / parsers. Update them to point to the
OpenJdk equivalents of the same classes.
bug:
27265238
Change-Id: Ida36a89bf414aeabea64b25004e193c770f906c2
Narayan Kamath [Fri, 1 Apr 2016 11:25:58 +0000 (11:25 +0000)]
Merge "unstarted_runtime: Add additional cutouts"
Narayan Kamath [Wed, 30 Mar 2016 12:11:18 +0000 (13:11 +0100)]
unstarted_runtime: Add additional cutouts
These allow us to initialize a further 90 classes. getIntVolatile
was used by the static initializer for ThreadLocal, which is used
quite frequently. This class was compile time initializable for M.
java.lang.System.getSecurityManager : 5 classes
sun.misc.Unsafe.getIntVolatile : 85 classes
bug:
27265238
Change-Id: I7e9820112bc87aec47c9b1b40ec6ba4f56172916
Andreas Gampe [Fri, 1 Apr 2016 01:13:17 +0000 (01:13 +0000)]
Merge "ART: Actually run tests cross arch for oatdump"
Mathieu Chartier [Thu, 31 Mar 2016 23:03:07 +0000 (23:03 +0000)]
Merge changes from topic 'image_verify'
* changes:
Disable checks for b/
27493510
Add verification for image ArtMethod declaring classes
Andreas Gampe [Thu, 31 Mar 2016 22:55:31 +0000 (22:55 +0000)]
Merge "ART: Do not run verification under lock"
Mathieu Chartier [Thu, 31 Mar 2016 22:05:45 +0000 (15:05 -0700)]
Disable checks for b/
27493510
Disabled for performance now that the bug is fixed. Still enabled
for debug builds.
Bug:
27493510
(cherry picked from commit
8790c7f9f7d684bff40d5731b2d8e3462ef8ed90)
Change-Id: I049d4319bca1114bd11a35bb13fc9d80c993260c
Andreas Gampe [Thu, 31 Mar 2016 02:52:58 +0000 (19:52 -0700)]
ART: Do not run verification under lock
Do not hold the object lock for the duration of the verification.
Instead, use the kStatusVerifying indicator to wait, similar to
resolution.
Bug:
27924355
Change-Id: Ie831f47dd830756a1b7002ca9c792f8ff67570dc
Mathieu Chartier [Tue, 8 Mar 2016 00:13:54 +0000 (16:13 -0800)]
Add verification for image ArtMethod declaring classes
Try and see if any ArtMethods in the image have declaring classes
that are not marked in the heap live bitmap. Trying to mark these
would cause a SIGSEGV since the bitmap is read only.
TODO: Disable for performance.
(cherry-picked from commit
03c1dd9858962071bf3f0c988abc39e0e6ed7a1e)
Bug:
27493510
Change-Id: I231b07b84d98dcd7ee1557c18956c86264058ee1
Andreas Gampe [Thu, 31 Mar 2016 22:52:51 +0000 (22:52 +0000)]
Merge "ART: Add support for DexFile compiler filter function"
Ying Wang [Thu, 31 Mar 2016 22:05:04 +0000 (22:05 +0000)]
Merge "Remove obsolete ANDROID_COMPILE_WITH_JACK"
Mathieu Chartier [Thu, 31 Mar 2016 21:59:35 +0000 (21:59 +0000)]
Merge "Add way to disable resolving for stack walk"
Mathieu Chartier [Thu, 31 Mar 2016 18:07:09 +0000 (11:07 -0700)]
Add way to disable resolving for stack walk
Only occurs for walking the inlined frames case.
Bug:
27857910
(cherry picked from commit
be2892bf771435eb451c74297b553f7dc9fea4ca)
Change-Id: Ied92be96f2f74ba02c02168f704443b95e7a4b04
David Srbecky [Fri, 12 Feb 2016 21:58:43 +0000 (21:58 +0000)]
Pack stack map entries on bit level to save space.
Use only the minimum number of bits required to store stack map data.
For example, if native_pc needs 5 bits and dex_pc needs 3 bits, they
will share the first byte of the stack map entry.
The header is changed to store bit offsets of the fields rather than
byte sizes. Offsets also make it easier to access later fields without
calculating sum of all previous sizes.
All of the header fields are byte sized or encoded as ULEB128 instead
of the previous fixed size encoding. This shrinks it by about half.
It saves 3.6 MB from non-debuggable boot.oat (AOSP).
It saves 3.1 MB from debuggable boot.oat (AOSP).
It saves 2.8 MB (of 99.4 MB) from /system/framework/arm/ (GOOG).
It saves 1.0 MB (of 27.8 MB) from /system/framework/oat/arm/ (GOOG).
Field loads from stackmaps seem to get around 10% faster.
(based on the time it takes to load all stackmap entries from boot.oat)
Bug:
27640410
Change-Id: I8bf0996b4eb24300c1b0dfc6e9d99fe85d04a1b7
Mathieu Chartier [Thu, 31 Mar 2016 21:05:30 +0000 (21:05 +0000)]
Merge "Obtain stack trace outside of critical section"
Mathieu Chartier [Tue, 29 Mar 2016 21:02:55 +0000 (14:02 -0700)]
Obtain stack trace outside of critical section
Fixes deadlock if the stack walk does allocations, changed stack
trace format to prevent slowdown.
Added missing GetInterfaceMethodIfProxy to fix a crash in maps.
Bug:
27857910
(cherry picked from commit
23428587d32361736d4c5e0ba7270c7602695a43)
Change-Id: I64373bcd87a68fdd1b58fb855db2b16c9f6ed36b
Richard Uhler [Thu, 31 Mar 2016 19:27:54 +0000 (19:27 +0000)]
Merge "Refine OatFileAssistant.MakeUpToDate failure result."
Andreas Gampe [Thu, 31 Mar 2016 00:19:48 +0000 (17:19 -0700)]
ART: Add support for DexFile compiler filter function
Add support for getting a non-profile-guided version of a given
compiler filter.
Bug:
27921071
(cherry picked from commit
fd97429f258acde6ee24a6f74c9050b2343e40cd)
Change-Id: I54735b61732e6a5c9dc62425d04bc740dd365083
David Srbecky [Thu, 31 Mar 2016 17:17:59 +0000 (18:17 +0100)]
Fix thumb bit in the oatdump symbolizer.
MethodDebugInfo expects code address without the bit set.
Therefore we need to clear it before passing it to the DWARF writer.
Change-Id: I37586b19f2a3fc95107abb6204a34e95a3816936
Vladimir Marko [Thu, 31 Mar 2016 17:53:44 +0000 (17:53 +0000)]
Merge "Remove many `instrumentation` variables from goto interpreter."
Vladimir Marko [Thu, 31 Mar 2016 17:38:23 +0000 (18:38 +0100)]
Remove many `instrumentation` variables from goto interpreter.
Clean up after
https://android-review.googlesource.com/210440 .
Change-Id: I7e7b1863a5627365de8d9a74f559ffe56cb4fdfa
Ying Wang [Thu, 31 Mar 2016 16:52:56 +0000 (16:52 +0000)]
Merge "Remove obsolete LOCAL_DX_FLAGS."
Hans Boehm [Thu, 31 Mar 2016 16:41:46 +0000 (16:41 +0000)]
Merge "Only log excessive timeouts if those appear accidental"
Bill Buzbee [Thu, 31 Mar 2016 14:21:18 +0000 (14:21 +0000)]
Merge "ART: Improve JitProfile perf in x86_64 mterp"
Bill Buzbee [Thu, 31 Mar 2016 14:07:15 +0000 (14:07 +0000)]
Merge "ART: Improve JitProfile perf in x86 mterp"
Vladimir Marko [Thu, 31 Mar 2016 13:24:15 +0000 (13:24 +0000)]
Merge "Fix silly gcc warning."
Vladimir Marko [Thu, 31 Mar 2016 11:34:48 +0000 (12:34 +0100)]
Fix silly gcc warning.
Explicitly specify the underlying type of LinkerPatch::Type
as uint8_t because gcc would select a bigger type and then
complain that
'art::LinkerPatch::patch_type_' is too small to hold all
values of 'enum class art::LinkerPatch::Type'
which is really ridiculous given that the enum contains only
a handful enumerators with default (small) values.
Change-Id: I4c4b21cde62e56b62488bae99d3690d900c3c29e
Roland Levillain [Thu, 31 Mar 2016 11:39:53 +0000 (11:39 +0000)]
Merge "Rename run-test 593-checker-boolean-to-integral-conversions."
Roland Levillain [Thu, 31 Mar 2016 11:32:07 +0000 (12:32 +0100)]
Rename run-test 593-checker-boolean-to-integral-conversions.
Shorten its name to "593-checker-boolean-to-integral-conv"
as some build configurations choke on too long filenames.
Bug:
27616343
Change-Id: I43439d7283920539817511249c6c1b430b3c9c95
Roland Levillain [Thu, 31 Mar 2016 10:39:52 +0000 (10:39 +0000)]
Merge "Fix Boolean to integral types conversions."
Vladimir Marko [Thu, 31 Mar 2016 10:10:07 +0000 (10:10 +0000)]
Merge "ART: Save or erase the file even if I/O failed"
David Brazdil [Thu, 31 Mar 2016 10:00:41 +0000 (10:00 +0000)]
Merge "ART: Fix TypeConversion from long const to float on x86_64"
Pavel Vyssotski [Wed, 16 Mar 2016 07:59:53 +0000 (13:59 +0600)]
ART: Fix TypeConversion from long const to float on x86_64
LocationsBuilderX86_64::VisitTypeConversion should load 32-bit
constant for float type.
Change-Id: I24335568af65e6b98bf07d36f90c8696497dd137
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
Serguei Katkov [Tue, 29 Mar 2016 11:04:00 +0000 (17:04 +0600)]
ART: Improve JitProfile perf in x86_64 mterp
Change-Id: Ieae39e2cc8de8d381e6f9de0faa440c90e20a7a5
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Serguei Katkov [Tue, 29 Mar 2016 06:09:06 +0000 (12:09 +0600)]
ART: Improve JitProfile perf in x86 mterp
Change-Id: Id4c1e52352da8f6b7ce2008bc4adf52bc08847b2
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Sebastien Hertz [Thu, 31 Mar 2016 07:22:50 +0000 (09:22 +0200)]
Remove obsolete ANDROID_COMPILE_WITH_JACK
Removes the checks on ANDROID_COMPILE_WITH_JACK since it is going
to disappear and build tests with Jack by default.
Bug:
27400061
Change-Id: I1c08796a946411070e2aab6fe8c3c0262dfb4c52
Serdjuk, Nikolay Y [Tue, 22 Mar 2016 04:06:33 +0000 (10:06 +0600)]
ART: Save or erase the file even if I/O failed
It should close the file in any case.
Change-Id: Idb7db15bfecb0ac47839be3544cc2dce91096d7b
Signed-off-by: Serdjuk, Nikolay Y <nikolay.y.serdjuk@intel.com>
Ying Wang [Wed, 30 Mar 2016 20:55:33 +0000 (13:55 -0700)]
Remove obsolete LOCAL_DX_FLAGS.
Bug:
27400061
Change-Id: Iff834b58b47f8e5759e868159f85bab0f5c544ee
Richard Uhler [Wed, 30 Mar 2016 19:17:55 +0000 (12:17 -0700)]
Refine OatFileAssistant.MakeUpToDate failure result.
Avoid misleading log messages if MakeUpToDate fails because we decided
not to compile dex code.
Bug:
27641809
Change-Id: I184f8e89648183cba4ebe7a1dc5e0e6c8774c15b
Aart Bik [Wed, 30 Mar 2016 18:59:27 +0000 (18:59 +0000)]
Merge "Fix arm64 simplifier bug that tries to remove same statement twice. With fail-before/pass-after test (on arm64)."
Andreas Gampe [Wed, 30 Mar 2016 18:20:01 +0000 (18:20 +0000)]
Merge "ART: Fix unstarted runtime for Security"
Aart Bik [Tue, 29 Mar 2016 20:54:53 +0000 (13:54 -0700)]
Fix arm64 simplifier bug that tries to remove same statement twice.
With fail-before/pass-after test (on arm64).
Rationale:
This visitor removes statement "forward", which is a bit unusual, and
exposes a bug if statement is revisited and qualifies for removal again.
BUG=
27851582
Change-Id: Ia8cddba32b4dfe9fd480852deb358eaa977f0e1f
Roland Levillain [Wed, 30 Mar 2016 18:09:03 +0000 (19:09 +0100)]
Fix Boolean to integral types conversions.
Bug:
27616343
Change-Id: I050f92045bca1b8b5d6da53547cc617f17be84b1
Bill Buzbee [Wed, 30 Mar 2016 18:02:22 +0000 (18:02 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""
Vladimir Marko [Wed, 30 Mar 2016 17:29:44 +0000 (17:29 +0000)]
Merge "Optimizing: Clean up after const-string sharpening."
Vladimir Marko [Wed, 30 Mar 2016 15:30:21 +0000 (16:30 +0100)]
Optimizing: Clean up after const-string sharpening.
Do not look up the String for JIT, just check if it's in the
dex cache. Strings on hot paths should already be resolved
and we don't want to unnecessarily increase JIT compile time
to have a chance of improving a cold path.
Also, change the enum LinkerPatchType to be an inner enum
class of LinkerPatch and clean up casts between pointers and
uint64_t.
Change-Id: Ia6e0513af1a84ce94a3b30edac0c592157d374ec
Richard Uhler [Wed, 30 Mar 2016 15:19:11 +0000 (15:19 +0000)]
Merge "Don't return kPatchOatNeeded if there is no patch info."
Vladimir Marko [Wed, 30 Mar 2016 13:47:59 +0000 (13:47 +0000)]
Merge "Optimizing: Improve const-string code generation."
Vladimir Marko [Wed, 30 Mar 2016 09:58:54 +0000 (09:58 +0000)]
Merge "X86_64: Replace x86_64 xchg instruction use"
David Brazdil [Wed, 30 Mar 2016 09:46:14 +0000 (09:46 +0000)]
Merge "ART: Flush ostream less frequently in GraphVisualizer"
David Brazdil [Wed, 30 Mar 2016 08:41:02 +0000 (09:41 +0100)]
ART: Flush ostream less frequently in GraphVisualizer
We have seen Checker tests timing out on debug-GC configurations after
having switched to Optimizing because its GraphVisualizer makes too
many syscalls which the configuration keeps track of.
This patch replaces std::endl with "\n" across GraphVisualizer so as
to not flush the stream after every line of output.
Bug:
27826765
Change-Id: I5e3f1e92f8a84f36d324d56945e2d420b2d36a5d
Andreas Gampe [Wed, 30 Mar 2016 02:33:56 +0000 (19:33 -0700)]
ART: Fix unstarted runtime for Security
Derive the path for the libcore jar from the boot classpath string
instead of from the dex file location.
Bug:
27899446
Change-Id: I22a9be76303edb2ec72f4cf2e7a4b3bfed37d9c7
Andreas Gampe [Wed, 30 Mar 2016 00:47:15 +0000 (00:47 +0000)]
Merge "ART: Postpone interface-related dex failure to version 37"
Andreas Gampe [Tue, 29 Mar 2016 01:31:29 +0000 (18:31 -0700)]
ART: Postpone interface-related dex failure to version 37
For app compat, at least for now make the check for public-final-static
of interface members not fail on dex file versions less than 37. This
may be changed in future releases.
Bug:
27831184
Change-Id: If8ee50321298b951d4a78062c8eb583fec27394f
Bill Buzbee [Fri, 25 Mar 2016 13:16:55 +0000 (13:16 +0000)]
Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""
Ready for review.
This reverts commit
6aef867f4d1a98a12bcdd65e9bf2ff894f0f2d7e.
Change-Id: I5d53ed2bedc7e429ce7d3cdf80b6696a9628740e
Richard Uhler [Tue, 29 Mar 2016 20:27:41 +0000 (13:27 -0700)]
Don't return kPatchOatNeeded if there is no patch info.
Bug:
27693977
Change-Id: Ie1f27cc45f3cb434108a375136480cb92fd95e26
Andreas Gampe [Tue, 29 Mar 2016 21:24:18 +0000 (21:24 +0000)]
Merge "ART: Update DexFile for compiler-filter pass-down"
Vladimir Marko [Tue, 29 Mar 2016 18:58:43 +0000 (18:58 +0000)]
Merge "Disable oatdump_test on mips due to timeouts."
Vladimir Marko [Mon, 22 Feb 2016 10:39:50 +0000 (10:39 +0000)]
Optimizing: Improve const-string code generation.
For strings in the boot image, use either direct pointers
or pc-relative addresses. For other strings, use PC-relative
access to the dex cache arrays for AOT and direct address of
the string's dex cache slot for JIT.
For aosp_flounder-userdebug:
- 32-bit boot.oat: -692KiB (-0.9%)
- 64-bit boot.oat: -948KiB (-1.1%)
- 32-bit dalvik cache total: -900KiB (-0.9%)
- 64-bit dalvik cache total: -3672KiB (-1.5%)
(contains more files than the 32-bit dalvik cache)
For aosp_flounder-userdebug forced to compile PIC:
- 32-bit boot.oat: -380KiB (-0.5%)
- 64-bit boot.oat: -928KiB (-1.0%)
- 32-bit dalvik cache total: -468KiB (-0.4%)
- 64-bit dalvik cache total: -1928KiB (-0.8%)
(contains more files than the 32-bit dalvik cache)
Bug:
26884697
Change-Id: Iec7266ce67e6fedc107be78fab2e742a8dab2696
Andreas Gampe [Wed, 23 Mar 2016 22:03:46 +0000 (15:03 -0700)]
ART: Update DexFile for compiler-filter pass-down
Update getDexOptNeeded. Add implementations for isValidCompilerFilter
and isProfileGuidedCompilerFilter.
Bug:
27689078
(cherry picked from commit
1d23d43e29e41adb3d504332c8833acaacb49e50)
Change-Id: I06b9d75f58c59cb07ef5170f784ea6745168efaa
Vladimir Marko [Tue, 29 Mar 2016 17:42:21 +0000 (18:42 +0100)]
Disable oatdump_test on mips due to timeouts.
Bug:
27824283
Change-Id: I8014471385fdfe0e98760af04507cd81338f9952
Vladimir Marko [Tue, 29 Mar 2016 08:56:19 +0000 (08:56 +0000)]
Merge "Optimizing: Reduce arena memory used by GraphChecker."
Hans Boehm [Mon, 28 Mar 2016 21:36:23 +0000 (14:36 -0700)]
Only log excessive timeouts if those appear accidental
Do not generate a log message even when timeout would cause us to wake
up past the end of Linux time, if the timeout specification looks like
it was meant to wait forever. Avoids log spam.
Bug:
27723547
Change-Id: I98d0fc1b1813a10ad906282957675b85bd933472
Andreas Gampe [Tue, 29 Mar 2016 02:31:16 +0000 (02:31 +0000)]
Merge "ART: Make verifier fail log level adjustable"
Andreas Gampe [Tue, 29 Mar 2016 01:38:19 +0000 (01:38 +0000)]
Merge "ART: Clean up verifier"
Andreas Gampe [Fri, 25 Mar 2016 23:58:00 +0000 (16:58 -0700)]
ART: Make verifier fail log level adjustable
To help for build failures.
Change-Id: I6c94dfb50177daa7d89902d78715ccec31bf0e45
Andreas Gampe [Fri, 25 Mar 2016 23:58:00 +0000 (16:58 -0700)]
ART: Clean up verifier
Clean up verifier post-Quick.
Change-Id: I0b05e10dd06edd228fe2068c8afffc4b7d7fdffa
Alex Light [Mon, 28 Mar 2016 21:26:05 +0000 (21:26 +0000)]
Merge "Add support for Dex version 37 in Runtime."
Aart Bik [Sat, 26 Mar 2016 00:44:53 +0000 (00:44 +0000)]
Merge "Fix bug not accounting for type in induction comparison. Extended unit tests."
Andreas Gampe [Fri, 25 Mar 2016 23:53:20 +0000 (23:53 +0000)]
Merge "ART: Relax verifier checks"
Andreas Gampe [Fri, 25 Mar 2016 23:24:20 +0000 (16:24 -0700)]
ART: Relax verifier checks
Only bail for unresolved merge types in a couple of cases. Follow-up
to
bb18a03c44d99b3cae232d445d56e80d8388cca9.
Bug:
27799205
Change-Id: If448e14036bc5e245677e0cd8cdddee02b320525
Aart Bik [Fri, 25 Mar 2016 20:14:53 +0000 (13:14 -0700)]
Fix bug not accounting for type in induction comparison.
Extended unit tests.
Rationale:
Now that inductions are typed, comparisons should take
the type into account as well.
Change-Id: Ie533bb728d2006390646657573fa743e6fc37ff2
Ying Wang [Fri, 25 Mar 2016 21:41:41 +0000 (21:41 +0000)]
Merge "Allow x86+arm multilib build."