OSDN Git Service
Alex Light [Tue, 15 Dec 2015 18:11:08 +0000 (18:11 +0000)]
Merge "Combine direct_methods_ and virtual_methods_ fields of mirror::Class"
Nicolas Geoffray [Tue, 15 Dec 2015 17:04:50 +0000 (17:04 +0000)]
Merge "Remove reference of deleted file."
Nicolas Geoffray [Tue, 15 Dec 2015 17:04:05 +0000 (17:04 +0000)]
Remove reference of deleted file.
Change-Id: Ib6d03a8c57a746e738fc849deee800d28da82485
Nicolas Geoffray [Tue, 15 Dec 2015 16:45:34 +0000 (16:45 +0000)]
Merge "Remove test given its flakiness."
Nicolas Geoffray [Tue, 15 Dec 2015 16:03:48 +0000 (16:03 +0000)]
Remove test given its flakiness.
Change-Id: I7b746bd93cfd3f7eca71f1a7b9dcc799d30dd971
David Srbecky [Tue, 15 Dec 2015 15:29:17 +0000 (15:29 +0000)]
Merge "Refactor DexFile::DecodeDebugInfo."
David Srbecky [Thu, 10 Dec 2015 13:15:00 +0000 (13:15 +0000)]
Refactor DexFile::DecodeDebugInfo.
Split the method into two - one for locals and one for positions.
All uses of the method request only one of the two and it makes the
code slightly cleaner. The position variant requires fewer parameters.
Expose additional line table information which was previously ignored
by the decode method (prologue, epilogue, source file).
Change-Id: Idf8ba98fa58ea0d2103932b5cc0af81365885107
Roland Levillain [Tue, 15 Dec 2015 13:55:13 +0000 (13:55 +0000)]
Merge "x86-64 Baker's read barrier fast path implementation."
Roland Levillain [Tue, 15 Dec 2015 12:39:34 +0000 (12:39 +0000)]
Merge "x86 Baker's read barrier fast path implementation."
Calin Juravle [Tue, 15 Dec 2015 12:20:13 +0000 (12:20 +0000)]
Merge "Lower jitthreshold for jit profile test."
Nicolas Geoffray [Tue, 15 Dec 2015 12:14:14 +0000 (12:14 +0000)]
Merge "Fix --inline-max-code-units option."
Nicolas Geoffray [Tue, 15 Dec 2015 12:09:43 +0000 (12:09 +0000)]
Fix --inline-max-code-units option.
Change-Id: I73d99904a9eed69eb89efb6fb764db4a5d199f20
Calin Juravle [Tue, 15 Dec 2015 12:02:50 +0000 (12:02 +0000)]
Lower jitthreshold for jit profile test.
The test still proves to be flacky on the build bots. Lowering the
threshold will trigger compilation earlier.
Change-Id: Iacabf88d9fbd2a15fd3456f817402c9aaf3ec766
Nicolas Geoffray [Tue, 15 Dec 2015 11:51:51 +0000 (11:51 +0000)]
Merge "Revert "Make the JIT the default in ART.""
Nicolas Geoffray [Tue, 15 Dec 2015 11:51:37 +0000 (11:51 +0000)]
Revert "Make the JIT the default in ART."
Few tests failing: oat_file_assistant_test and jit run tests.
This reverts commit
0a9b6826bc6e71d799eb3fe8829981597b890dee.
Change-Id: Ibbf73c191d244ebb9517b6ae97971dd9a9d37d7c
Roland Levillain [Tue, 15 Dec 2015 10:54:19 +0000 (10:54 +0000)]
x86-64 Baker's read barrier fast path implementation.
Introduce an x86-64 fast path implementation in Optimizing
for Baker's read barriers (for both heap reference loads and
GC root loads). The marking phase of the read barrier is
performed by a slow path, invoking the runtime entry point
artReadBarrierMark.
Other read barrier algorithms continue to use the original
slow path based implementation, which has been renamed as
GenerateReadBarrierSlow/GenerateReadBarrierForRootSlow.
Bug:
12687968
Change-Id: I9329293ddca7f9bcb512132bde6675aa202b98b2
Roland Levillain [Tue, 15 Dec 2015 10:55:36 +0000 (10:55 +0000)]
x86 Baker's read barrier fast path implementation.
Introduce an x86 fast path implementation in Optimizing for
Baker's read barriers (for both heap reference loads and GC
root loads). The marking phase of the read barrier is
performed by a slow path, invoking a new runtime entry point
(artReadBarrierMark).
Other read barrier algorithms continue to use the original
slow path based implementation, which has been renamed as
GenerateReadBarrierSlow/GenerateReadBarrierForRootSlow.
Bug:
12687968
Change-Id: Ie610c4befc19ff22378a8cba38b422dcacb54320
Nicolas Geoffray [Tue, 15 Dec 2015 09:38:55 +0000 (09:38 +0000)]
Merge "Make the JIT the default in ART."
Shinichiro Hamaji [Tue, 15 Dec 2015 04:42:20 +0000 (04:42 +0000)]
Merge "Get DCHECK back to EncodedStaticFieldValueIterator"
Alex Light [Fri, 4 Dec 2015 01:38:56 +0000 (17:38 -0800)]
Combine direct_methods_ and virtual_methods_ fields of mirror::Class
This makes several parts of the overall runtime simpler and reduces
the size of a class object by 32-bits.
Bug:
24618811
Change-Id: I36129b52189e26898ea56fa2b7b45652e06af236
Dimitry Ivanov [Mon, 14 Dec 2015 18:04:02 +0000 (18:04 +0000)]
Merge "Temporary disable linker-namespaces"
Calin Juravle [Mon, 14 Dec 2015 18:03:55 +0000 (18:03 +0000)]
Merge "Increase the sleep time in 554-jit-profile-file"
Calin Juravle [Mon, 14 Dec 2015 18:01:21 +0000 (18:01 +0000)]
Increase the sleep time in 554-jit-profile-file
The previous sleep time wasn't enough. Some tests failed because not
all the methods managed to be compiled in time.
Change-Id: I4d63b6c3602c72dfa608f62c55e0f484bbfcf900
Dimitry Ivanov [Mon, 14 Dec 2015 17:57:56 +0000 (09:57 -0800)]
Temporary disable linker-namespaces
Bug: http://b/
26178910
Bug: http://b/
26165097
Change-Id: I858c70dc72ec164ea7a79ad625ddda91367dae06
Calin Juravle [Mon, 14 Dec 2015 16:48:10 +0000 (16:48 +0000)]
Merge "Disable 554-jit-profile-file for the READ_BARRIER mode."
Calin Juravle [Mon, 14 Dec 2015 16:29:06 +0000 (16:29 +0000)]
Disable 554-jit-profile-file for the READ_BARRIER mode.
Change-Id: I98f5c0aeb0d68b42a587b1f7261d3fe998ca7f8b
Calin Juravle [Mon, 14 Dec 2015 15:15:08 +0000 (15:15 +0000)]
Merge "Print more info on why the code_cache test fails in 115-native-bridge."
Calin Juravle [Mon, 14 Dec 2015 14:38:38 +0000 (14:38 +0000)]
Merge "Revert "Revert "Enable profiled guided compilation in dex2oat"""
Calin Juravle [Mon, 14 Dec 2015 14:35:17 +0000 (14:35 +0000)]
Print more info on why the code_cache test fails in 115-native-bridge.
Change-Id: Ib30893e53a5ed616ae4f6b6bc4d657b0fca846c8
David Brazdil [Mon, 14 Dec 2015 14:28:32 +0000 (14:28 +0000)]
Merge "ART: Set RTI of Arm64IntermediateAddress"
David Brazdil [Mon, 14 Dec 2015 14:25:44 +0000 (14:25 +0000)]
ART: Set RTI of Arm64IntermediateAddress
Fixes the arm64 build after I7a3aee1ff66c82d64b4846611c547af17e91d260.
Change-Id: Ic2c72df59e0ddbdf2edc8519a6954d078a5ef596
David Brazdil [Mon, 14 Dec 2015 13:38:20 +0000 (13:38 +0000)]
Merge "ART: Refactor SsaBuilder for more precise typing info"
David Brazdil [Wed, 4 Nov 2015 23:30:22 +0000 (23:30 +0000)]
ART: Refactor SsaBuilder for more precise typing info
This patch refactors the SsaBuilder to do the following:
1) All phis are constructed live and marked dead if not used or proved
to be conflicting.
2) Primitive type propagation, now not a separate pass, identifies
conflicting types and marks corresponding phis dead.
3) When compiling --debuggable, DeadPhiHandling used to revive phis
which had only environmental uses but did not attempt to resolve
conflicts. This pass was removed as obsolete and is now superseded
by primitive type propagation (identifying conflicting phis) and
SsaDeadPhiEliminiation (keeping phis live if debuggable + env use).
4) Resolving conflicts requires correct primitive type information
on all instructions. This was not the case for ArrayGet instructions
which can have ambiguous types in the bytecode. To this end,
SsaBuilder now runs reference type propagation and types ArrayGets
from the type of the input array.
5) With RTP being run inside the SsaBuilder, it is not necessary to
run it as a separate optimization pass. Optimizations can now assume
that all instructions of type kPrimNot have reference type info after
SsaBuilder (with the exception of NullConstant).
6) Graph now contains a reference type to be assigned to NullConstant.
All reference type instructions therefore have RTI, as now enforced
by the SsaChecker.
Bug:
24252151
Bug:
24252100
Bug:
22538329
Bug:
25786318
Change-Id: I7a3aee1ff66c82d64b4846611c547af17e91d260
Vladimir Marko [Mon, 14 Dec 2015 11:54:45 +0000 (11:54 +0000)]
Merge "ART: Rename ROR test to a shorter name."
Vladimir Marko [Mon, 14 Dec 2015 10:29:35 +0000 (10:29 +0000)]
ART: Rename ROR test to a shorter name.
Keeps the file names of test files within limits.
The new name is exactly as long as the next longest name.
Change-Id: I4bbfd4cf2aa402a436ba9a5bc9589aa8710b9c15
Vladimir Marko [Mon, 14 Dec 2015 10:24:12 +0000 (10:24 +0000)]
Merge "Optimizing: Clean up after HRor."
Shinichiro Hamaji [Fri, 11 Dec 2015 00:45:28 +0000 (09:45 +0900)]
Get DCHECK back to EncodedStaticFieldValueIterator
This is a follow-up of
https://android-review.googlesource.com/#/c/185000/
Change-Id: Ia7311ab948712324f92814e4d415a0a78d16bb84
Mathieu Chartier [Sat, 12 Dec 2015 01:34:00 +0000 (01:34 +0000)]
Merge "Address some comments in image writer"
Dimitry Ivanov [Fri, 11 Dec 2015 22:23:52 +0000 (22:23 +0000)]
Merge "Fix call to LoadNativeLibrary"
Dimitry Ivanov [Fri, 11 Dec 2015 22:03:09 +0000 (14:03 -0800)]
Fix call to LoadNativeLibrary
Change-Id: Ie625cdbdf18374b2a8b0adc11758aac47e603625
Dimitry Ivanov [Fri, 11 Dec 2015 20:30:30 +0000 (20:30 +0000)]
Merge "Use isolated namespaces for app native libs"
Andreas Gampe [Fri, 11 Dec 2015 19:01:41 +0000 (19:01 +0000)]
Merge "ART: Weaken dex file verifier abstract check"
Andreas Gampe [Fri, 11 Dec 2015 00:23:41 +0000 (16:23 -0800)]
ART: Weaken dex file verifier abstract check
We decided to not reject dex files with non-abstract classes containing
abstract methods (even though that's broken code). Just log a warning
instead.
Reported by Nikolay Serdjuk.
Bug:
26143249
Change-Id: Iaf981dba70c7c4b9c844ad9f2806278072e3ed52
Calin Juravle [Fri, 11 Dec 2015 14:41:31 +0000 (14:41 +0000)]
Revert "Revert "Enable profiled guided compilation in dex2oat""
This reverts commit
2306ae0d412cc53cbf64877e4a8c37292dd907d8.
Change-Id: I50640009c2fac88ea703812b76549a0e8a6d7584
Alex Light [Fri, 11 Dec 2015 17:25:17 +0000 (17:25 +0000)]
Merge "Make 'dexdump2 -l xml' include whether each class is an interface."
Vladimir Marko [Fri, 11 Dec 2015 16:34:46 +0000 (16:34 +0000)]
Optimizing: Clean up after HRor.
Change-Id: I96bd7fa2e8bdccb87a3380d063dad0dd57fed9d7
Vladimir Marko [Fri, 11 Dec 2015 16:14:56 +0000 (16:14 +0000)]
Merge "Replace rotate patterns and invokes with HRor IR."
Scott Wakeling [Fri, 11 Dec 2015 09:50:36 +0000 (09:50 +0000)]
Replace rotate patterns and invokes with HRor IR.
Replace constant and register version bitfield rotate patterns, and
rotateRight/Left intrinsic invokes, with new HRor IR.
Where k is constant and r is a register, with the UShr and Shl on
either side of a |, +, or ^, the following patterns are replaced:
x >>> #k OP x << #(reg_size - k)
x >>> #k OP x << #-k
x >>> r OP x << (#reg_size - r)
x >>> (#reg_size - r) OP x << r
x >>> r OP x << -r
x >>> -r OP x << r
Implemented for ARM/ARM64 & X86/X86_64.
Tests changed to not be inlined to prevent optimization from folding
them out. Additional tests added for constant rotate amounts.
Change-Id: I5847d104c0a0348e5792be6c5072ce5090ca2c34
Calin Juravle [Fri, 11 Dec 2015 14:01:12 +0000 (14:01 +0000)]
Merge "Revert "Enable profiled guided compilation in dex2oat""
Calin Juravle [Fri, 11 Dec 2015 14:00:52 +0000 (14:00 +0000)]
Revert "Enable profiled guided compilation in dex2oat"
The test still have some flakiness in it which didn't reproduce locally.
This reverts commit
500c9be1f261a8a95ae7a25f4f8084f43207f313.
Change-Id: I132aff62bf03c2f926aafde6869707573bae9b36
Tamas Berghammer [Fri, 11 Dec 2015 13:16:13 +0000 (13:16 +0000)]
Merge "Mark __jit_debug_register_code as a unique symbol"
Nicolas Geoffray [Fri, 11 Dec 2015 12:14:17 +0000 (12:14 +0000)]
Make the JIT the default in ART.
Also don't dex2oat an application by default when the JIT is enabled.
Change-Id: I32673e80b966f24ca0f153a3e5b9aacaa1931107
Tamas Berghammer [Fri, 11 Dec 2015 11:48:00 +0000 (11:48 +0000)]
Merge "Set DW_AT_comp_dir for each compile unit in dwarf"
Tamas Berghammer [Wed, 2 Sep 2015 10:24:33 +0000 (11:24 +0100)]
Mark __jit_debug_register_code as a unique symbol
This symbol is used to notify the debugger about JIT library load/unload
events. Because of ICF, several functions with the same body put to the
same adress by the linker what causes the debugger to get notifictaion
about JIT load/unload events in several case where it isn't really happened.
This change disable ICF for the __jit_debug_register_code symbol to prevent
this behavior with keeping the symbol unique in the object file.
This is the 3rd attemp to mark the __jit_debug_register_code symbol unique
as the previous 2 failed because of some confilict with unrelated changes.
Tracking bug for making the same change for aarch64 after we switch to gold
there: b/
26149442
Change-Id: I6edc45f27d5e57a66fb9d98c32a081f711565810
Calin Juravle [Fri, 11 Dec 2015 11:35:23 +0000 (11:35 +0000)]
Merge "Enable profiled guided compilation in dex2oat"
Nicolas Geoffray [Fri, 11 Dec 2015 09:32:54 +0000 (09:32 +0000)]
Merge "Don't generate a slow path for strings in the dex cache."
Nicolas Geoffray [Fri, 11 Dec 2015 09:31:08 +0000 (09:31 +0000)]
Merge "Optimizing: Add direct calls to math intrinsics"
Mathieu Chartier [Fri, 11 Dec 2015 04:01:40 +0000 (04:01 +0000)]
Merge "Skip DumpForSigQuit if debugger is active"
Mathieu Chartier [Fri, 11 Dec 2015 01:11:07 +0000 (17:11 -0800)]
Skip DumpForSigQuit if debugger is active
Otherwise, the SIGQUIT dumping may get blocked on the mutator lock
and freeze the debugger.
Future work: Ideally we want to dump what we can instead of nothing.
Bug:
26118154
(cherry picked from commit
0b8f1bfdfc721a41d98d13e12c4c67f62f698dfc)
Change-Id: I28e5352dab3b8abce0b39850e3e58282ae454b51
Dmitriy Ivanov [Wed, 11 Nov 2015 22:18:55 +0000 (14:18 -0800)]
Use isolated namespaces for app native libs
Linker namespaces provide necessary level
of isolation for application native libraries.
The native libraries will no longer be able to
mistakenly depend on platform private libraries
like /system/lib/libssl.so
This change creates one namespace for each instance
of class-loader and uses it when loading native libraries.
For backwards compatibility with older apps we keep
using default namespace and LD_LIBRARY_PATH if target
sdk version is <= 23. (currently set to 0 for testing)
Bug: http://b/
22548808
Change-Id: I64e97af7450fbf7e3740ccddda96bb2f7c52e03b
Mingyao Yang [Fri, 11 Dec 2015 00:57:24 +0000 (00:57 +0000)]
Merge "For LSE, add a few non-aliasing cases due to pre-existence."
Alex Light [Fri, 11 Dec 2015 00:49:47 +0000 (16:49 -0800)]
Make 'dexdump2 -l xml' include whether each class is an interface.
Change-Id: Id83ef52454596ab80b16042e58ff9d00bc5fb8ed
Mingyao Yang [Thu, 3 Dec 2015 22:11:15 +0000 (14:11 -0800)]
For LSE, add a few non-aliasing cases due to pre-existence.
Create reference info for a few instructions that can return a reference.
So they will be treated as not-aliasing with future allocations.
Change-Id: Ided3db790b95f8d6f1468bbf4b7f3e6d71d81eb2
Andreas Gampe [Thu, 10 Dec 2015 23:50:11 +0000 (23:50 +0000)]
Merge "ART: Stash a resolved method late in the verifier"
Shinichiro Hamaji [Thu, 10 Dec 2015 23:45:02 +0000 (23:45 +0000)]
Merge "Output static field values in dexdump"
Andreas Gampe [Fri, 4 Dec 2015 01:27:32 +0000 (17:27 -0800)]
ART: Stash a resolved method late in the verifier
Invoke-interface should only be called on an interface method.
We cannot move the check earlier, as there are other checks
that must be done that can fail a class hard. So postpone
a push to the dex cache.
Clean up the test a bit.
Also templatize ResolveMethod with a version always checking
the invoke type, and on a cache miss check whether type target
type is an interface when an interface invoke type was given.
Bug:
21869691
Change-Id: I94cbb23339cbbb3cb6be9995775e4dcefacce7fd
Andreas Gampe [Thu, 10 Dec 2015 21:28:58 +0000 (21:28 +0000)]
Merge "Revert "ART: Check invoke-interface earlier in verifier""
Andreas Gampe [Thu, 10 Dec 2015 21:25:27 +0000 (13:25 -0800)]
Revert "ART: Check invoke-interface earlier in verifier"
This reverts commit
dae24142127c64551142a50423085aabdb0a6060.
It is important to check the name of the method being called.
Bug:
21869691
Mathieu Chartier [Wed, 9 Dec 2015 23:41:09 +0000 (15:41 -0800)]
Address some comments in image writer
Change-Id: I74c3192d595dc8b86d6ce3e3ca3bb32cce61872c
Andreas Gampe [Thu, 10 Dec 2015 20:50:26 +0000 (20:50 +0000)]
Merge "ART: Refactor verifier callbacks"
Vladimir Marko [Thu, 10 Dec 2015 20:29:25 +0000 (20:29 +0000)]
Merge "Refactor and clean up OatWriter and Dex2Oat."
Vladimir Marko [Thu, 10 Dec 2015 13:49:19 +0000 (13:49 +0000)]
Refactor and clean up OatWriter and Dex2Oat.
This is in preparation for early writing of dex files
to oat file.
Change-Id: I31195f3c94eb8ff676c600c60bd35ae531f457b4
Mathieu Chartier [Thu, 10 Dec 2015 19:16:31 +0000 (19:16 +0000)]
Merge "Revert "Revert "Add support for LZ4 compressed image files"""
Mathieu Chartier [Thu, 10 Dec 2015 17:33:21 +0000 (09:33 -0800)]
Revert "Revert "Add support for LZ4 compressed image files""
Needed to call compiler_driver_->SetSupportBootImageFixup(false).
Bug:
22858531
This reverts commit
83d4d72aa0e4170209ab50c67ba22e46b71352c1.
Change-Id: Iaed6a810a0c088f1f2c57cf2f12087f3978a3de1
Mark Mendell [Thu, 6 Aug 2015 19:23:34 +0000 (15:23 -0400)]
Optimizing: Add direct calls to math intrinsics
Support the double forms of:
cos, sin, acos, asin, atan, atan2, cbrt, cosh, exp, expm1,
hypot, log, log10, nextAfter, sinh, tan, tanh
Add these entries to the vector addressed off the thread pointer. Call
the libc routines directly, which means that we have to implement the
native ABI, not the ART one. For x86_64, that includes saving XMM12-15
as the native ABI considers them caller-save, while the ART ABI
considers them callee-save. We save them by marking them as used by the
call to the math function. For x86, this is not an issue, as all the XMM
registers are caller-save.
Other architectures will call Java as before until they are ready to
implement the new intrinsics.
Bump the OAT version since we are incompatible with old boot.oat files.
Change-Id: Ic6332c3555c09393a17d1ad4daf62932488722fb
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Calin Juravle [Wed, 25 Nov 2015 15:59:14 +0000 (15:59 +0000)]
Enable profiled guided compilation in dex2oat
- add parsing of the profile info saved during JIT.
- don't compile methods which are not part of the profile info.
- delete old profile hooks.
- add test for reading/writing profile. The test is disable in:
* interpreter modes: the test needs JIT.
* no-dex2oat/no-prebuild: we only save profiling info for the primary
oat file. In these modes we don't create oat files and thus nothing
is saved.
Bug:
26080105
Change-Id: Ifdc63dc9d4b537fc79e54c3edc3ae3a462bc30fb
Nicolas Geoffray [Tue, 24 Nov 2015 18:25:35 +0000 (18:25 +0000)]
Don't generate a slow path for strings in the dex cache.
Change-Id: I1d258f1a89bf0ec7c7ddd134be9215d480f0b09a
David Srbecky [Thu, 10 Dec 2015 16:42:55 +0000 (16:42 +0000)]
Merge "Get source mapping table from stack maps."
David Srbecky [Tue, 8 Dec 2015 15:05:08 +0000 (15:05 +0000)]
Get source mapping table from stack maps.
Stack maps contain pc to dex mapping.
Reuse them instead of maintaining separate map.
Change-Id: Iaaec9a6bd2603eace1dfc8f4344087883d88cce3
Nicolas Geoffray [Thu, 10 Dec 2015 15:40:55 +0000 (15:40 +0000)]
Merge "Fix braino when resolving an invoke-super."
Nicolas Geoffray [Thu, 10 Dec 2015 15:06:15 +0000 (15:06 +0000)]
Fix braino when resolving an invoke-super.
We should check the actual_method, and not the resolved_method,
on whether it is in the same dex file.
bug:
26022686
Change-Id: I8a9b0c68e162015e0aec397545d0607482949967
David Brazdil [Thu, 10 Dec 2015 15:12:19 +0000 (15:12 +0000)]
Merge "ART: Fix bug in DCE not removing phis from catch phi uses"
David Brazdil [Thu, 10 Dec 2015 13:54:52 +0000 (13:54 +0000)]
ART: Fix bug in DCE not removing phis from catch phi uses
Due to the missing edges between throwing instructions and catch phis
DCE needs to manually remove dead instructions from catch phi users,
being overly conservative if the inputs are not in the dead blocks.
DCE used to do this for normal instructions, but it needs to do the
same for phis.
Change-Id: I7edfcb84ec6ff7303945d5d5cd436b1d1e95df2a
Tamas Berghammer [Thu, 10 Dec 2015 15:06:25 +0000 (15:06 +0000)]
Set DW_AT_comp_dir for each compile unit in dwarf
The dex file don't contain the full path of the compilation dir so we
set it to a symbolic value ($JAVA_SRC_ROOT) what can be remapped by
the tools reading the dwarf information.
Change-Id: Ia011de14a6b36a29b54b3f3fa290cc3157a0b91d
Roland Levillain [Thu, 10 Dec 2015 11:11:43 +0000 (11:11 +0000)]
Merge "Fix the build-art-multi-executable Make function."
Roland Levillain [Thu, 10 Dec 2015 11:04:25 +0000 (11:04 +0000)]
Fix the build-art-multi-executable Make function.
Follow-up fix to
https://android-review.googlesource.com/#/c/185537.
Bug:
26051370
Change-Id: I891abe5ec2a2eae775b9791050654602861798f4
Nicolas Geoffray [Thu, 10 Dec 2015 10:54:24 +0000 (10:54 +0000)]
Merge "MIPS32: Improve integer division by constants"
Roland Levillain [Thu, 10 Dec 2015 10:24:10 +0000 (10:24 +0000)]
Merge "Fix imgdiag build rules."
Roland Levillain [Thu, 10 Dec 2015 10:17:43 +0000 (10:17 +0000)]
Fix imgdiag build rules.
Adjust build rules to avoid building a 64-bit imgdiag
executable on host when HOST_PREFER_32_BIT is true.
This CL addresses an imgdiag related build issue that
appeared on the ART Buildbot after system/core was unpinned
from the master-art manifest
(https://android-review.googlesource.com/#/c/185580), used
by some of our Buildbot configurations:
ninja: error: 'out/host/linux-x86/obj/SHARED_LIBRARIES/libbacktrace_intermediates/export_includes', needed by 'out/host/linux-x86/obj/EXECUTABLES/imgdiag_intermediates/import_includes', missing and no known rule to make it
Bug:
26051370
Change-Id: I8f3b3c89fb8da0c37a1ffb21b6d835e7ede1e71a
Nicolas Geoffray [Thu, 10 Dec 2015 08:27:00 +0000 (08:27 +0000)]
Merge "Revert "Add support for LZ4 compressed image files""
Nicolas Geoffray [Thu, 10 Dec 2015 08:26:32 +0000 (08:26 +0000)]
Revert "Add support for LZ4 compressed image files"
Tentative. Looks like it breaks image_test for hammerhead:
art/compiler/linker/arm/relative_patcher_thumb2.cc:36] Check failed: target_offset & 1u == 1u (target_offset & 1u=0, 1u=1)
Bug:
22858531
This reverts commit
c6f41b5b3ca3d7ac3c12ad3995ffef4e831973a0.
Change-Id: I9bc5738a8b5c8f8bc8b73309f9420fd691bc79a9
Andreas Gampe [Thu, 10 Dec 2015 05:03:23 +0000 (21:03 -0800)]
ART: Refactor verifier callbacks
Change the return type of MethodVerified to void. It was never
used anyways.
Remove the callbacks calls from the core of the verifier (Verify()).
Instead, make the convenience functions do the work, and add a
parameter to supply the callback so that the verifier becomes
independent of the Runtime-stored one.
Fix up calls that now need to provide a callback, but leave places
that only run the verifier to get metadata (e.g., register type data,
lock state) without callback. This avoids callback calls when in JIT
mode.
Bug:
26075442
Change-Id: I2c270f01e4de088771d4d4b19dae4f07d77640f0
Shinichiro Hamaji [Thu, 5 Nov 2015 07:51:33 +0000 (16:51 +0900)]
Output static field values in dexdump
This is necessary to generate table-of-contents of .dex files
to prevent unnecessary rebuilds for implementation-only
changes because these values can be used while compiling other
modules.
Also modify EncodedStaticFieldValueIterator so it can be used
without ClassLoader/Linker.
Bug:
24597504
Change-Id: Ida0c839f9dd6961e1c1b3a380e2092042fad03bb
Andreas Gampe [Thu, 10 Dec 2015 00:34:23 +0000 (00:34 +0000)]
Merge "ART: Make trampoline compiler pointer-size-safe"
Andreas Gampe [Wed, 9 Dec 2015 23:14:04 +0000 (15:14 -0800)]
ART: Make trampoline compiler pointer-size-safe
The trampoline compiler uses offsets of runtime structures which
may change with the pointer size.
Add offset tests to jni_internal_test.
Bug:
26071368
(cherry picked from commit
da9b763abc712fd6d1e24170a194abfbe795b8cd)
Change-Id: I01d1a3727f46b3015ac677afb5427337c3093402
Mingyao Yang [Wed, 9 Dec 2015 20:35:32 +0000 (20:35 +0000)]
Merge "Simplify and rename IsLoopInvariant() test."
Mathieu Chartier [Wed, 9 Dec 2015 20:01:11 +0000 (20:01 +0000)]
Merge "Add support for LZ4 compressed image files"
Mathieu Chartier [Fri, 4 Dec 2015 23:38:50 +0000 (15:38 -0800)]
Add support for LZ4 compressed image files
Added dex2oat option --image-format=(store|lz4). Using lz4 means
that the main image section (all data other than header and bitmap)
are stored in a compressed state.
N5 results:
Boot image size:
8067128 ->
2827605
Decompression time 18.93ms
Decompression rate: 426MB/s
Patchoat is not currently supported since it maps the source image
directly. In order to support compressed images we would need to
recompress the output image and then write it back out to a file.
Also there are not many cases where we would want to patch a
compressed image since they are going to be dirty memory when
uncompressed anyways. Might as well just patch as we are loading.
Bug:
22858531
Change-Id: I8c54ccf73408273011161a61bb891736735074d9
David Srbecky [Wed, 9 Dec 2015 16:59:36 +0000 (16:59 +0000)]
Merge "Add local variables to DWARF."
David Srbecky [Fri, 27 Nov 2015 10:27:11 +0000 (10:27 +0000)]
Add local variables to DWARF.
Change-Id: Ic915643a898e45380710de86a7944cc27403bd7f