OSDN Git Service

android-x86/art.git
8 years agoDisable tests causing random failures with Enso and read barriers.
Roland Levillain [Thu, 26 Nov 2015 10:30:44 +0000 (10:30 +0000)]
Disable tests causing random failures with Enso and read barriers.

The new implementation of java.lang.reflect.Proxy (in
libcore/ojluni/src/main/java/java/lang/reflect/Proxy.java)
uses weak references (in getProxyClass0).  Two ART run-tests
(044-proxy and 005-annotations) rely on precise proxy
class names being outputted, but because weak references may
not be collected on time, there is sometimes a discrepancy
between expected and actual results in those tests.  This
issue seems to be triggereed more frequently with the
implementation of read barriers in the compiler, which
relies on a slow path always calling a runtime entry point.

This problem did not happen before Enso, as the old
implementation of getProxyClass
(libcore/libart/src/main/java/java/lang/reflect/Proxy.java)
did not use weak references (in getProxyClass).

Temporarily disable tests 044-proxy and 005-annotations to
make the art-read-barrier build turn green again.

Bug: 25838574
Change-Id: Ibfcdeb41572580c0e22b7688879e4b8b1cdb68e1

8 years agoMerge "Enabled 070-nio-buffer"
Shubham Ajmera [Thu, 26 Nov 2015 10:47:55 +0000 (10:47 +0000)]
Merge "Enabled 070-nio-buffer"

8 years agoMerge "ARM64: Use the shifter operands." am: 3a581b4560 am: 5a424d27ef
Vladimir Marko [Thu, 26 Nov 2015 10:04:10 +0000 (10:04 +0000)]
Merge "ARM64: Use the shifter operands." am: 3a581b4560 am: 5a424d27ef
am: a064308854

* commit 'a0643088542f631f204bc61b1223a08a1b61bf6d':
  ARM64: Use the shifter operands.

8 years agoMerge "ARM64: Use the shifter operands." am: 3a581b4560
Vladimir Marko [Thu, 26 Nov 2015 10:00:39 +0000 (10:00 +0000)]
Merge "ARM64: Use the shifter operands." am: 3a581b4560
am: 5a424d27ef

* commit '5a424d27ef385d55c692d5568834681fcee57677':
  ARM64: Use the shifter operands.

8 years agoMerge "ARM64: Use the shifter operands."
Vladimir Marko [Thu, 26 Nov 2015 09:57:26 +0000 (09:57 +0000)]
Merge "ARM64: Use the shifter operands."
am: 3a581b4560

* commit '3a581b45605b77fb40654d5d331d54df429cd2bd':
  ARM64: Use the shifter operands.

8 years agoMerge "ARM64: Use the shifter operands."
Vladimir Marko [Thu, 26 Nov 2015 09:55:07 +0000 (09:55 +0000)]
Merge "ARM64: Use the shifter operands."

8 years agoEnabled 070-nio-buffer
Shubham Ajmera [Wed, 25 Nov 2015 21:40:14 +0000 (21:40 +0000)]
Enabled 070-nio-buffer

Partially reverted CL - 818175, after adding backing array to
DirectByteBuffers. CLs - 818965, 818966, 818967, 818968.

Bug: 25759499
Change-Id: I6663add29349df51819a104b7d9eed6dae2e7519

8 years agoMerge "Fix circular dependencies for ContainsBootClassLoaderNonImageClass" am: 319362...
Mathieu Chartier [Wed, 25 Nov 2015 20:22:53 +0000 (20:22 +0000)]
Merge "Fix circular dependencies for ContainsBootClassLoaderNonImageClass" am: 319362870b am: bfaf8d2640
am: a7dda0c980

* commit 'a7dda0c9806d05e83ec209ef0a75c502b5ae7b66':
  Fix circular dependencies for ContainsBootClassLoaderNonImageClass

8 years agoMerge "Fix circular dependencies for ContainsBootClassLoaderNonImageClass" am: 319362870b
Mathieu Chartier [Wed, 25 Nov 2015 20:19:48 +0000 (20:19 +0000)]
Merge "Fix circular dependencies for ContainsBootClassLoaderNonImageClass" am: 319362870b
am: bfaf8d2640

* commit 'bfaf8d2640896348f94570e74d1b1f2f60f7a36b':
  Fix circular dependencies for ContainsBootClassLoaderNonImageClass

8 years agoMerge "Fix circular dependencies for ContainsBootClassLoaderNonImageClass"
Mathieu Chartier [Wed, 25 Nov 2015 20:16:58 +0000 (20:16 +0000)]
Merge "Fix circular dependencies for ContainsBootClassLoaderNonImageClass"
am: 319362870b

* commit '319362870b67f1bf19c432ff24d5bcc328e65994':
  Fix circular dependencies for ContainsBootClassLoaderNonImageClass

8 years agoMerge "Fix circular dependencies for ContainsBootClassLoaderNonImageClass"
Mathieu Chartier [Wed, 25 Nov 2015 20:14:18 +0000 (20:14 +0000)]
Merge "Fix circular dependencies for ContainsBootClassLoaderNonImageClass"

8 years agoFix circular dependencies for ContainsBootClassLoaderNonImageClass
Mathieu Chartier [Tue, 24 Nov 2015 23:37:12 +0000 (15:37 -0800)]
Fix circular dependencies for ContainsBootClassLoaderNonImageClass

Old behavior incorrectly updated the memoization array when there was
a circular dependency. The new behavior is to not update the array
in this case.

Bug: 25839261
Change-Id: I081c97c4f7a62a783fdaf2afbe23ea380ef6946d

8 years agoMerge "Fix jit profile saving flags." am: 790d7eb698 am: 219f97bc1e
Calin Juravle [Wed, 25 Nov 2015 19:29:26 +0000 (19:29 +0000)]
Merge "Fix jit profile saving flags." am: 790d7eb698 am: 219f97bc1e
am: 449786f7cf

* commit '449786f7cf093b157441f0bee471f3870e989a2b':
  Fix jit profile saving flags.

8 years agoMerge "Fix jit profile saving flags." am: 790d7eb698
Calin Juravle [Wed, 25 Nov 2015 19:24:43 +0000 (19:24 +0000)]
Merge "Fix jit profile saving flags." am: 790d7eb698
am: 219f97bc1e

* commit '219f97bc1e9a38beaf5e18d33da0ac8b92f72277':
  Fix jit profile saving flags.

8 years agoMerge "Fix jit profile saving flags."
Calin Juravle [Wed, 25 Nov 2015 19:20:39 +0000 (19:20 +0000)]
Merge "Fix jit profile saving flags."
am: 790d7eb698

* commit '790d7eb698c42fdd882768ae333a59c01af61d51':
  Fix jit profile saving flags.

8 years agoMerge "Fix jit profile saving flags."
Calin Juravle [Wed, 25 Nov 2015 19:15:23 +0000 (19:15 +0000)]
Merge "Fix jit profile saving flags."

8 years agoFix jit profile saving flags.
Calin Juravle [Wed, 25 Nov 2015 19:05:42 +0000 (19:05 +0000)]
Fix jit profile saving flags.

Bug: 25886401

Change-Id: Ie7b9ead708736298f1d4a53b640434c988a5a0a8

8 years agoMerge "ART: Clean up ordering of dex cache arrays in image files." am: 685af12dab...
Vladimir Marko [Wed, 25 Nov 2015 18:39:41 +0000 (18:39 +0000)]
Merge "ART: Clean up ordering of dex cache arrays in image files." am: 685af12dab am: 3cab2247e8
am: 5235b9584f

* commit '5235b9584f8b21127ebaf64362cab1244e4f2f68':
  ART: Clean up ordering of dex cache arrays in image files.

8 years agoMerge "ART: Clean up ordering of dex cache arrays in image files." am: 685af12dab
Vladimir Marko [Wed, 25 Nov 2015 18:36:33 +0000 (18:36 +0000)]
Merge "ART: Clean up ordering of dex cache arrays in image files." am: 685af12dab
am: 3cab2247e8

* commit '3cab2247e87788a4d80dca4c607c517f0501fcf2':
  ART: Clean up ordering of dex cache arrays in image files.

8 years agoMerge "ART: Clean up ordering of dex cache arrays in image files."
Vladimir Marko [Wed, 25 Nov 2015 18:33:10 +0000 (18:33 +0000)]
Merge "ART: Clean up ordering of dex cache arrays in image files."
am: 685af12dab

* commit '685af12dab9c6927d94310376ebac79f1afa2095':
  ART: Clean up ordering of dex cache arrays in image files.

8 years agoMerge "ART: Clean up ordering of dex cache arrays in image files."
Vladimir Marko [Wed, 25 Nov 2015 18:27:37 +0000 (18:27 +0000)]
Merge "ART: Clean up ordering of dex cache arrays in image files."

8 years agoMerge "ARM64 read barrier support for concurrent GC in Optimizing." am: 92e997d1e6...
Roland Levillain [Wed, 25 Nov 2015 17:29:30 +0000 (17:29 +0000)]
Merge "ARM64 read barrier support for concurrent GC in Optimizing." am: 92e997d1e6 am: 5da5d045fa
am: 33a1c8b9e0

* commit '33a1c8b9e0ada45f94c860ca6813fe945d443aa0':
  ARM64 read barrier support for concurrent GC in Optimizing.

8 years agoMerge "ARM64 read barrier support for concurrent GC in Optimizing." am: 92e997d1e6
Roland Levillain [Wed, 25 Nov 2015 17:26:22 +0000 (17:26 +0000)]
Merge "ARM64 read barrier support for concurrent GC in Optimizing." am: 92e997d1e6
am: 5da5d045fa

* commit '5da5d045fae407c2420aa174510de15dc731ee52':
  ARM64 read barrier support for concurrent GC in Optimizing.

8 years agoMerge "ARM64 read barrier support for concurrent GC in Optimizing."
Roland Levillain [Wed, 25 Nov 2015 17:22:42 +0000 (17:22 +0000)]
Merge "ARM64 read barrier support for concurrent GC in Optimizing."
am: 92e997d1e6

* commit '92e997d1e6fc0774c177b490619f9acdf97a5bb7':
  ARM64 read barrier support for concurrent GC in Optimizing.

8 years agoMerge "ARM64 read barrier support for concurrent GC in Optimizing."
Roland Levillain [Wed, 25 Nov 2015 17:05:40 +0000 (17:05 +0000)]
Merge "ARM64 read barrier support for concurrent GC in Optimizing."

8 years agoMerge "Save jit profiling info to file." am: e8bc4ec44a am: 449f62e059
Calin Juravle [Wed, 25 Nov 2015 16:37:41 +0000 (16:37 +0000)]
Merge "Save jit profiling info to file." am: e8bc4ec44a am: 449f62e059
am: 829d8f4435

* commit '829d8f4435623e8995b7e6fe0bfde23cd6893458':
  Save jit profiling info to file.

8 years agoMerge "ART: Improve utf_test for unpaired surrogates." am: 19b10b1f27 am: 12531bce6b
Vladimir Marko [Wed, 25 Nov 2015 16:37:35 +0000 (16:37 +0000)]
Merge "ART: Improve utf_test for unpaired surrogates." am: 19b10b1f27 am: 12531bce6b
am: af05051f83

* commit 'af05051f83f64f73926692bb0ec114e8d1422505':
  ART: Improve utf_test for unpaired surrogates.

8 years agoMerge "Optimize some commonly used utf8 functions by:" am: 3b9957bfdb am: 9795492639
Vladimir Marko [Wed, 25 Nov 2015 16:37:28 +0000 (16:37 +0000)]
Merge "Optimize some commonly used utf8 functions by:" am: 3b9957bfdb am: 9795492639
am: 1e1ddce900

* commit '1e1ddce9005e8b0f9ec84c4a1faf796a4ae2e0b3':
  Optimize some commonly used utf8 functions by:

8 years agoART: Clean up ordering of dex cache arrays in image files.
Vladimir Marko [Mon, 23 Nov 2015 18:05:08 +0000 (18:05 +0000)]
ART: Clean up ordering of dex cache arrays in image files.

Use the CompilerDriver::GetDexFilesForOatFile() ordering
and do not rely on the ordering of dex caches in the class
linker, even though the ordering is currently the same,
so we don't need to bump the image version.

Change-Id: Ie1807e42909058ab9983f5d0107a2a0a2641d9b7

8 years agoMerge "Optimize HLoadClass when we know the class is in the cache." am: 883ef45b5d...
Nicolas Geoffray [Wed, 25 Nov 2015 16:28:31 +0000 (16:28 +0000)]
Merge "Optimize HLoadClass when we know the class is in the cache." am: 883ef45b5d am: bd5a084171
am: a47afb9fde

* commit 'a47afb9fdeb369fd1e4176a66e7dc4a25f3b8953':
  Optimize HLoadClass when we know the class is in the cache.

8 years agoARM64: Use the shifter operands.
Alexandre Rames [Wed, 25 Nov 2015 16:28:08 +0000 (16:28 +0000)]
ARM64: Use the shifter operands.

This introduces architecture-specific instruction simplification.
On ARM64 we try to merge shifts and sign-extension operations into
arithmetic and logical instructions.

For example for the Java code

    int res = a + (b << 5);

we would generate

    lsl w3, w2, #5
    add w0, w1, w3

and we now generate

    add w0, w1, w2, lsl #5

Change-Id: Ic03bdff44a1c12e21ddff1b0513bd32a730742b7

8 years agoMerge "Save jit profiling info to file." am: e8bc4ec44a
Calin Juravle [Wed, 25 Nov 2015 16:23:17 +0000 (16:23 +0000)]
Merge "Save jit profiling info to file." am: e8bc4ec44a
am: 449f62e059

* commit '449f62e0593f543f2f0f6f924e88ea4b1515c44a':
  Save jit profiling info to file.

8 years agoMerge "ART: Improve utf_test for unpaired surrogates." am: 19b10b1f27
Vladimir Marko [Wed, 25 Nov 2015 16:23:07 +0000 (16:23 +0000)]
Merge "ART: Improve utf_test for unpaired surrogates." am: 19b10b1f27
am: 12531bce6b

* commit '12531bce6b04280e19ec8ba335e117f303aea0e7':
  ART: Improve utf_test for unpaired surrogates.

8 years agoMerge "Optimize some commonly used utf8 functions by:" am: 3b9957bfdb
Vladimir Marko [Wed, 25 Nov 2015 16:23:00 +0000 (16:23 +0000)]
Merge "Optimize some commonly used utf8 functions by:" am: 3b9957bfdb
am: 9795492639

* commit '9795492639eb7c366ff47dab09a0d91e4745b655':
  Optimize some commonly used utf8 functions by:

8 years agoMerge "Save jit profiling info to file."
Calin Juravle [Wed, 25 Nov 2015 16:18:40 +0000 (16:18 +0000)]
Merge "Save jit profiling info to file."
am: e8bc4ec44a

* commit 'e8bc4ec44a855b2e4174ba3e0efd9b59c52064e4':
  Save jit profiling info to file.

8 years agoMerge "ART: Improve utf_test for unpaired surrogates."
Vladimir Marko [Wed, 25 Nov 2015 16:18:33 +0000 (16:18 +0000)]
Merge "ART: Improve utf_test for unpaired surrogates."
am: 19b10b1f27

* commit '19b10b1f27959f393403703f9c3259cb916fcf42':
  ART: Improve utf_test for unpaired surrogates.

8 years agoMerge "Optimize some commonly used utf8 functions by:"
Vladimir Marko [Wed, 25 Nov 2015 16:18:19 +0000 (16:18 +0000)]
Merge "Optimize some commonly used utf8 functions by:"
am: 3b9957bfdb

* commit '3b9957bfdb38c1048809f000afc7e771fd1a24db':
  Optimize some commonly used utf8 functions by:

8 years agoMerge "Save jit profiling info to file."
Calin Juravle [Wed, 25 Nov 2015 12:51:40 +0000 (12:51 +0000)]
Merge "Save jit profiling info to file."

8 years agoMerge "ART: Improve utf_test for unpaired surrogates."
Vladimir Marko [Wed, 25 Nov 2015 12:10:44 +0000 (12:10 +0000)]
Merge "ART: Improve utf_test for unpaired surrogates."

8 years agoART: Improve utf_test for unpaired surrogates.
Vladimir Marko [Wed, 25 Nov 2015 11:10:20 +0000 (11:10 +0000)]
ART: Improve utf_test for unpaired surrogates.

This is a follow-up to
    https://android-review.googlesource.com/180986

Change-Id: I8982a63c0ec48bf3b3198c278a96be7b5dfc2152

8 years agoMerge "Optimize some commonly used utf8 functions by:"
Vladimir Marko [Wed, 25 Nov 2015 11:14:08 +0000 (11:14 +0000)]
Merge "Optimize some commonly used utf8 functions by:"

8 years agoSave jit profiling info to file.
Calin Juravle [Fri, 23 Oct 2015 16:56:15 +0000 (17:56 +0100)]
Save jit profiling info to file.

Currently saves only the hot method references and omits the inline
cache.

Change-Id: I79e91f855f6b52dc19a9a86662604f2eee16613c

8 years agoRevert "Fix 030-bad-finalizer & 059-finalizer-throw."
Narayan Kamath [Tue, 24 Nov 2015 19:02:48 +0000 (19:02 +0000)]
Revert "Fix 030-bad-finalizer & 059-finalizer-throw."

This reverts commit 13ca74fed068a6a49221b5213ce0b1bebeda3ed6.

This is now not needed, and the libcore side of this cleanup has
been reverted as it's problematic. The test passes without this
cleanup.

8 years agoMerge "Optimize HLoadClass when we know the class is in the cache." am: 883ef45b5d
Nicolas Geoffray [Tue, 24 Nov 2015 19:02:26 +0000 (19:02 +0000)]
Merge "Optimize HLoadClass when we know the class is in the cache." am: 883ef45b5d
am: bd5a084171

* commit 'bd5a084171246ad4ab5790c46f20b1d7c8219978':
  Optimize HLoadClass when we know the class is in the cache.

8 years agoMerge "Optimize HLoadClass when we know the class is in the cache."
Nicolas Geoffray [Tue, 24 Nov 2015 18:58:46 +0000 (18:58 +0000)]
Merge "Optimize HLoadClass when we know the class is in the cache."
am: 883ef45b5d

* commit '883ef45b5d5a2e4005914c7b339881900976b6e7':
  Optimize HLoadClass when we know the class is in the cache.

8 years agoMerge "Optimize HLoadClass when we know the class is in the cache."
Nicolas Geoffray [Tue, 24 Nov 2015 18:53:37 +0000 (18:53 +0000)]
Merge "Optimize HLoadClass when we know the class is in the cache."

8 years agoMerge "Add backward branch instumentation to the switch interpreter." am: fca8008f54...
Nicolas Geoffray [Tue, 24 Nov 2015 18:02:36 +0000 (18:02 +0000)]
Merge "Add backward branch instumentation to the switch interpreter." am: fca8008f54 am: 3abc5a1b36
am: 14a836422e

* commit '14a836422e93e0b0fb45760ebfeb7d5fa8a60614':
  Add backward branch instumentation to the switch interpreter.

8 years agoMerge "Add backward branch instumentation to the switch interpreter." am: fca8008f54
Nicolas Geoffray [Tue, 24 Nov 2015 17:59:06 +0000 (17:59 +0000)]
Merge "Add backward branch instumentation to the switch interpreter." am: fca8008f54
am: 3abc5a1b36

* commit '3abc5a1b36ea08b7678e32acb8bd611602081d6d':
  Add backward branch instumentation to the switch interpreter.

8 years agoOptimize HLoadClass when we know the class is in the cache.
Nicolas Geoffray [Tue, 24 Nov 2015 15:48:56 +0000 (15:48 +0000)]
Optimize HLoadClass when we know the class is in the cache.

Change-Id: Iaa74591eed0f2eabc9ba9f9988681d9582faa320

8 years agoMerge "ART: Fix SafeMap::Put()/PutBefore() rvalue overloads." am: dcb07112d1 am:...
Vladimir Marko [Tue, 24 Nov 2015 17:55:33 +0000 (17:55 +0000)]
Merge "ART: Fix SafeMap::Put()/PutBefore() rvalue overloads." am: dcb07112d1 am: d8fd461658
am: 9dc080bb22

* commit '9dc080bb22276e31aebe9833c08dc8546a58e563':
  ART: Fix SafeMap::Put()/PutBefore() rvalue overloads.

8 years agoMerge "A few more optimizations on avoiding HClinit." am: 95f7bbcd99 am: a7386e40c2
Nicolas Geoffray [Tue, 24 Nov 2015 17:55:25 +0000 (17:55 +0000)]
Merge "A few more optimizations on avoiding HClinit." am: 95f7bbcd99 am: a7386e40c2
am: 5d07cb4123

* commit '5d07cb41230f84d4dd018c1f9f9732d6eed4351f':
  A few more optimizations on avoiding HClinit.

8 years agoMerge "MIPS32: Record missing implicit null checks" am: b110fd6f23 am: 67efef697b
Nicolas Geoffray [Tue, 24 Nov 2015 17:55:16 +0000 (17:55 +0000)]
Merge "MIPS32: Record missing implicit null checks" am: b110fd6f23 am: 67efef697b
am: 7185d8d0ba

* commit '7185d8d0ba74310ef150ec7037b197ba2e36c642':
  MIPS32: Record missing implicit null checks

8 years agoMerge "Revamp art::CheckEntrypointTypes uses." am: 22c20ef131 am: f27aa970e6
Roland Levillain [Tue, 24 Nov 2015 17:55:08 +0000 (17:55 +0000)]
Merge "Revamp art::CheckEntrypointTypes uses." am: 22c20ef131 am: f27aa970e6
am: 38bab8eaae

* commit '38bab8eaae8e63e06c0d3c3b19810e6c3cc4eb17':
  Revamp art::CheckEntrypointTypes uses.

8 years agoMerge "MIPS64: Support short and long branches" am: 51a354c747 am: e73ddd8db1
Roland Levillain [Tue, 24 Nov 2015 17:55:00 +0000 (17:55 +0000)]
Merge "MIPS64: Support short and long branches" am: 51a354c747 am: e73ddd8db1
am: 448cd78d1f

* commit '448cd78d1fcd5e101ab97056dd54be5ba872fcb6':
  MIPS64: Support short and long branches

8 years agoMerge "Add another test for wide stores fix in optimizing." am: 7f8275549f am: 03ea981f95
Nicolas Geoffray [Tue, 24 Nov 2015 17:54:51 +0000 (17:54 +0000)]
Merge "Add another test for wide stores fix in optimizing." am: 7f8275549f am: 03ea981f95
am: ca6f2d57e6

* commit 'ca6f2d57e6ba19fe5fadafe722bbad8c716f80e0':
  Add another test for wide stores fix in optimizing.

8 years agoMerge "Clean up read barrier related comments in Optimizing." am: 43922a52eb am:...
Roland Levillain [Tue, 24 Nov 2015 17:54:43 +0000 (17:54 +0000)]
Merge "Clean up read barrier related comments in Optimizing." am: 43922a52eb am: 94d4b661ce
am: d3d0498687

* commit 'd3d0498687e3bd7f6f460aed8bbee60ba461c14f':
  Clean up read barrier related comments in Optimizing.

8 years agoMerge "Revert "lambda: Add support for invoke-interface for boxed innate lambdas...
Nicolas Geoffray [Tue, 24 Nov 2015 17:54:33 +0000 (17:54 +0000)]
Merge "Revert "lambda: Add support for invoke-interface for boxed innate lambdas"" am: a4bce7141a am: 3928e8ccc3
am: ddade0ebab  -s ours

* commit 'ddade0ebab3d79bdc07861b50c0253bc5646a18b':
  Revert "lambda: Add support for invoke-interface for boxed innate lambdas"

8 years agoMerge "Add backward branch instumentation to the switch interpreter."
Nicolas Geoffray [Tue, 24 Nov 2015 17:54:30 +0000 (17:54 +0000)]
Merge "Add backward branch instumentation to the switch interpreter."
am: fca8008f54

* commit 'fca8008f54faefbbfdf8508bcef3a1bc107741bd':
  Add backward branch instumentation to the switch interpreter.

8 years agoMerge "Add backward branch instumentation to the switch interpreter."
Nicolas Geoffray [Tue, 24 Nov 2015 17:50:24 +0000 (17:50 +0000)]
Merge "Add backward branch instumentation to the switch interpreter."

8 years agoMerge "ART: Fix SafeMap::Put()/PutBefore() rvalue overloads." am: dcb07112d1
Vladimir Marko [Tue, 24 Nov 2015 17:26:25 +0000 (17:26 +0000)]
Merge "ART: Fix SafeMap::Put()/PutBefore() rvalue overloads." am: dcb07112d1
am: d8fd461658

* commit 'd8fd4616589e7e0ed602b67d1fa4ed5f4f0d6207':
  ART: Fix SafeMap::Put()/PutBefore() rvalue overloads.

8 years agoMerge "ART: Fix SafeMap::Put()/PutBefore() rvalue overloads."
Vladimir Marko [Tue, 24 Nov 2015 17:23:00 +0000 (17:23 +0000)]
Merge "ART: Fix SafeMap::Put()/PutBefore() rvalue overloads."
am: dcb07112d1

* commit 'dcb07112d1f8fcd3a8707689cd9708c2ad8b47a4':
  ART: Fix SafeMap::Put()/PutBefore() rvalue overloads.

8 years agoMerge "ART: Fix SafeMap::Put()/PutBefore() rvalue overloads."
Vladimir Marko [Tue, 24 Nov 2015 17:20:34 +0000 (17:20 +0000)]
Merge "ART: Fix SafeMap::Put()/PutBefore() rvalue overloads."

8 years agoART: Fix SafeMap::Put()/PutBefore() rvalue overloads.
Vladimir Marko [Tue, 24 Nov 2015 17:06:32 +0000 (17:06 +0000)]
ART: Fix SafeMap::Put()/PutBefore() rvalue overloads.

Remove the mistaken "const" qualifier which pretty much
defeats the intended optimizations and prevents using
the SafeMap with non-copyable values.

Change-Id: I07d3e083c0b9b8895cbd181cb1bb4ca2293c7c5d

8 years agoAdd backward branch instumentation to the switch interpreter.
Nicolas Geoffray [Tue, 24 Nov 2015 16:32:33 +0000 (16:32 +0000)]
Add backward branch instumentation to the switch interpreter.

Change-Id: I0328daa86d5f19311ab3bd6246a1c3e4b40b0ba9

8 years agoMerge "A few more optimizations on avoiding HClinit." am: 95f7bbcd99
Nicolas Geoffray [Tue, 24 Nov 2015 15:52:22 +0000 (15:52 +0000)]
Merge "A few more optimizations on avoiding HClinit." am: 95f7bbcd99
am: a7386e40c2

* commit 'a7386e40c2567935bd1a6eaedbd02e27e23ab2e3':
  A few more optimizations on avoiding HClinit.

8 years agoMerge "MIPS32: Record missing implicit null checks" am: b110fd6f23
Nicolas Geoffray [Tue, 24 Nov 2015 15:52:15 +0000 (15:52 +0000)]
Merge "MIPS32: Record missing implicit null checks" am: b110fd6f23
am: 67efef697b

* commit '67efef697b03872e3779f8c91663c99b12a95974':
  MIPS32: Record missing implicit null checks

8 years agoMerge "Revamp art::CheckEntrypointTypes uses." am: 22c20ef131
Roland Levillain [Tue, 24 Nov 2015 15:52:07 +0000 (15:52 +0000)]
Merge "Revamp art::CheckEntrypointTypes uses." am: 22c20ef131
am: f27aa970e6

* commit 'f27aa970e68b96d8a954fd2e566b78c7bc9ea4e8':
  Revamp art::CheckEntrypointTypes uses.

8 years agoMerge "MIPS64: Support short and long branches" am: 51a354c747
Roland Levillain [Tue, 24 Nov 2015 15:50:45 +0000 (15:50 +0000)]
Merge "MIPS64: Support short and long branches" am: 51a354c747
am: e73ddd8db1

* commit 'e73ddd8db1e306217585b3d0fc03f03e6e09db46':
  MIPS64: Support short and long branches

8 years agoMerge "Add another test for wide stores fix in optimizing." am: 7f8275549f
Nicolas Geoffray [Tue, 24 Nov 2015 15:50:37 +0000 (15:50 +0000)]
Merge "Add another test for wide stores fix in optimizing." am: 7f8275549f
am: 03ea981f95

* commit '03ea981f950f877b34925a8fb8f75c4e1db07ba0':
  Add another test for wide stores fix in optimizing.

8 years agoMerge "Clean up read barrier related comments in Optimizing." am: 43922a52eb
Roland Levillain [Tue, 24 Nov 2015 15:50:29 +0000 (15:50 +0000)]
Merge "Clean up read barrier related comments in Optimizing." am: 43922a52eb
am: 94d4b661ce

* commit '94d4b661ced8836ec004b64aa8cfdf125d9e8578':
  Clean up read barrier related comments in Optimizing.

8 years agoMerge "Revert "lambda: Add support for invoke-interface for boxed innate lambdas...
Nicolas Geoffray [Tue, 24 Nov 2015 15:50:21 +0000 (15:50 +0000)]
Merge "Revert "lambda: Add support for invoke-interface for boxed innate lambdas"" am: a4bce7141a
am: 3928e8ccc3

* commit '3928e8ccc38d41f4340d128367590860ebf7690c':
  Revert "lambda: Add support for invoke-interface for boxed innate lambdas"

8 years agoMerge "A few more optimizations on avoiding HClinit."
Nicolas Geoffray [Tue, 24 Nov 2015 15:44:41 +0000 (15:44 +0000)]
Merge "A few more optimizations on avoiding HClinit."
am: 95f7bbcd99

* commit '95f7bbcd991fbfaead438a2866354714eb32af38':
  A few more optimizations on avoiding HClinit.

8 years agoMerge "MIPS32: Record missing implicit null checks"
Nicolas Geoffray [Tue, 24 Nov 2015 15:44:33 +0000 (15:44 +0000)]
Merge "MIPS32: Record missing implicit null checks"
am: b110fd6f23

* commit 'b110fd6f23ea16de5d0e891a345780df03dae260':
  MIPS32: Record missing implicit null checks

8 years agoMerge "Revamp art::CheckEntrypointTypes uses."
Roland Levillain [Tue, 24 Nov 2015 15:44:20 +0000 (15:44 +0000)]
Merge "Revamp art::CheckEntrypointTypes uses."
am: 22c20ef131

* commit '22c20ef131812a6e7ff01f8c57ffe1eb0942fc39':
  Revamp art::CheckEntrypointTypes uses.

8 years agoMerge "MIPS64: Support short and long branches"
Roland Levillain [Tue, 24 Nov 2015 15:42:20 +0000 (15:42 +0000)]
Merge "MIPS64: Support short and long branches"
am: 51a354c747

* commit '51a354c747c8a76a4716a49a1f70bfd975d63787':
  MIPS64: Support short and long branches

8 years agoMerge "Add another test for wide stores fix in optimizing."
Nicolas Geoffray [Tue, 24 Nov 2015 15:42:13 +0000 (15:42 +0000)]
Merge "Add another test for wide stores fix in optimizing."
am: 7f8275549f

* commit '7f8275549fd503f82ac63d65800afacab85af09d':
  Add another test for wide stores fix in optimizing.

8 years agoMerge "Clean up read barrier related comments in Optimizing."
Roland Levillain [Tue, 24 Nov 2015 15:42:06 +0000 (15:42 +0000)]
Merge "Clean up read barrier related comments in Optimizing."
am: 43922a52eb

* commit '43922a52ebc159d048545ad4258aa12cd35cc176':
  Clean up read barrier related comments in Optimizing.

8 years agoMerge "Revert "lambda: Add support for invoke-interface for boxed innate lambdas""
Nicolas Geoffray [Tue, 24 Nov 2015 15:41:55 +0000 (15:41 +0000)]
Merge "Revert "lambda: Add support for invoke-interface for boxed innate lambdas""
am: a4bce7141a

* commit 'a4bce7141aa089d9664d064bdaea05223759447a':
  Revert "lambda: Add support for invoke-interface for boxed innate lambdas"

8 years agoMerge "A few more optimizations on avoiding HClinit."
Nicolas Geoffray [Tue, 24 Nov 2015 15:17:08 +0000 (15:17 +0000)]
Merge "A few more optimizations on avoiding HClinit."

8 years agoA few more optimizations on avoiding HClinit.
Nicolas Geoffray [Tue, 24 Nov 2015 14:06:57 +0000 (14:06 +0000)]
A few more optimizations on avoiding HClinit.

Change-Id: I622a98b620e9d261cb654e2f5ab578bd8b3484b1

8 years agoMerge "MIPS32: Record missing implicit null checks"
Nicolas Geoffray [Tue, 24 Nov 2015 14:49:44 +0000 (14:49 +0000)]
Merge "MIPS32: Record missing implicit null checks"

8 years agoMIPS32: Record missing implicit null checks
Goran Jakovljevic [Fri, 20 Nov 2015 16:22:57 +0000 (17:22 +0100)]
MIPS32: Record missing implicit null checks

ImplicitNullChecks are recorded for HandleFieldGet and HandleFieldSet
instructions for longs after accessing first word.

This fixes following CTS tests:
* dot.junit.opcodes.iget_wide.JUnit_Test_iget_wide#testE2
* dot.junit.opcodes.iput_wide.JUnit_Test_iput_wide#testE2

Change-Id: I0a93370d4a78d36805a8d5a6c304ca0329da2363

8 years agoARM64 read barrier support for concurrent GC in Optimizing.
Roland Levillain [Tue, 24 Nov 2015 13:10:05 +0000 (13:10 +0000)]
ARM64 read barrier support for concurrent GC in Optimizing.

This first implementation uses slow paths to instrument heap
reference loads and GC root loads for the concurrent copying
collector, respectively calling the artReadBarrierSlow and
artReadBarrierForRootSlow runtime entry points.

Notes:
- This implementation does not instrument HInvokeVirtual
  nor HInvokeInterface instructions (for class reference
  loads), as the corresponding read barriers are not stricly
  required with the current concurrent copying collector.
- Intrinsics which may eventually call (on slow path) are
  disabled when read barriers are enabled, as the current
  slow path infrastructure does not support this case.
- When read barriers are enabled, the code generated for a
  HArraySet instruction always go into the array set slow
  path for object arrays (delegating the operation to the
  runtime), as we are lacking a mechanism to keep a
  temporary register live accross a runtime call (needed for
  the instrumentation of type checking code, which requires
  two successive read barriers).

Bug: 12687968
Change-Id: Icfb74f67bf23ae80e7723ee6a0c9ff34ba325d48

8 years agoMerge "Enso ThreadGroup.groups is an array not ArrayList"
Przemyslaw Szczepaniak [Tue, 24 Nov 2015 12:36:50 +0000 (12:36 +0000)]
Merge "Enso ThreadGroup.groups is an array not ArrayList"

8 years agoMerge "Revamp art::CheckEntrypointTypes uses."
Roland Levillain [Tue, 24 Nov 2015 12:05:25 +0000 (12:05 +0000)]
Merge "Revamp art::CheckEntrypointTypes uses."

8 years agoEnso ThreadGroup.groups is an array not ArrayList
Przemyslaw Szczepaniak [Tue, 24 Nov 2015 11:59:59 +0000 (11:59 +0000)]
Enso ThreadGroup.groups is an array not ArrayList

ThreadGroup.groups in the enso branch uses plain
array in place of ArrayList. debugger.cc code
needed minor adjustments to access it.

Bug: 25857261
Change-Id: I77ffb92b64a3642933c3240dbadedab5def5dc1b

8 years agoRevamp art::CheckEntrypointTypes uses.
Roland Levillain [Mon, 23 Nov 2015 18:53:50 +0000 (18:53 +0000)]
Revamp art::CheckEntrypointTypes uses.

Change-Id: I6e13e594539e766ed94524ac3282cec292ba91da

8 years agoRevert "lambda: Add support for invoke-interface for boxed innate lambdas"
Nicolas Geoffray [Tue, 24 Nov 2015 09:17:30 +0000 (09:17 +0000)]
Revert "lambda: Add support for invoke-interface for boxed innate lambdas"

955-lambda is flaky

Bug: 24618608
Bug: 25107649

This reverts commit 457e874459ae638145cab6d572e34d48480e39d2.

(cherry picked from commit 3a0909248e04b22c3981cbf617bc2502ed5b6380)

Change-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7

8 years agoOptimize some commonly used utf8 functions by:
Bruce Hoult [Wed, 28 Oct 2015 12:06:12 +0000 (15:06 +0300)]
Optimize some commonly used utf8 functions by:

- using counted loops instead of searching for terminating null. In
  the important cases the caller already knows the length: change
  the API to pass it in. Keep the old API version as well to avoid
  extensive changes to non-critical debug and test code.

- ensure the common cases are at the start of if/then/else chains.
  Usually 99+% of characters are ASCII even in mixed strings.

- for the "convert" functions, when both utf8 and utf16 lengths are
  passed, and are equal, it means the entire string is ASCII, and a
  specialized loop can be used. The compiler might then unroll or
  even vectorize this.

The functions improved are (tested on Nexus 5 with a 44 character
ASCII string):

CountModifiedUtf8Chars    :  20% faster
ConvertUtf16ToModifiedUtf8:  80% faster
ConvertModifiedUtf8ToUtf16: 200% faster

Also for completeness CountUtf8Bytes has been cleaned up a little, but
the speed is unchanged. Unlike CountModifiedUtf8Chars, it was already
passed the length, rather than searching for null.

Change-Id: I1c9b7dea3eda869fc9f5f6b4dd6be8cdd5bc3ac0

8 years agoMerge "MIPS64: Support short and long branches"
Roland Levillain [Tue, 24 Nov 2015 10:34:22 +0000 (10:34 +0000)]
Merge "MIPS64: Support short and long branches"

8 years agoMerge "Add another test for wide stores fix in optimizing."
Nicolas Geoffray [Tue, 24 Nov 2015 10:23:38 +0000 (10:23 +0000)]
Merge "Add another test for wide stores fix in optimizing."

8 years agoAdd another test for wide stores fix in optimizing.
Nicolas Geoffray [Tue, 3 Nov 2015 16:05:38 +0000 (16:05 +0000)]
Add another test for wide stores fix in optimizing.

Change is https://android-review.googlesource.com/#/c/183273/

Change-Id: I8013795dfa67e8e03f51a13dfa3016b89d3b56b7

8 years agoMerge "Clean up read barrier related comments in Optimizing."
Roland Levillain [Tue, 24 Nov 2015 09:54:46 +0000 (09:54 +0000)]
Merge "Clean up read barrier related comments in Optimizing."

8 years agoMerge "Revert "lambda: Add support for invoke-interface for boxed innate lambdas""
Nicolas Geoffray [Tue, 24 Nov 2015 09:20:09 +0000 (09:20 +0000)]
Merge "Revert "lambda: Add support for invoke-interface for boxed innate lambdas""

8 years agoRevert "lambda: Add support for invoke-interface for boxed innate lambdas"
Nicolas Geoffray [Tue, 24 Nov 2015 09:17:30 +0000 (09:17 +0000)]
Revert "lambda: Add support for invoke-interface for boxed innate lambdas"

955-lambda is flaky

Bug: 24618608
Bug: 25107649

This reverts commit 457e874459ae638145cab6d572e34d48480e39d2.

Change-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7

8 years agoMerge "Disable JDWP tests with read barriers." am: 0c32fdeaed am: 54c9448680
Roland Levillain [Mon, 23 Nov 2015 19:36:29 +0000 (19:36 +0000)]
Merge "Disable JDWP tests with read barriers." am: 0c32fdeaed am: 54c9448680
am: 0142571eb6

* commit '0142571eb613fe8a528153664fb5b403c5875b00':
  Disable JDWP tests with read barriers.

8 years agoMerge "Disable JDWP tests with read barriers." am: 0c32fdeaed
Roland Levillain [Mon, 23 Nov 2015 19:33:08 +0000 (19:33 +0000)]
Merge "Disable JDWP tests with read barriers." am: 0c32fdeaed
am: 54c9448680

* commit '54c9448680df5a68a1fcccff131cabd743642155':
  Disable JDWP tests with read barriers.

8 years agoMerge "Disable JDWP tests with read barriers."
Roland Levillain [Mon, 23 Nov 2015 19:30:02 +0000 (19:30 +0000)]
Merge "Disable JDWP tests with read barriers."
am: 0c32fdeaed

* commit '0c32fdeaeda2a1e388e280da12662d1d18c834a2':
  Disable JDWP tests with read barriers.

8 years agoClean up read barrier related comments in Optimizing.
Roland Levillain [Mon, 23 Nov 2015 19:29:22 +0000 (19:29 +0000)]
Clean up read barrier related comments in Optimizing.

Bug: 12687968
Change-Id: Idf2e371e01e10d9d32c95b150735e2c96244232e

8 years agoMerge "Disable JDWP tests with read barriers."
Roland Levillain [Mon, 23 Nov 2015 19:25:48 +0000 (19:25 +0000)]
Merge "Disable JDWP tests with read barriers."