OSDN Git Service
Ying Wang [Wed, 8 Jul 2015 22:00:42 +0000 (22:00 +0000)]
am
e1f3a6ed: Merge "Have test-art-host-dexdump specifically depend on the host binaries."
* commit '
e1f3a6edc5bb241a11043c8be6b12b856b6cfe89':
Have test-art-host-dexdump specifically depend on the host binaries.
Ying Wang [Wed, 8 Jul 2015 21:46:14 +0000 (21:46 +0000)]
Merge "Have test-art-host-dexdump specifically depend on the host binaries."
Aart Bik [Wed, 8 Jul 2015 21:39:57 +0000 (21:39 +0000)]
am
784c6aee: Merge "Revert "Make Art dexdump/list the real utilities.""
* commit '
784c6aee9cde7fc0e39a9f0c8b93d120e5f6dc3b':
Revert "Make Art dexdump/list the real utilities."
Mathieu Chartier [Wed, 8 Jul 2015 21:39:53 +0000 (21:39 +0000)]
am
2e3fc781: Merge "Use trap + async timeout for tests"
* commit '
2e3fc78177c73569627654b9f90938de8d3b316e':
Use trap + async timeout for tests
Ying Wang [Wed, 8 Jul 2015 21:09:10 +0000 (14:09 -0700)]
Have test-art-host-dexdump specifically depend on the host binaries.
dexdump2 and dexlist2 are phony targets representing both the host and
target binaries.
Also set environmental variable ANDROID_HOST_OUT=$(realpath $(HOST_OUT))
before calling art/test/dexdump/run-all-tests.
art/test/dexdump/run-all-tests references ANDROID_HOST_OUT, which may be
not set up by the user if he didn't run build/envsetup.sh.
Bug:
22343844
Change-Id: I38b5f3efccd5817d7d9ff0e91b5c6d070b546d77
Aart Bik [Wed, 8 Jul 2015 21:21:15 +0000 (21:21 +0000)]
Merge "Revert "Make Art dexdump/list the real utilities.""
Mathieu Chartier [Wed, 8 Jul 2015 21:21:55 +0000 (21:21 +0000)]
Merge "Use trap + async timeout for tests"
Aart Bik [Wed, 8 Jul 2015 21:20:13 +0000 (21:20 +0000)]
Revert "Make Art dexdump/list the real utilities."
This reverts commit
d10ee1ce1ccd92c003ec49c15edf339e74c13894.
REASON:
win_sdk is not happy with my migration :-(
Change-Id: I2ed196da3f5883112883525f883d25b36e48352a
Andreas Gampe [Wed, 8 Jul 2015 21:08:48 +0000 (21:08 +0000)]
am
dffdfb9e: Merge "ART: Avoid soft- after hard-fail in verifier"
* commit '
dffdfb9ecb8c3b0b3faaf0ca204b963410a3a47d':
ART: Avoid soft- after hard-fail in verifier
Mathieu Chartier [Wed, 8 Jul 2015 21:03:02 +0000 (14:03 -0700)]
Use trap + async timeout for tests
Allows tests to be killed with ctrl-c.
Bug:
19414810
Change-Id: I09fbee370e71386ed48b814407868c2fe7a0b058
Andreas Gampe [Wed, 8 Jul 2015 20:56:40 +0000 (20:56 +0000)]
Merge "ART: Avoid soft- after hard-fail in verifier"
Aart Bik [Wed, 8 Jul 2015 20:27:30 +0000 (20:27 +0000)]
am
8e76556c: Merge "Make Art dexdump/list the real utilities."
* commit '
8e76556c38de90095c45599a81254ded448cc1aa':
Make Art dexdump/list the real utilities.
Aart Bik [Wed, 8 Jul 2015 20:10:39 +0000 (20:10 +0000)]
Merge "Make Art dexdump/list the real utilities."
Aart Bik [Wed, 8 Jul 2015 18:30:04 +0000 (11:30 -0700)]
Make Art dexdump/list the real utilities.
Note: depends on pending CL that removes
old dexdump/list and libdex.
Bug:
22322814
Change-Id: I99259553f0f4655a633989feb8d67aa11de8b29d
David Brazdil [Wed, 8 Jul 2015 18:13:52 +0000 (18:13 +0000)]
am
486728d8: Merge "Address small comments in HGraphBuilder"
* commit '
486728d82e5b36a5ff3d40d282d9c32f7305bc3a':
Address small comments in HGraphBuilder
David Brazdil [Wed, 8 Jul 2015 18:13:51 +0000 (18:13 +0000)]
am
4880fd56: Merge "Revert "Revert "ART: Ignore try blocks with no throwing instructions"""
* commit '
4880fd5695ea1726dde27bb448dae1338d0a0973':
Revert "Revert "ART: Ignore try blocks with no throwing instructions""
David Brazdil [Wed, 8 Jul 2015 18:02:56 +0000 (18:02 +0000)]
Merge "Address small comments in HGraphBuilder"
David Brazdil [Wed, 8 Jul 2015 15:44:00 +0000 (16:44 +0100)]
Address small comments in HGraphBuilder
Change-Id: Ife0a19f6e07146c8e03922f1330527d092f5e236
David Brazdil [Wed, 8 Jul 2015 18:00:22 +0000 (18:00 +0000)]
Merge "Revert "Revert "ART: Ignore try blocks with no throwing instructions"""
Aart Bik [Wed, 8 Jul 2015 17:59:36 +0000 (17:59 +0000)]
am
d9acfe21: Merge "Migrated dexlist from Dalvik (libdex) into Art (libart)"
* commit '
d9acfe21f6eb09a22db69958dfb05c1f48f779bd':
Migrated dexlist from Dalvik (libdex) into Art (libart)
Aart Bik [Wed, 8 Jul 2015 17:47:23 +0000 (17:47 +0000)]
Merge "Migrated dexlist from Dalvik (libdex) into Art (libart)"
David Brazdil [Wed, 8 Jul 2015 17:26:51 +0000 (17:26 +0000)]
Revert "Revert "ART: Ignore try blocks with no throwing instructions""
The original CL broke libcore tests because monitor-exit instructions
did not have any side-effects and got removed by DCE once not labelled
throwing any more.
This reverts commit
efe374d7c25c1d48945a9198d96469de99e0c1bd.
Change-Id: I624c0f91676d9baaada6f33be9d7091f68d57535
David Brazdil [Wed, 8 Jul 2015 17:07:21 +0000 (17:07 +0000)]
am
98bea9fd: Merge "Revert "ART: Ignore try blocks with no throwing instructions""
* commit '
98bea9fdab2c5f964a95f9e76620b0b35c050a8a':
Revert "ART: Ignore try blocks with no throwing instructions"
David Brazdil [Wed, 8 Jul 2015 16:58:19 +0000 (16:58 +0000)]
Merge "Revert "ART: Ignore try blocks with no throwing instructions""
David Brazdil [Wed, 8 Jul 2015 16:58:07 +0000 (16:58 +0000)]
Revert "ART: Ignore try blocks with no throwing instructions"
Turns out monitor-exit *can* throw... Need to investigate
This reverts commit
8f8ee680bec71a28d9d7b7538e8c7ca100a18184.
Change-Id: I8b42690918833c917b6a7fc3ceea932b7c1a6f15
Calin Juravle [Wed, 8 Jul 2015 16:05:52 +0000 (16:05 +0000)]
am
761f281e: Merge "Revert "Use the object class as top in reference type propagation""
* commit '
761f281e6f78b1c48103cbd45385a5c410e2be07':
Revert "Use the object class as top in reference type propagation"
Andreas Gampe [Wed, 8 Jul 2015 16:05:49 +0000 (16:05 +0000)]
am
c7d5ae36: Merge "ART: Release inputs in Long.reverse intrinsic in x86"
* commit '
c7d5ae363bc43ebba0f21c6ee4a2164dfbb209a9':
ART: Release inputs in Long.reverse intrinsic in x86
Calin Juravle [Wed, 8 Jul 2015 15:57:32 +0000 (15:57 +0000)]
Merge "Revert "Use the object class as top in reference type propagation""
Calin Juravle [Wed, 8 Jul 2015 15:57:18 +0000 (15:57 +0000)]
Revert "Use the object class as top in reference type propagation"
failing on the build bot on some targets but not locally. needs more investigation.
This reverts commit
20e6071362b84a9782b633a893c29ebde458205e.
Change-Id: I6965483f569fb862f9bdb66d459b747ded54de71
Andreas Gampe [Wed, 8 Jul 2015 15:50:00 +0000 (15:50 +0000)]
Merge "ART: Release inputs in Long.reverse intrinsic in x86"
Andreas Gampe [Tue, 7 Jul 2015 20:25:58 +0000 (13:25 -0700)]
ART: Release inputs in Long.reverse intrinsic in x86
In the worst case we are using two temps each for input and output.
Then we do not have a temp left over for the swap operations. The
input is dead, however, after the first swap. So try to release it
(a no-op if it isn't actually a temp).
Bug:
22324327
Change-Id: I1fc50159afdad14160e34abeaf4670958171d6b2
David Brazdil [Wed, 8 Jul 2015 15:37:44 +0000 (15:37 +0000)]
am
7d5e4d05: Merge "ART: Ignore try blocks with no throwing instructions"
* commit '
7d5e4d056d6b8f54b2a7b054136e53ecbf97d314':
ART: Ignore try blocks with no throwing instructions
David Brazdil [Wed, 8 Jul 2015 15:23:53 +0000 (15:23 +0000)]
Merge "ART: Ignore try blocks with no throwing instructions"
David Brazdil [Wed, 8 Jul 2015 11:11:42 +0000 (12:11 +0100)]
ART: Ignore try blocks with no throwing instructions
In order to avoid complex removal of redundant exceptional edges in
the SSA builder, this patch modified the graph builder to consider
blocks without throwing instructions as not in a try block, even if
covered by a TryItem.
In some corner cases, this may generate more TryBoundaries than
necessary, but those can be removed once the SSA form is built.
Change-Id: I158c4542b2c1964a8dd532f82e921b9cb1997e1e
Calin Juravle [Wed, 8 Jul 2015 15:08:45 +0000 (15:08 +0000)]
am
c7432f3b: Merge "Use the object class as top in reference type propagation"
* commit '
c7432f3b8cd7dd6fd198fe5cf7238650921cb306':
Use the object class as top in reference type propagation
Nicolas Geoffray [Wed, 8 Jul 2015 15:08:44 +0000 (15:08 +0000)]
am
c21dc873: Merge "Fix oatdump after ArtMethod change."
* commit '
c21dc873f5a6ce31d73299ee71805031ddb9b65a':
Fix oatdump after ArtMethod change.
Calin Juravle [Wed, 8 Jul 2015 15:00:00 +0000 (15:00 +0000)]
Merge "Use the object class as top in reference type propagation"
Nicolas Geoffray [Wed, 8 Jul 2015 14:59:35 +0000 (14:59 +0000)]
Merge "Fix oatdump after ArtMethod change."
Nicolas Geoffray [Wed, 8 Jul 2015 14:55:28 +0000 (15:55 +0100)]
Fix oatdump after ArtMethod change.
ArtMethod is now word aligned, and not necessarily 8 byte aligned.
Change-Id: I8bd6b2f156d7f2ab191d6f2675b013713bbf258d
Nicolas Geoffray [Wed, 8 Jul 2015 14:05:05 +0000 (14:05 +0000)]
am
30502f1f: Merge "Revert "Revert "Remove interpreter entrypoint in ArtMethod."""
* commit '
30502f1fc8357bdaf11b70e6fc8f5311c6237194':
Revert "Revert "Remove interpreter entrypoint in ArtMethod.""
Nicolas Geoffray [Wed, 8 Jul 2015 13:52:41 +0000 (13:52 +0000)]
Merge "Revert "Revert "Remove interpreter entrypoint in ArtMethod."""
Nicolas Geoffray [Wed, 8 Jul 2015 10:11:59 +0000 (10:11 +0000)]
Revert "Revert "Remove interpreter entrypoint in ArtMethod.""
The start of the interned strings in the image was not aligned
properly, now that ArtMethods just need to be word aligned.
This reverts commit
7070ccd8b6439477eafeea7ed3736645d78e003f.
bug:
22242193
Change-Id: I580c23310c33c239fe0e5d15c72f23a936f58ed1
Calin Juravle [Wed, 1 Jul 2015 17:41:04 +0000 (18:41 +0100)]
Use the object class as top in reference type propagation
This properly types all instructions, making it safe to query the type
at any time.
Change-Id: I3ee2f0f79253cdf45b10ddab37ecb473345ca53a
David Srbecky [Wed, 8 Jul 2015 11:21:45 +0000 (11:21 +0000)]
am
a4e43032: Merge "Accept 0xFFFFFFFF as dex debug info offset."
* commit '
a4e4303253a31aa2a03d25c48a6228d30286d579':
Accept 0xFFFFFFFF as dex debug info offset.
David Srbecky [Wed, 8 Jul 2015 11:08:32 +0000 (11:08 +0000)]
Merge "Accept 0xFFFFFFFF as dex debug info offset."
Roland Levillain [Wed, 8 Jul 2015 10:48:52 +0000 (10:48 +0000)]
am
3e18a895: Merge "Fuse long and FP compare & condition on x86/x86-64 in Optimizing."
* commit '
3e18a8958d2caa4980c4cee4e537313a61adf3d8':
Fuse long and FP compare & condition on x86/x86-64 in Optimizing.
Roland Levillain [Wed, 8 Jul 2015 10:36:47 +0000 (10:36 +0000)]
Merge "Fuse long and FP compare & condition on x86/x86-64 in Optimizing."
Nicolas Geoffray [Wed, 8 Jul 2015 09:56:32 +0000 (09:56 +0000)]
am
569e81e5: Merge "Revert "Remove interpreter entrypoint in ArtMethod.""
* commit '
569e81e500725f52116b7d0342ec80a6d1e0089b':
Revert "Remove interpreter entrypoint in ArtMethod."
Nicolas Geoffray [Wed, 8 Jul 2015 09:56:31 +0000 (09:56 +0000)]
am
d5bd4fdd: Merge "Remove interpreter entrypoint in ArtMethod."
* commit '
d5bd4fdd46dce3c33abf17376fbceadcc1aff547':
Remove interpreter entrypoint in ArtMethod.
Nicolas Geoffray [Wed, 8 Jul 2015 09:42:05 +0000 (09:42 +0000)]
Merge "Revert "Remove interpreter entrypoint in ArtMethod.""
Nicolas Geoffray [Wed, 8 Jul 2015 09:41:54 +0000 (09:41 +0000)]
Revert "Remove interpreter entrypoint in ArtMethod."
Build failures on bots. Investigating.
This reverts commit
fa2c054b28d4b540c1b3651401a7a091282a015f.
Change-Id: Id65b2009aa66cb291fb8c39758a58e0b0d22616c
Nicolas Geoffray [Wed, 8 Jul 2015 08:56:49 +0000 (08:56 +0000)]
Merge "Remove interpreter entrypoint in ArtMethod."
Nicolas Geoffray [Wed, 1 Jul 2015 13:32:54 +0000 (14:32 +0100)]
Remove interpreter entrypoint in ArtMethod.
Saves 4/8 bytes for each ArtMethod.
Change-Id: I110ecdddf8516b0759a31fa157609643e6d60b15
Aart Bik [Wed, 8 Jul 2015 00:09:41 +0000 (17:09 -0700)]
Migrated dexlist from Dalvik (libdex) into Art (libart)
Rationale:
The new dexlist (temporarily called dexlist2 until we are
satisfied with the migration) is a re-implementation of the
original dexlist utility that was based on Dalvik functions
in libdex into a new dexlist that is now based on Art functions
in libart instead.
Bug:
22322814
Change-Id: I0f034d66c1a1f3c5450423f57fcdc23e2f5a1e29
David Srbecky [Tue, 7 Jul 2015 18:13:29 +0000 (19:13 +0100)]
Accept 0xFFFFFFFF as dex debug info offset.
Bug:
22023362
Change-Id: I03e5c74f5ece4dbe1fab37d8b5f857582b04f57c
Aart Bik [Tue, 7 Jul 2015 18:07:37 +0000 (18:07 +0000)]
am
a100332e: Merge "Build rule for dexdump regression test on host."
* commit '
a100332ee0f4b842c28ec2448f97e40a882cd837':
Build rule for dexdump regression test on host.
Aart Bik [Tue, 7 Jul 2015 17:52:34 +0000 (17:52 +0000)]
Merge "Build rule for dexdump regression test on host."
Andreas Gampe [Tue, 7 Jul 2015 17:02:48 +0000 (17:02 +0000)]
am
53ed3c5f: Merge "ART: Fix opsize in LoadArgDirect"
* commit '
53ed3c5f71c983f01cd10a805255c1301438ab8c':
ART: Fix opsize in LoadArgDirect
Andreas Gampe [Tue, 7 Jul 2015 16:46:06 +0000 (16:46 +0000)]
Merge "ART: Fix opsize in LoadArgDirect"
Andreas Gampe [Mon, 6 Jul 2015 21:00:39 +0000 (14:00 -0700)]
ART: Fix opsize in LoadArgDirect
If the destination register is a reference, use kReference for the
op size.
Bug:
22244733
Change-Id: Idf52f2ee4c65b5dc41cb66257d95281dc6f32255
Mark Mendell [Fri, 10 Apr 2015 17:18:51 +0000 (13:18 -0400)]
Fuse long and FP compare & condition on x86/x86-64 in Optimizing.
This is a preliminary implementation of fusing long/float/double
compares with conditions to avoid materializing the result from the
compare and condition.
The information from a HCompare is transferred to the HCondition if it
is legal. There must be only a single use of the HCompare, the HCompare
and HCondition must be in the same block, the HCondition must not need
materialization.
Added GetOppositeCondition() to HCondition to return the flipped
condition.
Bug:
21120453
Change-Id: I1f1db206e6dc336270cd71070ed3232dedc754d6
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Nicolas Geoffray [Tue, 7 Jul 2015 11:00:45 +0000 (11:00 +0000)]
am
ee35ff80: Merge "Improve code generation for ARM64 VisitArrayGet/Set."
* commit '
ee35ff809616324cbada38cbc0610eb09da09b35':
Improve code generation for ARM64 VisitArrayGet/Set.
Nicolas Geoffray [Tue, 7 Jul 2015 10:48:12 +0000 (10:48 +0000)]
Merge "Improve code generation for ARM64 VisitArrayGet/Set."
Alexandre Rames [Tue, 7 Jul 2015 10:34:16 +0000 (11:34 +0100)]
Improve code generation for ARM64 VisitArrayGet/Set.
We prefer the code sequence
add temp, obj, #offset
ldr out, [temp, index LSL #shift_amount]
to
add temp, obj, index LSL #shift_amount
ldr out, [temp, #offset]
Change-Id: I98f51a1b5a5ecd84c677d6dbd4c4bfc0f157f5e2
Nicolas Geoffray [Tue, 7 Jul 2015 10:00:59 +0000 (10:00 +0000)]
am
00dec6a9: Merge "Make dexdump2 compile for 64bit devices."
* commit '
00dec6a9506364806227f21f6a053176a6723fe9':
Make dexdump2 compile for 64bit devices.
Roland Levillain [Tue, 7 Jul 2015 10:00:58 +0000 (10:00 +0000)]
am
399426d9: Merge "Added next condition check to branch instruction"
* commit '
399426d95de2fd4f317527319a72f4abfa4cc0a0':
Added next condition check to branch instruction
Roland Levillain [Tue, 7 Jul 2015 10:00:56 +0000 (10:00 +0000)]
am
4e869c81: Merge "Make oatdump work with .art files and code generated by Optimizing."
* commit '
4e869c818c44f9e65c9807ff5df4cd5de155d260':
Make oatdump work with .art files and code generated by Optimizing.
Nicolas Geoffray [Tue, 7 Jul 2015 09:13:48 +0000 (09:13 +0000)]
Merge "Make dexdump2 compile for 64bit devices."
Nicolas Geoffray [Tue, 7 Jul 2015 09:12:10 +0000 (10:12 +0100)]
Make dexdump2 compile for 64bit devices.
Change-Id: I4c990272b20062632d236671415cfb3dbb26c867
Roland Levillain [Tue, 7 Jul 2015 09:09:06 +0000 (09:09 +0000)]
Merge "Added next condition check to branch instruction"
Roland Levillain [Tue, 7 Jul 2015 08:52:10 +0000 (08:52 +0000)]
Merge "Make oatdump work with .art files and code generated by Optimizing."
Aart Bik [Tue, 7 Jul 2015 00:45:30 +0000 (17:45 -0700)]
Build rule for dexdump regression test on host.
Bug:
17442393
Change-Id: I7795ba014e57080572769286cb3f8e3d4931e706
Andreas Gampe [Tue, 7 Jul 2015 00:20:18 +0000 (17:20 -0700)]
ART: Avoid soft- after hard-fail in verifier
Follow-up to
414000ec4d728b5c85f8c6dee4f867fecde59b01.
Bug:
21886894
Bug:
22245124
Change-Id: I3728187bd8526cdf84f95b123e6fad5d6c5a8b3c
Evgenii Stepanov [Mon, 6 Jul 2015 23:38:43 +0000 (23:38 +0000)]
am
bb5965c8: Merge "Disable sanitization of dex2oat on device."
* commit '
bb5965c8891c748a30120ff20e873bbfe2dbf5d5':
Disable sanitization of dex2oat on device.
Evgenii Stepanov [Mon, 6 Jul 2015 23:20:48 +0000 (23:20 +0000)]
Merge "Disable sanitization of dex2oat on device."
Evgenii Stepanov [Mon, 6 Jul 2015 21:01:25 +0000 (14:01 -0700)]
Disable sanitization of dex2oat on device.
Bug:
22233158
Change-Id: I54990bb167a65275ed28e0cbbab56b936eb70ca4
Aart Bik [Mon, 6 Jul 2015 22:44:38 +0000 (22:44 +0000)]
am
288b3001: Merge "List dependence of dexdump gtest on dexdump binary."
* commit '
288b30015d136a81e5899439c398ca476e332006':
List dependence of dexdump gtest on dexdump binary.
Aart Bik [Mon, 6 Jul 2015 22:24:11 +0000 (22:24 +0000)]
Merge "List dependence of dexdump gtest on dexdump binary."
Aart Bik [Mon, 6 Jul 2015 21:27:27 +0000 (14:27 -0700)]
List dependence of dexdump gtest on dexdump binary.
Change-Id: I1293009a370eff808b5e31cc89110eb9fe3ce32f
Aart Bik [Mon, 6 Jul 2015 20:40:43 +0000 (20:40 +0000)]
am
e7ea17b7: Merge "Migrated dexdump from Dalvik (libdex) into Art (libart)"
* commit '
e7ea17b726ab415a0dc98c0a3901497bbcf3a4c3':
Migrated dexdump from Dalvik (libdex) into Art (libart)
Aart Bik [Mon, 6 Jul 2015 20:25:55 +0000 (20:25 +0000)]
Merge "Migrated dexdump from Dalvik (libdex) into Art (libart)"
Aart Bik [Wed, 1 Jul 2015 21:52:26 +0000 (14:52 -0700)]
Migrated dexdump from Dalvik (libdex) into Art (libart)
Rationale:
The new dexdump (temporarily called dexdump2 until we are
satisfied with the migration) is a re-implementation of the
original dexdump utility that was based on Dalvik functions
in libdex into a new dexdump that is now based on Art functions
in libart instead.
The output is identical to the original for *correct* DEX files.
Output in error messages and the usage() may differ, however,
since the new utility relies on Art parsing and verification.
NOTE 1:
ODEX files are no longer supported.
NOTE 2:
Where possible, I kept the file as close to the original
as possible, including some archaic C idioms on memory
allocation; those can be improved over time.
NOTE 3:
I used the standard Android.mk format for the new dexdump,
but this probably needs to be Art-i-fied.
NOTE 4:
Some minor issues that need resolution are marked with a TODO.
Bug:
17442393
Change-Id: I753743f64afcf4b84b8d33efbd1cfcb7908f0c3e
Nicolas Geoffray [Mon, 6 Jul 2015 15:35:05 +0000 (15:35 +0000)]
am
d4e2738f: Merge "Revert "Revert "Fix LSRA bug with explicit register temporaries"""
* commit '
d4e2738fa7a062fee6beb88204c7420e64e5d9a6':
Revert "Revert "Fix LSRA bug with explicit register temporaries""
Andreas Gampe [Mon, 6 Jul 2015 15:35:04 +0000 (15:35 +0000)]
am
7fb6ddb8: Merge "ART: Check switch and array data better in the verifier"
* commit '
7fb6ddb874af342c5117559044f826ad1270e72b':
ART: Check switch and array data better in the verifier
Andreas Gampe [Mon, 6 Jul 2015 15:35:03 +0000 (15:35 +0000)]
am
a3c31dfd: Merge "ART: Unlink old file in OS::CreateEmptyFile"
* commit '
a3c31dfd721e54bd00fa7bfe218a69e5483a5a5d':
ART: Unlink old file in OS::CreateEmptyFile
Andreas Gampe [Mon, 6 Jul 2015 15:35:01 +0000 (15:35 +0000)]
am
d5c5ea39: Merge "Revert "ART: Unlink target oat file before compiling""
* commit '
d5c5ea39775276e38df8b5981a8423777254e098':
Revert "ART: Unlink target oat file before compiling"
Nicolas Geoffray [Mon, 6 Jul 2015 15:28:24 +0000 (15:28 +0000)]
Merge "Revert "Revert "Fix LSRA bug with explicit register temporaries"""
Andreas Gampe [Mon, 6 Jul 2015 15:25:27 +0000 (15:25 +0000)]
Merge "ART: Check switch and array data better in the verifier"
Andreas Gampe [Thu, 2 Jul 2015 05:05:59 +0000 (22:05 -0700)]
ART: Check switch and array data better in the verifier
Incorrect padding (or just malformed code) can lead to pseudo
instructions for data payload not being correctly discoverable in
a linear scan. This is problematic for the optimizing compiler,
which uses such a scan to build its graph.
Use the opcode flag in the insn_flags_ to ensure that a pseudo
instruction referenced from a base instruction was actually
correctly discovered. This does not ensure the letter of the dex
specification for now, which calls for nops for padding. However,
it is unclear what the difference between unreachable code and
padding is.
Bug:
22237618
Bug: https://code.google.com/p/android/issues/detail?id=178522
Change-Id: I823b3f541f326e6e77b15f3e13a7608a39d4b1fb
Andreas Gampe [Mon, 6 Jul 2015 15:21:45 +0000 (15:21 +0000)]
Merge "ART: Unlink old file in OS::CreateEmptyFile"
Andreas Gampe [Mon, 6 Jul 2015 15:21:35 +0000 (15:21 +0000)]
Merge "Revert "ART: Unlink target oat file before compiling""
Calin Juravle [Mon, 6 Jul 2015 15:21:13 +0000 (15:21 +0000)]
am
f7aa6c05: Merge "Revert "Fix LSRA bug with explicit register temporaries""
* commit '
f7aa6c05a1c7d70182d43abaf3ff43b6d463eec0':
Revert "Fix LSRA bug with explicit register temporaries"
Nicolas Geoffray [Mon, 6 Jul 2015 15:12:53 +0000 (15:12 +0000)]
Revert "Revert "Fix LSRA bug with explicit register temporaries""
This reverts commit
a5fc140ff315dda9bc0a8e59963ed547676cd941.
Change-Id: Ic322484176e55d0c7cd7250d629b9e5046006a4f
Calin Juravle [Mon, 6 Jul 2015 15:10:41 +0000 (15:10 +0000)]
Merge "Revert "Fix LSRA bug with explicit register temporaries""
Calin Juravle [Mon, 6 Jul 2015 15:09:54 +0000 (15:09 +0000)]
Revert "Fix LSRA bug with explicit register temporaries"
register_allocator_test32 fails.
This reverts commit
283b8541546e7673d33d104241623d07c91cf500.
Change-Id: I2a46f3c68de3e8273e402102065c13797045c481
Nicolas Geoffray [Mon, 6 Jul 2015 14:06:37 +0000 (14:06 +0000)]
am
16d6d0ef: Merge "Fix LSRA bug with explicit register temporaries"
* commit '
16d6d0effdcdba70e97518be591f409dc8460a03':
Fix LSRA bug with explicit register temporaries
Nicolas Geoffray [Mon, 6 Jul 2015 13:51:54 +0000 (13:51 +0000)]
Merge "Fix LSRA bug with explicit register temporaries"
Mark Mendell [Fri, 3 Jul 2015 12:26:41 +0000 (08:26 -0400)]
Fix LSRA bug with explicit register temporaries
A temporary with an explicit RegisterLocation, such as ESI on x86 didn't
have the register marked as allocated. This caused it to not be
saved/restored in the prologue/epilogue, causing problems in the caller
routine, which expected it to be saved. Found while implementing
https://android-review.googlesource.com/#/c/157522/.
Change-Id: I22ca2b24c2d21b1c6ab6cfb7dec26cb38034a891
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
David Brazdil [Mon, 6 Jul 2015 09:42:26 +0000 (09:42 +0000)]
am
51f38e3a: Merge "ART: Fix graph for switch leaving a try block"
* commit '
51f38e3adf58ba4e35b5374fb8c4b87cb3112abd':
ART: Fix graph for switch leaving a try block
Narayan Kamath [Mon, 6 Jul 2015 09:42:23 +0000 (09:42 +0000)]
am
b2409d91: Merge "Supress OsTest#test_xattr on the bots."
* commit '
b2409d91a2bb8d190712c009940659cea080cd65':
Supress OsTest#test_xattr on the bots.