OSDN Git Service
Nicolas Geoffray [Tue, 15 Dec 2015 16:05:30 +0000 (16:05 +0000)]
Merge "Revert "Make the JIT the default in ART.""
am:
3b0ec01718
* commit '
3b0ec017185a6d694f5041e79cc7a85d51943cff':
Revert "Make the JIT the default in ART."
Nicolas Geoffray [Tue, 15 Dec 2015 16:05:17 +0000 (16:05 +0000)]
Merge "Make the JIT the default in ART."
am:
7cd230c8f7
* commit '
7cd230c8f74a227ea04f1dd93c8d855aa81fc1fe':
Make the JIT the default in ART.
Shinichiro Hamaji [Tue, 15 Dec 2015 16:04:40 +0000 (16:04 +0000)]
Merge "Get DCHECK back to EncodedStaticFieldValueIterator"
am:
37fcf39935
* commit '
37fcf39935f24c1699cd6dacce47bbef70ca3b46':
Get DCHECK back to EncodedStaticFieldValueIterator
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
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"
Dimitry Ivanov [Mon, 14 Dec 2015 18:11:23 +0000 (10:11 -0800)]
Merge "Temporary disable linker-namespaces"
am:
a8be6ae6fc
* commit '
a8be6ae6fcf1c58c0c2067739352e16b92972c41':
Temporary disable linker-namespaces
Calin Juravle [Mon, 14 Dec 2015 18:11:15 +0000 (10:11 -0800)]
Merge "Increase the sleep time in 554-jit-profile-file"
am:
395125122a
* commit '
395125122a57dd042a507fcf1520e123561d2043':
Increase the sleep time in 554-jit-profile-file
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 17:15:11 +0000 (09:15 -0800)]
Merge "Disable 554-jit-profile-file for the READ_BARRIER mode."
am:
377cb3ba2e
* commit '
377cb3ba2e1cfe51967e5292268a9aae71ceca8c':
Disable 554-jit-profile-file for the READ_BARRIER mode.
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:20:04 +0000 (07:20 -0800)]
Merge "Print more info on why the code_cache test fails in 115-native-bridge."
am:
b9d6996ed1
* commit '
b9d6996ed1efcfaa9582e9a217053aa53e8d1733':
Print more info on why the code_cache test fails in 115-native-bridge.
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:43:46 +0000 (06:43 -0800)]
Merge "Revert "Revert "Enable profiled guided compilation in dex2oat"""
am:
8cf97d7295
* commit '
8cf97d729592774afa495717626ac4e4525a499f':
Revert "Revert "Enable profiled guided compilation in dex2oat""
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:34:55 +0000 (06:34 -0800)]
Merge "ART: Set RTI of Arm64IntermediateAddress"
am:
84c3d48a6c
* commit '
84c3d48a6ce4d2c9396364973b3d7f43893ab468':
ART: Set RTI of Arm64IntermediateAddress
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:45:01 +0000 (05:45 -0800)]
Merge "ART: Refactor SsaBuilder for more precise typing info"
am:
795accfff0
* commit '
795accfff05abfb69f54003ee3f096ef3ff6f1e4':
ART: Refactor SsaBuilder for more precise typing info
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:59:54 +0000 (03:59 -0800)]
Merge "ART: Rename ROR test to a shorter name."
am:
ceec5a3c81
* commit '
ceec5a3c81925cf80a18954b2e585316450c575c':
ART: Rename ROR test to a shorter name.
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:28:41 +0000 (02:28 -0800)]
Merge "Optimizing: Clean up after HRor."
am:
70c1a8fade
* commit '
70c1a8fade2967453663d0ffed0f137f06555fff':
Optimizing: Clean up after HRor.
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:39:00 +0000 (17:39 -0800)]
Merge "Address some comments in image writer"
am:
4113b97bd7
* commit '
4113b97bd738570fa28a450720cf14810a9f8292':
Address some comments in image writer
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:55:12 +0000 (14:55 -0800)]
Merge "Fix call to LoadNativeLibrary"
am:
2cab58141a
* commit '
2cab58141a357749ea7c8d15b94750ffa3706e51':
Fix call to LoadNativeLibrary
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:37:43 +0000 (12:37 -0800)]
Merge "Use isolated namespaces for app native libs"
am:
98d46d2d28
* commit '
98d46d2d287c8081995517770392a21b4d59d2e9':
Use isolated namespaces for app native libs
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:13:18 +0000 (11:13 -0800)]
Merge "ART: Weaken dex file verifier abstract check"
am:
277da370dd
* commit '
277da370dd517af0d6a27bef3b86d5f259feda62':
ART: Weaken dex file verifier abstract check
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:34:37 +0000 (09:34 -0800)]
Merge "Make \'dexdump2 -l xml\' include whether each class is an interface."
am:
66e43b115e
* commit '
66e43b115ed53512803403d25f88bb4a37590676':
Make 'dexdump2 -l xml' include whether each class is an interface.
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:20:21 +0000 (08:20 -0800)]
Merge "Replace rotate patterns and invokes with HRor IR."
am:
58dcb021c3
* commit '
58dcb021c3bd45718d0103844f4e6d55754e6501':
Replace rotate patterns and invokes with HRor IR.
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:07:45 +0000 (06:07 -0800)]
Merge "Revert "Enable profiled guided compilation in dex2oat""
am:
66278646b5
* commit '
66278646b5b332142d1474703ac7d945dfbf7c78':
Revert "Enable profiled guided compilation in dex2oat"
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:22:09 +0000 (05:22 -0800)]
Merge "Mark __jit_debug_register_code as a unique symbol"
am:
919b6d5fc9
* commit '
919b6d5fc9b18dd7c00f5fa8eb90411b2ca8998b':
Mark __jit_debug_register_code as a unique symbol
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:54:02 +0000 (03:54 -0800)]
Merge "Set DW_AT_comp_dir for each compile unit in dwarf"
am:
7b000c9d9d
* commit '
7b000c9d9dd34f1857bcd561daf04742bbacdd76':
Set DW_AT_comp_dir for each compile unit in dwarf
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"
Calin Juravle [Fri, 11 Dec 2015 11:42:42 +0000 (03:42 -0800)]
Merge "Enable profiled guided compilation in dex2oat"
am:
a79c717fd4
* commit '
a79c717fd4de0d7361a51bee1e3cf4f2ff5f085a':
Enable profiled guided compilation in dex2oat
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:38:32 +0000 (01:38 -0800)]
Merge "Don\'t generate a slow path for strings in the dex cache."
am:
bf479be3a9
* commit '
bf479be3a9b25b2126d2c73a3267f18ee52811fb':
Don't generate a slow path for strings in the dex cache.
Nicolas Geoffray [Fri, 11 Dec 2015 09:35:47 +0000 (01:35 -0800)]
Merge "Optimizing: Add direct calls to math intrinsics"
am:
376cbcc516
* commit '
376cbcc5163b3bb80811b9af6b67b6f8719db9f2':
Optimizing: Add direct calls to math intrinsics
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:07:11 +0000 (20:07 -0800)]
Merge "Skip DumpForSigQuit if debugger is active"
am:
b4cc884dfe
* commit '
b4cc884dfe5bb9c1a36bdfbf6a0dfa183d8d321c':
Skip DumpForSigQuit if debugger is active
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 01:05:51 +0000 (17:05 -0800)]
Merge "For LSE, add a few non-aliasing cases due to pre-existence."
am:
84623e1802
* commit '
84623e18021451375248af7be44dd0717e681c1f':
For LSE, add a few non-aliasing cases due to pre-existence.
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:58:19 +0000 (15:58 -0800)]
Merge "ART: Stash a resolved method late in the verifier"
am:
748047de83
* commit '
748047de833061466e230baf374480a147568f73':
ART: Stash a resolved method late in the verifier
Shinichiro Hamaji [Thu, 10 Dec 2015 23:52:14 +0000 (15:52 -0800)]
Merge "Output static field values in dexdump"
am:
1a74dc4209
* commit '
1a74dc42099bd1ea4583edabef42b5a4d6f70389':
Output static field values in dexdump
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:37:39 +0000 (13:37 -0800)]
Merge "Revert "ART: Check invoke-interface earlier in verifier""
am:
170e01a6b5
* commit '
170e01a6b59b3242a5afc76c3a03c00ce288150f':
Revert "ART: Check invoke-interface earlier in verifier"
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:57:56 +0000 (12:57 -0800)]
Merge "ART: Refactor verifier callbacks"
am:
34760f9a97
* commit '
34760f9a97e6a1733edfca1b13199f749106a30f':
ART: Refactor verifier callbacks
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:36:44 +0000 (12:36 -0800)]
Merge "Refactor and clean up OatWriter and Dex2Oat."
am:
a1b21219db
* commit '
a1b21219dbed80f8812611968b624ba8644781e3':
Refactor and clean up OatWriter and Dex2Oat.
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:24:38 +0000 (11:24 -0800)]
Merge "Revert "Revert "Add support for LZ4 compressed image files"""
am:
840d22928c
* commit '
840d22928c09bf373c8f559171fdba3f7448345e':
Revert "Revert "Add support for LZ4 compressed image files""
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
David Srbecky [Thu, 10 Dec 2015 16:48:24 +0000 (16:48 +0000)]
Merge "Get source mapping table from stack maps."
am:
836ee764c8
* commit '
836ee764c86892aff1dca6b0f8b27e32c7374cc7':
Get source mapping table from stack maps.
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:44:55 +0000 (07:44 -0800)]
Merge "Fix braino when resolving an invoke-super."
am:
d48015603a
* commit '
d48015603a54b820d287d92709825765159615f0':
Fix braino when resolving an invoke-super.
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:16:07 +0000 (15:16 +0000)]
Merge "ART: Fix bug in DCE not removing phis from catch phi uses"
am:
4a34064d9c
* commit '
4a34064d9ca437c5168d7c00c456155ea8339dec':
ART: Fix bug in DCE not removing phis from catch phi uses