OSDN Git Service

android-x86/art.git
9 years agoam 4c015c74: Merge "Don\'t hardcode the location of the caller."
Nicolas Geoffray [Wed, 20 May 2015 10:25:39 +0000 (10:25 +0000)]
am 4c015c74: Merge "Don\'t hardcode the location of the caller."

* commit '4c015c747417fd719d937260fdb6b04021562f50':
  Don't hardcode the location of the caller.

9 years agoMerge "Don't hardcode the location of the caller."
Nicolas Geoffray [Wed, 20 May 2015 10:14:00 +0000 (10:14 +0000)]
Merge "Don't hardcode the location of the caller."

9 years agoDon't hardcode the location of the caller.
Nicolas Geoffray [Tue, 19 May 2015 17:58:54 +0000 (18:58 +0100)]
Don't hardcode the location of the caller.

This is to avoid shooting ourselves in the foot when
dealing with inlined frames. Instead, use common methods
for fetching the caller and its dex pc.

Change-Id: I3467a7b50cf163022d332e80356f0aab747de252

9 years agoam 27e542bd: Merge "ART: Fix broken Checker test"
David Brazdil [Wed, 20 May 2015 09:47:39 +0000 (09:47 +0000)]
am 27e542bd: Merge "ART: Fix broken Checker test"

* commit '27e542bd3c5430e4bf6fe265eb7e15eb4e401b77':
  ART: Fix broken Checker test

9 years agoam 3e736b12: Merge "ART: Stricter matching of Checker lines"
David Brazdil [Wed, 20 May 2015 09:47:38 +0000 (09:47 +0000)]
am 3e736b12: Merge "ART: Stricter matching of Checker lines"

* commit '3e736b12d62ea539b71bd9e6ce953347c0f09a3e':
  ART: Stricter matching of Checker lines

9 years agoMerge "ART: Fix broken Checker test"
David Brazdil [Wed, 20 May 2015 08:49:58 +0000 (08:49 +0000)]
Merge "ART: Fix broken Checker test"

9 years agoART: Fix broken Checker test
David Brazdil [Wed, 20 May 2015 08:39:50 +0000 (09:39 +0100)]
ART: Fix broken Checker test

MemoryBarrier test checked for Return instead of ReturnVoid. Checker
does not allow that after its recent update.

Change-Id: Id90f4ccc8a1416e24550b1f7cbf7fdae21a33783

9 years agoMerge "ART: Stricter matching of Checker lines"
David Brazdil [Wed, 20 May 2015 08:10:06 +0000 (08:10 +0000)]
Merge "ART: Stricter matching of Checker lines"

9 years agoam bc842221: Merge "Mark CheckCast\'s and InstanceOf\'s input as !CanBeNull if used...
Calin Juravle [Tue, 19 May 2015 17:48:44 +0000 (17:48 +0000)]
am bc842221: Merge "Mark CheckCast\'s and InstanceOf\'s input as !CanBeNull if used before in a NullCheck"

* commit 'bc84222168dcc4057e594ecdf8e76559fd07b706':
  Mark CheckCast's and InstanceOf's input as !CanBeNull if used before in a NullCheck

9 years agoMerge "Mark CheckCast's and InstanceOf's input as !CanBeNull if used before in a...
Calin Juravle [Tue, 19 May 2015 17:37:28 +0000 (17:37 +0000)]
Merge "Mark CheckCast's and InstanceOf's input as !CanBeNull if used before in a NullCheck"

9 years agoART: Stricter matching of Checker lines
David Brazdil [Mon, 18 May 2015 16:45:17 +0000 (17:45 +0100)]
ART: Stricter matching of Checker lines

This patch refactors the MatchLines function of Checker and changes it
so that regular expressions must match entire words of C1vis output.
Previously, this could lead to false positives because assertion 'xyz'
translated to 'xyz.*' and hence testing for id 'i12' could be satisfied
by the presence of 'i123'.

Change-Id: Iaeb486c53519b450ea0cd40042ff3048b38d5a7b

9 years agoam cc8bda03: Merge "Test and fix bug checking status of secondary multidex files."
Richard Uhler [Tue, 19 May 2015 16:02:23 +0000 (16:02 +0000)]
am cc8bda03: Merge "Test and fix bug checking status of secondary multidex files."

* commit 'cc8bda030d7a18715d2c63bbb2528b61472bf3d5':
  Test and fix bug checking status of secondary multidex files.

9 years agoMerge "Test and fix bug checking status of secondary multidex files."
Richard Uhler [Tue, 19 May 2015 15:52:08 +0000 (15:52 +0000)]
Merge "Test and fix bug checking status of secondary multidex files."

9 years agoam b258ce51: Merge "Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write."
David Srbecky [Tue, 19 May 2015 15:45:03 +0000 (15:45 +0000)]
am b258ce51: Merge "Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write."

* commit 'b258ce51247e775079a73805ed17e2a6255bb0e6':
  Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write.

9 years agoMerge "Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write."
David Srbecky [Tue, 19 May 2015 15:37:43 +0000 (15:37 +0000)]
Merge "Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write."

9 years agoFix build - large frame size of ElfWriterQuick<ElfTypes>::Write.
David Srbecky [Tue, 19 May 2015 15:30:51 +0000 (16:30 +0100)]
Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write.

Change-Id: I0d1b7f6ca18a992bb7619a08a2cb0ed538578410

9 years agoam dc23a388: Merge "Eliminate redundant constructor barriers when inlining."
Calin Juravle [Tue, 19 May 2015 15:03:27 +0000 (15:03 +0000)]
am dc23a388: Merge "Eliminate redundant constructor barriers when inlining."

* commit 'dc23a3882b82a7a3dd5078cda3f4b4706e172617':
  Eliminate redundant constructor barriers when inlining.

9 years agoam 9652135e: Merge "Support generation of CFI in .debug_frame format."
David Srbecky [Tue, 19 May 2015 14:57:57 +0000 (14:57 +0000)]
am 9652135e: Merge "Support generation of CFI in .debug_frame format."

* commit '9652135e5c23767098d7c7960f9d7d06f7951f10':
  Support generation of CFI in .debug_frame format.

9 years agoMerge "Eliminate redundant constructor barriers when inlining."
Calin Juravle [Tue, 19 May 2015 14:57:08 +0000 (14:57 +0000)]
Merge "Eliminate redundant constructor barriers when inlining."

9 years agoEliminate redundant constructor barriers when inlining.
Calin Juravle [Thu, 14 May 2015 14:15:42 +0000 (15:15 +0100)]
Eliminate redundant constructor barriers when inlining.

Bug: 20410297
Change-Id: I2097743d00eb795d050d390b1918e38c7f41d506

9 years agoMerge "Support generation of CFI in .debug_frame format."
David Srbecky [Tue, 19 May 2015 14:49:13 +0000 (14:49 +0000)]
Merge "Support generation of CFI in .debug_frame format."

9 years agoSupport generation of CFI in .debug_frame format.
David Srbecky [Wed, 6 May 2015 17:27:35 +0000 (18:27 +0100)]
Support generation of CFI in .debug_frame format.

.debug_frame section is almost identical to .eh_frame section.
There are only minor differences in the CIE and FDE headers.
The main difference is that .eh_frame is intended to be used
at runtime for exception handling and is therefore allocated
within the running program whereas .debug_frame is not.

This makes .debug_frame easier to remove using standard tools.
"objcopy --strip-debug" removes .debug_frame, but not .eh_frame.
(although objcopy can be still be forced to remove .eh_frame)

Similarly, we might want to separate the CFI to separate debug
file or include it as compressed .gnu_debugdata section.
It is more appropriate to use .debug_frame for this purpose.

Bug:20556771
Change-Id: I9d91a333b9fb37523fd6fafccfad89b21d2477af

9 years agoam cfee0507: Merge "Fix debuggable compiler flag detection for secondary dex files"
Sebastien Hertz [Tue, 19 May 2015 12:49:23 +0000 (12:49 +0000)]
am cfee0507: Merge "Fix debuggable compiler flag detection for secondary dex files"

* commit 'cfee0507f26375fe048ed35f402e61f904db0095':
  Fix debuggable compiler flag detection for secondary dex files

9 years agoMerge "Fix debuggable compiler flag detection for secondary dex files"
Sebastien Hertz [Tue, 19 May 2015 12:39:36 +0000 (12:39 +0000)]
Merge "Fix debuggable compiler flag detection for secondary dex files"

9 years agoFix debuggable compiler flag detection for secondary dex files
Sebastien Hertz [Wed, 13 May 2015 10:14:05 +0000 (12:14 +0200)]
Fix debuggable compiler flag detection for secondary dex files

Compiles secondary dex files like the primary dex file: if it has
been compiled with the --debuggable flag, compile secondary dex files
with the --debuggable flag too.

Therefore, dex files loaded at runtime are compiled the same way as
dex files compiled at install time on the classpath (excluding the
boot image that is not compiled debuggable).

Also adds debuggable key in the oat header and bump the oat version.

Bug: 20944228
Change-Id: I59119f3468adb27ab1d6026f2cefbebbd814224c

9 years agoam 48fb0b7b: Merge "Don\'t do a null test in MarkGCCard if the value cannot be null."
Nicolas Geoffray [Tue, 19 May 2015 11:52:55 +0000 (11:52 +0000)]
am 48fb0b7b: Merge "Don\'t do a null test in MarkGCCard if the value cannot be null."

* commit '48fb0b7be18a783de9cd1b246042c1ec5b732c49':
  Don't do a null test in MarkGCCard if the value cannot be null.

9 years agoMerge "Don't do a null test in MarkGCCard if the value cannot be null."
Nicolas Geoffray [Tue, 19 May 2015 11:43:08 +0000 (11:43 +0000)]
Merge "Don't do a null test in MarkGCCard if the value cannot be null."

9 years agoam 45970a4c: Merge "ART: Change huge-method warning in verifier"
Andreas Gampe [Tue, 19 May 2015 07:03:25 +0000 (07:03 +0000)]
am 45970a4c: Merge "ART: Change huge-method warning in verifier"

* commit '45970a4cde2fb12e1cb1515aaf0d9cb9869c5116':
  ART: Change huge-method warning in verifier

9 years agoMerge "ART: Change huge-method warning in verifier"
Andreas Gampe [Tue, 19 May 2015 06:54:58 +0000 (06:54 +0000)]
Merge "ART: Change huge-method warning in verifier"

9 years agoam be910330: Merge "ART: Add verbose:deopt logging"
Andreas Gampe [Tue, 19 May 2015 05:59:34 +0000 (05:59 +0000)]
am be910330: Merge "ART: Add verbose:deopt logging"

* commit 'be910330a25117e0c739330747f7f6806c00acaf':
  ART: Add verbose:deopt logging

9 years agoMerge "ART: Add verbose:deopt logging"
Andreas Gampe [Tue, 19 May 2015 05:50:52 +0000 (05:50 +0000)]
Merge "ART: Add verbose:deopt logging"

9 years agoART: Add verbose:deopt logging
Andreas Gampe [Tue, 19 May 2015 04:41:13 +0000 (21:41 -0700)]
ART: Add verbose:deopt logging

Add verbose logging for deoptimization. Can be enabled with the
regular command line option "-verbose:_".

Change-Id: Iab63e02f3a4e0a213fc61efed1118fe829feeaa4

9 years agoART: Change huge-method warning in verifier
Andreas Gampe [Tue, 19 May 2015 03:50:12 +0000 (20:50 -0700)]
ART: Change huge-method warning in verifier

Change the logging to be included in the took-a-long-time warning,
instead of being a non-descriptive standalone. This should reduce
the noise.

Bug: 21149450
Change-Id: Ia4493dd12f54a8452a46541f6da86530584016ea

9 years agoam 9a85fe78: Merge changes Ia1f2269a,I2ac93038
Hiroshi Yamauchi [Mon, 18 May 2015 22:11:20 +0000 (22:11 +0000)]
am 9a85fe78: Merge changes Ia1f2269a,I2ac93038

* commit '9a85fe78f45768fbb4d3e5e138716d107d399b6c':
  Print more info on mark sweep invalid ref crash.
  Enable tlab by default for the read barrier config.

9 years agoMerge changes Ia1f2269a,I2ac93038
Hiroshi Yamauchi [Mon, 18 May 2015 21:59:22 +0000 (21:59 +0000)]
Merge changes Ia1f2269a,I2ac93038

* changes:
  Print more info on mark sweep invalid ref crash.
  Enable tlab by default for the read barrier config.

9 years agoPrint more info on mark sweep invalid ref crash.
Hiroshi Yamauchi [Fri, 15 May 2015 22:23:30 +0000 (15:23 -0700)]
Print more info on mark sweep invalid ref crash.

- Add extra info about the field holder.
- Suspend threads when verifying roots.

(cherry pick commit 1e1a47204984e3b72c4a753a2beb704350f38373)

Bug: 20557050
Change-Id: Ia1f2269aaa3b1a81d0594e781e439a5decfb82f9

9 years agoEnable tlab by default for the read barrier config.
Hiroshi Yamauchi [Fri, 15 May 2015 23:24:24 +0000 (16:24 -0700)]
Enable tlab by default for the read barrier config.

Bug: 12687968
Change-Id: I2ac930386aebe5aaacbccf1b950c376df0d9c81b

9 years agoDon't do a null test in MarkGCCard if the value cannot be null.
Nicolas Geoffray [Mon, 18 May 2015 13:22:09 +0000 (14:22 +0100)]
Don't do a null test in MarkGCCard if the value cannot be null.

Change-Id: I45687f6d3505178e2fc3689eac9cb6ab1b2c1e29

9 years agoMark CheckCast's and InstanceOf's input as !CanBeNull if used before in a NullCheck
Guillaume "Vermeille" Sanchez [Thu, 23 Apr 2015 20:35:11 +0000 (21:35 +0100)]
Mark CheckCast's and InstanceOf's input as !CanBeNull if used before in a NullCheck

Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1

9 years agoam a5511adc: Merge "ART: Rephrase test comments, update Checker README"
David Brazdil [Mon, 18 May 2015 16:54:25 +0000 (16:54 +0000)]
am a5511adc: Merge "ART: Rephrase test comments, update Checker README"

* commit 'a5511adcd42bfef442ac6e4990bde26366253bbf':
  ART: Rephrase test comments, update Checker README

9 years agoMerge "ART: Rephrase test comments, update Checker README"
David Brazdil [Mon, 18 May 2015 16:46:21 +0000 (16:46 +0000)]
Merge "ART: Rephrase test comments, update Checker README"

9 years agoam 2f9d1379: Merge "Opt compiler: ARM64: Use ldp/stp on arm64 for slow paths."
Nicolas Geoffray [Mon, 18 May 2015 15:37:25 +0000 (15:37 +0000)]
am 2f9d1379: Merge "Opt compiler: ARM64: Use ldp/stp on arm64 for slow paths."

* commit '2f9d1379fdebcdeeac52eaeff25ad5697c6b6ffb':
  Opt compiler: ARM64: Use ldp/stp on arm64 for slow paths.

9 years agoTest and fix bug checking status of secondary multidex files.
Richard Uhler [Thu, 14 May 2015 20:21:13 +0000 (13:21 -0700)]
Test and fix bug checking status of secondary multidex files.

We were accidentally returning 'false' instead of 'true' to indicate a native
multidex file with an up-to-date primary dex file checksum but out-of-date
secondary dex file checksum is out of date.

Bug: 21022815
(cherry picked from commit a5a1c13a74225a1db3c54dc108fcd161b867bb00)

Change-Id: I0cc56d2d49858a4af91ca8b05aa8bd3c17bb44be

9 years agoMerge "Opt compiler: ARM64: Use ldp/stp on arm64 for slow paths."
Nicolas Geoffray [Mon, 18 May 2015 15:25:39 +0000 (15:25 +0000)]
Merge "Opt compiler: ARM64: Use ldp/stp on arm64 for slow paths."

9 years agoam 5969307a: Merge "ART: Mark constructor \'explicit\'"
David Brazdil [Mon, 18 May 2015 15:13:26 +0000 (15:13 +0000)]
am 5969307a: Merge "ART: Mark constructor \'explicit\'"

* commit '5969307a254fb731a464119506b2cef9404871b9':
  ART: Mark constructor 'explicit'

9 years agoMerge "ART: Mark constructor 'explicit'"
David Brazdil [Mon, 18 May 2015 15:06:10 +0000 (15:06 +0000)]
Merge "ART: Mark constructor 'explicit'"

9 years agoART: Mark constructor 'explicit'
David Brazdil [Mon, 18 May 2015 15:04:53 +0000 (16:04 +0100)]
ART: Mark constructor 'explicit'

Fixes a cpp-lint error.

Change-Id: Ibd2c84a6f171a5ddb9aa1a3b9e23c1e5a30537f0

9 years agoam 468137a7: Merge "ART: Revert change to LiveRange::Dump"
David Brazdil [Mon, 18 May 2015 14:33:06 +0000 (14:33 +0000)]
am 468137a7: Merge "ART: Revert change to LiveRange::Dump"

* commit '468137a73b35b3ed1c457983937fb4979d6b69c9':
  ART: Revert change to LiveRange::Dump

9 years agoMerge "ART: Revert change to LiveRange::Dump"
David Brazdil [Mon, 18 May 2015 14:25:28 +0000 (14:25 +0000)]
Merge "ART: Revert change to LiveRange::Dump"

9 years agoam 58b1654e: Merge "Stack walking of inlined frames."
Nicolas Geoffray [Mon, 18 May 2015 14:21:28 +0000 (14:21 +0000)]
am 58b1654e: Merge "Stack walking of inlined frames."

* commit '58b1654e657bc8dfc611fabe831baece3feae6c5':
  Stack walking of inlined frames.

9 years agoMerge "Stack walking of inlined frames."
Nicolas Geoffray [Mon, 18 May 2015 14:14:47 +0000 (14:14 +0000)]
Merge "Stack walking of inlined frames."

9 years agoART: Revert change to LiveRange::Dump
David Brazdil [Fri, 15 May 2015 15:44:05 +0000 (16:44 +0100)]
ART: Revert change to LiveRange::Dump

Changes back the LiveRange printing format to "[start,end)" for better
clarity. However, it removes the space after comma due to b/1189305
and prints the "ranges" attribute with curly brackets to improve
readability.

This is a resubmission of CL Ic83025fa78d6f1edb5e0e39d66160182b0198ab8
which fixes a compilation issue on target.

Bug: 21189305
Change-Id: Ic232c02ba19a710ead67793a039f99c0345353c7

9 years agoam 4b49a861: Merge "Revert "ART: Revert change to LiveRange::Dump""
David Brazdil [Mon, 18 May 2015 14:03:52 +0000 (14:03 +0000)]
am 4b49a861: Merge "Revert "ART: Revert change to LiveRange::Dump""

* commit '4b49a861e69580206988024e6987029340667628':
  Revert "ART: Revert change to LiveRange::Dump"

9 years agoStack walking of inlined frames.
Nicolas Geoffray [Fri, 15 May 2015 12:20:41 +0000 (13:20 +0100)]
Stack walking of inlined frames.

Be "true" to the stack visitor design, which seems to be:
1) Carry minimal state, so this CL just adds an inlining depth to it.
2) Compute needed information for each method, which is what GetDexPc,
   GetMethod, and GetVRegFromOptimized code do.

Change-Id: I3d14126766f12216a7b448ce856259f1e7f37395

9 years agoMerge "Revert "ART: Revert change to LiveRange::Dump""
David Brazdil [Mon, 18 May 2015 13:57:33 +0000 (13:57 +0000)]
Merge "Revert "ART: Revert change to LiveRange::Dump""

9 years agoRevert "ART: Revert change to LiveRange::Dump"
David Brazdil [Mon, 18 May 2015 13:57:11 +0000 (13:57 +0000)]
Revert "ART: Revert change to LiveRange::Dump"

This reverts commit 294a0509cf811061b8009ade61e76a1f94e248b2.

Need to investigate a compilation error.

Change-Id: I62020f6e546c9faf5f4a2ed6cc1f7e1499c2fa30

9 years agoART: Rephrase test comments, update Checker README
David Brazdil [Mon, 18 May 2015 13:50:13 +0000 (14:50 +0100)]
ART: Rephrase test comments, update Checker README

Addressing minor comments on a previous CL.

Change-Id: Ic011adc578111fc162480ed09723ff5d48690fe5

9 years agoam ce63c60a: Merge "ART: Revert change to LiveRange::Dump"
David Brazdil [Mon, 18 May 2015 13:47:25 +0000 (13:47 +0000)]
am ce63c60a: Merge "ART: Revert change to LiveRange::Dump"

* commit 'ce63c60ad824495043c15f3fe9e649d88c15d60f':
  ART: Revert change to LiveRange::Dump

9 years agoMerge "ART: Revert change to LiveRange::Dump"
David Brazdil [Mon, 18 May 2015 13:38:17 +0000 (13:38 +0000)]
Merge "ART: Revert change to LiveRange::Dump"

9 years agoART: Revert change to LiveRange::Dump
David Brazdil [Fri, 15 May 2015 15:44:05 +0000 (16:44 +0100)]
ART: Revert change to LiveRange::Dump

Changes back the LiveRange printing format to "[start,end)" for better
clarity. However, it removes the space after comma due to b/1189305
and prints the "ranges" attribute with curly brackets to improve
readability.

Bug: 21189305
Change-Id: Ic83025fa78d6f1edb5e0e39d66160182b0198ab8

9 years agoam 17f1bc53: Merge "Support InlineInfo in StackMap."
Nicolas Geoffray [Mon, 18 May 2015 13:10:46 +0000 (13:10 +0000)]
am 17f1bc53: Merge "Support InlineInfo in StackMap."

* commit '17f1bc531ea2f8c1a6fac3def13dee1b901949dd':
  Support InlineInfo in StackMap.

9 years agoMerge "Support InlineInfo in StackMap."
Nicolas Geoffray [Mon, 18 May 2015 13:00:29 +0000 (13:00 +0000)]
Merge "Support InlineInfo in StackMap."

9 years agoam 9ee371e2: Merge "Fix libcore buildbot failure."
Narayan Kamath [Mon, 18 May 2015 12:47:47 +0000 (12:47 +0000)]
am 9ee371e2: Merge "Fix libcore buildbot failure."

* commit '9ee371e2324d979ff7d11ac58b8201f29888c682':
  Fix libcore buildbot failure.

9 years agoMerge "Fix libcore buildbot failure."
Narayan Kamath [Mon, 18 May 2015 12:40:32 +0000 (12:40 +0000)]
Merge "Fix libcore buildbot failure."

9 years agoFix libcore buildbot failure.
Narayan Kamath [Mon, 18 May 2015 12:35:24 +0000 (13:35 +0100)]
Fix libcore buildbot failure.

... due to a duplicate suppression. test_PacketSocketAddress has been
moved to libcore/knownfailures.txt.

Change-Id: I5c9cc98938d46607cba5a799e9c45b864ec22bf8

9 years agoSupport InlineInfo in StackMap.
Nicolas Geoffray [Thu, 14 May 2015 11:41:51 +0000 (12:41 +0100)]
Support InlineInfo in StackMap.

Change-Id: I9956091775cedc609fdae7dec1433fcb8858a477

9 years agoam 682876a1: Merge "Don\'t emit bkpt, takes extra space for nothing."
Nicolas Geoffray [Mon, 18 May 2015 11:22:48 +0000 (11:22 +0000)]
am 682876a1: Merge "Don\'t emit bkpt, takes extra space for nothing."

* commit '682876a1fc3f215e60766952968dd4dc1f66397d':
  Don't emit bkpt, takes extra space for nothing.

9 years agoam 81b2591f: Merge "ART: Removed redundant Phis as part of DCE"
David Brazdil [Mon, 18 May 2015 11:22:45 +0000 (11:22 +0000)]
am 81b2591f: Merge "ART: Removed redundant Phis as part of DCE"

* commit '81b2591f7be6005b553d12a7cfa7ce2cdc08f22d':
  ART: Removed redundant Phis as part of DCE

9 years agoMerge "Don't emit bkpt, takes extra space for nothing."
Nicolas Geoffray [Mon, 18 May 2015 11:20:07 +0000 (11:20 +0000)]
Merge "Don't emit bkpt, takes extra space for nothing."

9 years agoMerge "ART: Removed redundant Phis as part of DCE"
David Brazdil [Mon, 18 May 2015 11:14:35 +0000 (11:14 +0000)]
Merge "ART: Removed redundant Phis as part of DCE"

9 years agoART: Removed redundant Phis as part of DCE
David Brazdil [Mon, 18 May 2015 11:06:52 +0000 (12:06 +0100)]
ART: Removed redundant Phis as part of DCE

Removing dead blocks can render some phis redundant but they do not
get removed. This patch adds running SsaRedundantPhiElimination to
adress that.

Change-Id: Iec9a16f3c20b2d5b5607cd5aaf802917c155a0f1

9 years agoam d30ad93c: Merge "Callee/caller save logic in register allocator."
Nicolas Geoffray [Mon, 18 May 2015 09:49:57 +0000 (09:49 +0000)]
am d30ad93c: Merge "Callee/caller save logic in register allocator."

* commit 'd30ad93c9bd31dc03c1e08b92c4733db2dfad849':
  Callee/caller save logic in register allocator.

9 years agoMerge "Callee/caller save logic in register allocator."
Nicolas Geoffray [Mon, 18 May 2015 09:42:57 +0000 (09:42 +0000)]
Merge "Callee/caller save logic in register allocator."

9 years agoam c88b09fc: Merge "ART: Print C1vis lists as [v1,...,vN]"
David Brazdil [Mon, 18 May 2015 09:32:45 +0000 (09:32 +0000)]
am c88b09fc: Merge "ART: Print C1vis lists as [v1,...,vN]"

* commit 'c88b09fc1d67413e814a10d20752e46aa28bc0e4':
  ART: Print C1vis lists as [v1,...,vN]

9 years agoCallee/caller save logic in register allocator.
Nicolas Geoffray [Fri, 17 Apr 2015 08:15:11 +0000 (09:15 +0100)]
Callee/caller save logic in register allocator.

Prevent intervals that do not span a 'will-call' safepoint
to allocate a callee-save register when caller-saves
are available.

Change-Id: I6e613ab54b087f433bbc433aa62847fbca423377

9 years agoMerge "ART: Print C1vis lists as [v1,...,vN]"
David Brazdil [Mon, 18 May 2015 09:19:23 +0000 (09:19 +0000)]
Merge "ART: Print C1vis lists as [v1,...,vN]"

9 years agoDon't emit bkpt, takes extra space for nothing.
Nicolas Geoffray [Mon, 18 May 2015 08:49:16 +0000 (09:49 +0100)]
Don't emit bkpt, takes extra space for nothing.

Change-Id: Id091dcdc950b590e5be55c4fa31d7779308e1a2c

9 years agoam aae4334a: Merge "JDWP: more GC safety"
Sebastien Hertz [Mon, 18 May 2015 08:38:45 +0000 (08:38 +0000)]
am aae4334a: Merge "JDWP: more GC safety"

* commit 'aae4334a3f5215edbfe90ab00f8e1e9ade542007':
  JDWP: more GC safety

9 years agoMerge "JDWP: more GC safety"
Sebastien Hertz [Mon, 18 May 2015 08:02:28 +0000 (08:02 +0000)]
Merge "JDWP: more GC safety"

9 years agoam 03e4351d: Merge "Add new style String operations during compilation init, part 2"
Kenny Root [Fri, 15 May 2015 22:21:12 +0000 (22:21 +0000)]
am 03e4351d: Merge "Add new style String operations during compilation init, part 2"

* commit '03e4351df62ade9fa0e9139ece28f23ba85c49c2':
  Add new style String operations during compilation init, part 2

9 years agoMerge "Add new style String operations during compilation init, part 2"
Kenny Root [Fri, 15 May 2015 22:10:16 +0000 (22:10 +0000)]
Merge "Add new style String operations during compilation init, part 2"

9 years agoAdd new style String operations during compilation init, part 2
Kenny Root [Thu, 14 May 2015 22:58:17 +0000 (15:58 -0700)]
Add new style String operations during compilation init, part 2

This allows some class initializers that deal with Strings to run during
compilation. However, java.lang.Character.toUpperCase() is blocking
initialization for some parts.

Bug: 21036900
Change-Id: Ia969c6a643f510bc798f94fb10bca1a68fe2ae67

9 years agoam 74ef4424: Merge "Stop wrapping close(2) with TEMP_FAILURE_RETRY in art."
Elliott Hughes [Fri, 15 May 2015 17:12:44 +0000 (17:12 +0000)]
am 74ef4424: Merge "Stop wrapping close(2) with TEMP_FAILURE_RETRY in art."

* commit '74ef4424040ce38945825ac7b75e74de96093145':
  Stop wrapping close(2) with TEMP_FAILURE_RETRY in art.

9 years agoMerge "Stop wrapping close(2) with TEMP_FAILURE_RETRY in art."
Elliott Hughes [Fri, 15 May 2015 16:58:44 +0000 (16:58 +0000)]
Merge "Stop wrapping close(2) with TEMP_FAILURE_RETRY in art."

9 years agoART: Print C1vis lists as [v1,...,vN]
David Brazdil [Fri, 15 May 2015 15:01:59 +0000 (16:01 +0100)]
ART: Print C1vis lists as [v1,...,vN]

Checker interprets whitespace as a don't-care placeholder, making it
easier to write assertions which test only parts of the output (e.g.
"//CHECK: Add liveness:44" does not test the inputs or any other
attributes apart from "liveness").

However, since the GraphVisualizer prints lists with elements
separated by spaces ("[ v1 ... vN ]"), this allows for false positives
caused by an occurrence elsewhere in the output. For example, the
assertion: "//CHECK: [ x y ]" will match "[ x y ]" but also
"[ x a y b ]" or even "[ x ] abc [ y ]".

Switching to comma-separated lists works around this issue.

This patch updates all test files, fixes one false positive that this
change revealed (test 442, line 337) and two occurrences of a wrong
match (test 462, lines 121, 149).

Bug: 21189305
Change-Id: I3b22503be3d92529dac0b13f66bccbcfabea6721

9 years agoam 99df2b15: Merge "Opt compiler: Speedup div/rem by constants on arm32 and arm64."
Nicolas Geoffray [Fri, 15 May 2015 15:32:39 +0000 (15:32 +0000)]
am 99df2b15: Merge "Opt compiler: Speedup div/rem by constants on arm32 and arm64."

* commit '99df2b150039fa2a3e1132a8cd5e35201ae97aee':
  Opt compiler: Speedup div/rem by constants on arm32 and arm64.

9 years agoStop wrapping close(2) with TEMP_FAILURE_RETRY in art.
Elliott Hughes [Fri, 15 May 2015 15:25:58 +0000 (08:25 -0700)]
Stop wrapping close(2) with TEMP_FAILURE_RETRY in art.

Note that all the TEMP_FAILURE_RETRY([A-Z] calls in this file are
wrong. The member functions return -errno, so only an EPERM failure
will return -1 (but errno should be EPERM, so you won't loop).

Bug: http://b/20501816
Change-Id: Ibde6a2c7bf92469d008d6d510f9391669ae37a84

9 years agoMerge "Opt compiler: Speedup div/rem by constants on arm32 and arm64."
Nicolas Geoffray [Fri, 15 May 2015 15:24:00 +0000 (15:24 +0000)]
Merge "Opt compiler: Speedup div/rem by constants on arm32 and arm64."

9 years agoOpt compiler: Speedup div/rem by constants on arm32 and arm64.
Zheng Xu [Fri, 15 May 2015 08:08:45 +0000 (16:08 +0800)]
Opt compiler: Speedup div/rem by constants on arm32 and arm64.

This patch also includes:
1. Add java test for div/rem negative constants.
2. Fix a thumb2 encoding issue where the last operand is
   "reg, shift #amount" in some instructions.
3. Support a simple filter in arm32 assembler test to filter out
   unsupported cases, such as "smull r0, r0, r1, r2".
4. Add smull arm32 assembler test.
5. Add smull/umull thumb2 test.
6. Add test for the thumb2 encoding issue which is fixed in this
   patch.

Change-Id: I1601bc9c38f70f11909f2816fe3ec105a158951e

9 years agoam 06675720: Merge "ART: Fix a minor lint error"
David Brazdil [Fri, 15 May 2015 14:29:53 +0000 (14:29 +0000)]
am 06675720: Merge "ART: Fix a minor lint error"

* commit '06675720cc274eb9d91a4ecd3fb1eef94a2d88f0':
  ART: Fix a minor lint error

9 years agoMerge "ART: Fix a minor lint error"
David Brazdil [Fri, 15 May 2015 14:21:26 +0000 (14:21 +0000)]
Merge "ART: Fix a minor lint error"

9 years agoART: Fix a minor lint error
David Brazdil [Fri, 15 May 2015 14:15:09 +0000 (15:15 +0100)]
ART: Fix a minor lint error

Change-Id: I956656fa4c36f20d80ef885c03487970f707be8e

9 years agoam 590d5767: Merge "ART: Change Checker syntax for variables"
David Brazdil [Fri, 15 May 2015 14:07:16 +0000 (14:07 +0000)]
am 590d5767: Merge "ART: Change Checker syntax for variables"

* commit '590d5767104757399c956400df9c5edc3a2c379e':
  ART: Change Checker syntax for variables

9 years agoMerge "ART: Change Checker syntax for variables"
David Brazdil [Fri, 15 May 2015 13:59:20 +0000 (13:59 +0000)]
Merge "ART: Change Checker syntax for variables"

9 years agoART: Change Checker syntax for variables
David Brazdil [Fri, 15 May 2015 13:24:31 +0000 (14:24 +0100)]
ART: Change Checker syntax for variables

This patch changes the syntax for defining and referencing variables
from square brackets '[[VAR]]' to angle brackets '<<VAR>>'. This is
done in order to avoid clashes when matching against lists enclosed
in square brackets.

Change-Id: Ib9560b07bdc7bd641fd1eb6143c0063e0783f1eb

9 years agoam 1cad536d: Merge "ART: Refactor GraphVisualizer attribute printing"
David Brazdil [Fri, 15 May 2015 13:32:41 +0000 (13:32 +0000)]
am 1cad536d: Merge "ART: Refactor GraphVisualizer attribute printing"

* commit '1cad536d675846ac9c110b5b3a412dfc55ace3ed':
  ART: Refactor GraphVisualizer attribute printing

9 years agoMerge "ART: Refactor GraphVisualizer attribute printing"
David Brazdil [Fri, 15 May 2015 13:21:51 +0000 (13:21 +0000)]
Merge "ART: Refactor GraphVisualizer attribute printing"

9 years agoART: Refactor GraphVisualizer attribute printing
David Brazdil [Wed, 13 May 2015 16:50:09 +0000 (17:50 +0100)]
ART: Refactor GraphVisualizer attribute printing

This patch unifies the way GraphVisualizer prints instruction
attributes in preparation of changes to the Checker syntax.

Change-Id: I44e91e36c660985ddfe039a9f410fedc48b496ec

9 years agoam 38b06de7: Merge "Fix minor checker bug"
Calin Juravle [Fri, 15 May 2015 11:39:45 +0000 (11:39 +0000)]
am 38b06de7: Merge "Fix minor checker bug"

* commit '38b06de7de49400d83bfe3221649a0e1a1a96dec':
  Fix minor checker bug

9 years agoMerge "Fix minor checker bug"
Calin Juravle [Fri, 15 May 2015 11:28:21 +0000 (11:28 +0000)]
Merge "Fix minor checker bug"