OSDN Git Service

android-x86/art.git
8 years agoMerge "Implement fp to bits methods as intrinsics." am: 1bdfdb3e87
Aart Bik [Fri, 26 Feb 2016 18:32:11 +0000 (18:32 +0000)]
Merge "Implement fp to bits methods as intrinsics." am: 1bdfdb3e87
am: 24840c5a1b

* commit '24840c5a1b3c54cf5d613af8e137146e3d7084f4':
  Implement fp to bits methods as intrinsics.

8 years agoMerge "Implement fp to bits methods as intrinsics."
Aart Bik [Fri, 26 Feb 2016 18:30:07 +0000 (18:30 +0000)]
Merge "Implement fp to bits methods as intrinsics."
am: 1bdfdb3e87

* commit '1bdfdb3e879267dafb4b6811dd70cc8b7511fe15':
  Implement fp to bits methods as intrinsics.

8 years agoMerge "Implement fp to bits methods as intrinsics."
Aart Bik [Fri, 26 Feb 2016 18:27:29 +0000 (18:27 +0000)]
Merge "Implement fp to bits methods as intrinsics."

8 years agoMerge "Simplify LoadNativeLibrary()" into nyc-dev
Dimitry Ivanov [Fri, 26 Feb 2016 18:11:12 +0000 (18:11 +0000)]
Merge "Simplify LoadNativeLibrary()" into nyc-dev
am: 657f5f76a6

* commit '657f5f76a678e6fbcc68b8035ada5d8747fd910a':
  Simplify LoadNativeLibrary()

8 years agoMerge "Simplify LoadNativeLibrary()" into nyc-dev
Dimitry Ivanov [Fri, 26 Feb 2016 18:03:54 +0000 (18:03 +0000)]
Merge "Simplify LoadNativeLibrary()" into nyc-dev

8 years agoImplement fp to bits methods as intrinsics.
Aart Bik [Thu, 25 Feb 2016 19:32:32 +0000 (11:32 -0800)]
Implement fp to bits methods as intrinsics.

Rationale:
Better optimization, better performance.

Results on libcore benchmark:

Most gain is from moving the invariant call out of the loop
after we detect everything is a side-effect free intrinsic.
But generated code in general case is much cleaner too.

Before:
timeFloatToIntBits() in 181 ms.
timeFloatToRawIntBits() in 35 ms.
timeDoubleToLongBits() in 208 ms.
timeDoubleToRawLongBits() in 35 ms.

After:
timeFloatToIntBits() in 36 ms.
timeFloatToRawIntBits() in 35 ms.
timeDoubleToLongBits() in 35 ms.
timeDoubleToRawLongBits() in 34 ms.

bug=11548336

Change-Id: I6e001bd3708e800bd75a82b8950fb3a0fc01766e

8 years agoMerge "Optimizing: Reduce memory usage of HInstructions." am: 01c30e8dbc
Vladimir Marko [Fri, 26 Feb 2016 16:43:42 +0000 (16:43 +0000)]
Merge "Optimizing: Reduce memory usage of HInstructions." am: 01c30e8dbc
am: 8e4d8f4ee4

* commit '8e4d8f4ee4db435ec77f4a30c0ede66d3ce1ee81':
  Optimizing: Reduce memory usage of HInstructions.

8 years agoMerge "Optimizing: Reduce memory usage of HInstructions."
Vladimir Marko [Fri, 26 Feb 2016 16:41:49 +0000 (16:41 +0000)]
Merge "Optimizing: Reduce memory usage of HInstructions."
am: 01c30e8dbc

* commit '01c30e8dbc45bdc5d922cef6e5a404be7bed0e8c':
  Optimizing: Reduce memory usage of HInstructions.

8 years agoMerge "Optimizing: Reduce memory usage of HInstructions."
Vladimir Marko [Fri, 26 Feb 2016 16:39:57 +0000 (16:39 +0000)]
Merge "Optimizing: Reduce memory usage of HInstructions."

8 years agoOptimizing: Reduce memory usage of HInstructions.
Vladimir Marko [Thu, 25 Feb 2016 11:37:38 +0000 (11:37 +0000)]
Optimizing: Reduce memory usage of HInstructions.

Pack narrow fields and flags into a single 32-bit field.

Change-Id: Ib2f7abf987caee0339018d21f0d498f8db63542d

8 years agoMerge "Revert "Revert "ART: Support interpreter switching in x86 mterp""" am: af86c4e441
Bill Buzbee [Fri, 26 Feb 2016 14:34:00 +0000 (14:34 +0000)]
Merge "Revert "Revert "ART: Support interpreter switching in x86 mterp""" am: af86c4e441
am: e2c9340362

* commit 'e2c9340362f702a2c2c66c6fbcd57463a97da317':
  Revert "Revert "ART: Support interpreter switching in x86 mterp""

8 years agoMerge "Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck...
Tim Zhang [Fri, 26 Feb 2016 14:33:50 +0000 (14:33 +0000)]
Merge "Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck" am: 8744d24d5b
am: 8fb4e3cef3

* commit '8fb4e3cef34309c9a24892c7974bcae8f5784d18':
  Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck

8 years agoMerge "Revert "Revert "ART: Support interpreter switching in x86 mterp"""
Bill Buzbee [Fri, 26 Feb 2016 14:17:20 +0000 (14:17 +0000)]
Merge "Revert "Revert "ART: Support interpreter switching in x86 mterp"""
am: af86c4e441

* commit 'af86c4e44184bd17411de330d48aad7784d569d4':
  Revert "Revert "ART: Support interpreter switching in x86 mterp""

8 years agoMerge "Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck"
Tim Zhang [Fri, 26 Feb 2016 14:17:09 +0000 (14:17 +0000)]
Merge "Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck"
am: 8744d24d5b

* commit '8744d24d5b3ae63e2d822b30aaa12845c94d8076':
  Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck

8 years agoMerge "Revert "Revert "ART: Support interpreter switching in x86 mterp"""
Bill Buzbee [Fri, 26 Feb 2016 14:10:54 +0000 (14:10 +0000)]
Merge "Revert "Revert "ART: Support interpreter switching in x86 mterp"""

8 years agoMerge "Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck"
Nicolas Geoffray [Fri, 26 Feb 2016 13:43:56 +0000 (13:43 +0000)]
Merge "Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck"

8 years agoMerge "Revert "Preload public libraries on Runtime::Start()"" into nyc-dev
Nicolas Geoffray [Fri, 26 Feb 2016 10:05:22 +0000 (10:05 +0000)]
Merge "Revert "Preload public libraries on Runtime::Start()"" into nyc-dev
am: 59d165e61c

* commit '59d165e61c3255929f54b12f6fa239c52dd166cf':
  Revert "Preload public libraries on Runtime::Start()"

8 years agoMerge "Revert "Preload public libraries on Runtime::Start()"" into nyc-dev
Nicolas Geoffray [Fri, 26 Feb 2016 10:02:05 +0000 (10:02 +0000)]
Merge "Revert "Preload public libraries on Runtime::Start()"" into nyc-dev

8 years agoDisable test 097-duplicate-method for investigation
Sebastien Hertz [Fri, 26 Feb 2016 09:37:18 +0000 (09:37 +0000)]
Disable test 097-duplicate-method for investigation
am: 1d8bc19e0f

* commit '1d8bc19e0f83b249d4fb38b12075722b515a6541':
  Disable test 097-duplicate-method for investigation

8 years agoDisable test 097-duplicate-method for investigation
Sebastien Hertz [Thu, 25 Feb 2016 17:50:23 +0000 (18:50 +0100)]
Disable test 097-duplicate-method for investigation

Broekn by latest Jack release (1.2-a19)

Bug: 27358065

(cherry picked from commit fc07555f6b8ce07b2c0897c6919597b53faa419d)

Change-Id: I13946fcd6cdf61645a4a60e619b343da8d9be341

8 years agoMerge "Revert "Fast ART x86_64 interpretator"" am: 15315abf91
Nicolas Geoffray [Fri, 26 Feb 2016 09:00:58 +0000 (09:00 +0000)]
Merge "Revert "Fast ART x86_64 interpretator"" am: 15315abf91
am: a63079e813

* commit 'a63079e813cb59d9272702f7b64dbb2c879f8523':
  Revert "Fast ART x86_64 interpretator"

8 years agoMerge "Revert "Fast ART x86_64 interpretator""
Nicolas Geoffray [Fri, 26 Feb 2016 08:59:33 +0000 (08:59 +0000)]
Merge "Revert "Fast ART x86_64 interpretator""
am: 15315abf91

* commit '15315abf91c94a4ebb0a64050f2753798b34bc1f':
  Revert "Fast ART x86_64 interpretator"

8 years agoMerge "Revert "Fast ART x86_64 interpretator""
Nicolas Geoffray [Fri, 26 Feb 2016 08:57:18 +0000 (08:57 +0000)]
Merge "Revert "Fast ART x86_64 interpretator""

8 years agoRevert "Fast ART x86_64 interpretator"
Nicolas Geoffray [Fri, 26 Feb 2016 08:56:45 +0000 (08:56 +0000)]
Revert "Fast ART x86_64 interpretator"

Fails gcstress configuration.

This reverts commit c669beb798e273dd3d44cfa6a7a95ff90eba7209.

Change-Id: Ifac92471f91a116fc271d0dde8356fbbb0a08048

8 years agoRevert "Preload public libraries on Runtime::Start()"
Nicolas Geoffray [Fri, 26 Feb 2016 08:48:04 +0000 (08:48 +0000)]
Revert "Preload public libraries on Runtime::Start()"

Loading is done in app_process.

Bug: http://b/27245894

This reverts commit 7bca74e53d3665bcd243d4e0277f6561c0c80271.

Change-Id: Ie2edbe88dea867fcd5cca109d279f1c19e4df6bb

8 years agoOptimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck
Tim Zhang [Tue, 19 Jan 2016 15:39:24 +0000 (23:39 +0800)]
Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck

This change refers to x86 implementation of StringGetCharsNoCheck and
arm implementation of SystemArrayCopy.

Change-Id: I1cb86854a2a8fa8736af7726b8efacd00d416f6f

8 years agoAdd lz4hc image compression format
Mathieu Chartier [Fri, 26 Feb 2016 01:11:33 +0000 (01:11 +0000)]
Add lz4hc image compression format
am: 167e638ffd

* commit '167e638ffd46186ef4fa26d1c0b6c7e00ed51ccb':
  Add lz4hc image compression format

8 years agoAdd a decompression scoped timing for image loading
Mathieu Chartier [Fri, 26 Feb 2016 01:11:11 +0000 (01:11 +0000)]
Add a decompression scoped timing for image loading
am: 1c3fa8891a  -s ours

* commit '1c3fa8891a95003f305a77d45838cb7c5040290f':
  Add a decompression scoped timing for image loading

8 years agoMerge "Add lz4hc image compression format" am: 3140ed5966
Mathieu Chartier [Fri, 26 Feb 2016 00:48:03 +0000 (00:48 +0000)]
Merge "Add lz4hc image compression format" am: 3140ed5966
am: 2699149c97

* commit '2699149c97b01b735697600b536daf05e3cc1e3f':
  Add lz4hc image compression format

8 years agoMerge "Add lz4hc image compression format"
Mathieu Chartier [Fri, 26 Feb 2016 00:46:23 +0000 (00:46 +0000)]
Merge "Add lz4hc image compression format"
am: 3140ed5966

* commit '3140ed59665d2ecea1e3ff153363ff26dab48b75':
  Add lz4hc image compression format

8 years agoMerge "Add lz4hc image compression format"
Mathieu Chartier [Fri, 26 Feb 2016 00:44:06 +0000 (00:44 +0000)]
Merge "Add lz4hc image compression format"

8 years agoAdd lz4hc image compression format
Mathieu Chartier [Thu, 25 Feb 2016 21:52:10 +0000 (13:52 -0800)]
Add lz4hc image compression format

Smaller than lz4 and decompresses at the same speed. Compression is
a bit slower.

Example saves on old FB APK:
Uncompressed: 44748800 bytes
LZ4: 12443648 bytes
LZ4HC: 11055104 bytes

Generating the image slows down by ~1s per 20MB of image due to
slower compression. Decompression is about the same speed but there
should be a slight speedup since less data needs to be read from
flash.

Added test.

Bug: 22858531

(cherry picked from commit a6e81ed4c185b7362cd5199ebe5507d00883a9b0)

Change-Id: Idd0bbe1ea45fc6ab75a42bfeb0ef250e8b3e2f1b

8 years agoAdd a decompression scoped timing for image loading
Mathieu Chartier [Thu, 25 Feb 2016 20:28:40 +0000 (12:28 -0800)]
Add a decompression scoped timing for image loading

Shows up in systrace.

Bug: 22858531

(cherry picked from commit 31317c319667cf1d7d0f61229ccb5e76f22606cf)

Change-Id: Id4997fb9abc28fa8c1dd1e78ff01234637b229d3

8 years agoMerge "Fast ART x86_64 interpretator" am: 36be5c503c
Serguei Katkov [Thu, 25 Feb 2016 23:21:12 +0000 (23:21 +0000)]
Merge "Fast ART x86_64 interpretator" am: 36be5c503c
am: 2a5065d438

* commit '2a5065d438a556557908ae84f225c69fc405b92c':
  Fast ART x86_64 interpretator

8 years agoMerge "Fast ART x86_64 interpretator"
Serguei Katkov [Thu, 25 Feb 2016 23:19:31 +0000 (23:19 +0000)]
Merge "Fast ART x86_64 interpretator"
am: 36be5c503c

* commit '36be5c503c21f4dbd1998f0c0b72e00e6cedd8fa':
  Fast ART x86_64 interpretator

8 years agoMerge "Fast ART x86_64 interpretator"
Bill Buzbee [Thu, 25 Feb 2016 23:18:19 +0000 (23:18 +0000)]
Merge "Fast ART x86_64 interpretator"

8 years agoAdd lz4hc image compression format
Mathieu Chartier [Thu, 25 Feb 2016 21:52:10 +0000 (13:52 -0800)]
Add lz4hc image compression format

Smaller than lz4 and decompresses at the same speed. Compression is
a bit slower.

Example saves on old FB APK:
Uncompressed: 44748800 bytes
LZ4: 12443648 bytes
LZ4HC: 11055104 bytes

Generating the image slows down by ~1s per 20MB of image due to
slower compression. Decompression is about the same speed but there
should be a slight speedup since less data needs to be read from
flash.

Added test.

Bug: 22858531

Change-Id: Ib2704305b9bec5b0ba3b1e871f59f4eedff330b7

8 years agoMerge "Add a decompression scoped timing for image loading" am: eea36cb923
Mathieu Chartier [Thu, 25 Feb 2016 21:58:03 +0000 (21:58 +0000)]
Merge "Add a decompression scoped timing for image loading" am: eea36cb923
am: 688389dd56

* commit '688389dd56b1e8dd9e73f43cb8b6c8ce2164134d':
  Add a decompression scoped timing for image loading

8 years agoMerge "Add a decompression scoped timing for image loading"
Mathieu Chartier [Thu, 25 Feb 2016 21:56:27 +0000 (21:56 +0000)]
Merge "Add a decompression scoped timing for image loading"
am: eea36cb923

* commit 'eea36cb923b078b86c7b5033ce75fe1b8ea4e522':
  Add a decompression scoped timing for image loading

8 years agoMerge "Add a decompression scoped timing for image loading"
Mathieu Chartier [Thu, 25 Feb 2016 21:55:13 +0000 (21:55 +0000)]
Merge "Add a decompression scoped timing for image loading"

8 years agoMerge "AOT compile framework code as non-debuggable" am: 9ed87a8f69
Mingyao Yang [Thu, 25 Feb 2016 20:58:45 +0000 (20:58 +0000)]
Merge "AOT compile framework code as non-debuggable" am: 9ed87a8f69
am: a59413b12b

* commit 'a59413b12b39be8e4d0f79fa5f84efb84f91ac88':
  AOT compile framework code as non-debuggable

8 years agoMerge "AOT compile framework code as non-debuggable"
Mingyao Yang [Thu, 25 Feb 2016 20:57:07 +0000 (20:57 +0000)]
Merge "AOT compile framework code as non-debuggable"
am: 9ed87a8f69

* commit '9ed87a8f69c3a8fbd47950ccc02a95c223bae5af':
  AOT compile framework code as non-debuggable

8 years agoMerge "AOT compile framework code as non-debuggable"
Mingyao Yang [Thu, 25 Feb 2016 20:55:22 +0000 (20:55 +0000)]
Merge "AOT compile framework code as non-debuggable"

8 years agoAdd a decompression scoped timing for image loading
Mathieu Chartier [Thu, 25 Feb 2016 20:28:40 +0000 (12:28 -0800)]
Add a decompression scoped timing for image loading

Shows up in systrace.

Bug: 22858531
Change-Id: Ic165cd0106dd019c002b600d37560b71b4e351d1

8 years agoMerge "Add StrictMath.round tests for large integers." am: 6d174eebe7
Vladimir Marko [Thu, 25 Feb 2016 20:31:04 +0000 (20:31 +0000)]
Merge "Add StrictMath.round tests for large integers." am: 6d174eebe7
am: 7caeddbc4f

* commit '7caeddbc4fa1a6929693e1b2578dbefe260b6d5a':
  Add StrictMath.round tests for large integers.

8 years agoMerge "Add StrictMath.round tests for large integers."
Vladimir Marko [Thu, 25 Feb 2016 20:28:58 +0000 (20:28 +0000)]
Merge "Add StrictMath.round tests for large integers."
am: 6d174eebe7

* commit '6d174eebe711d52d59df04890375d3f67bc5682e':
  Add StrictMath.round tests for large integers.

8 years agoMerge "Add StrictMath.round tests for large integers."
Vladimir Marko [Thu, 25 Feb 2016 20:26:31 +0000 (20:26 +0000)]
Merge "Add StrictMath.round tests for large integers."

8 years agoMerge "Recognize for (int i = 0; i != x.length; i++) loops" am: 9ec486cc08
Aart Bik [Thu, 25 Feb 2016 18:51:26 +0000 (18:51 +0000)]
Merge "Recognize for (int i = 0; i != x.length; i++) loops" am: 9ec486cc08
am: a66fbf38f5

* commit 'a66fbf38f5d2705fc3a2b632132dd5e02447a997':
  Recognize for (int i = 0; i != x.length; i++) loops

8 years agoMerge "Recognize for (int i = 0; i != x.length; i++) loops"
Aart Bik [Thu, 25 Feb 2016 18:49:54 +0000 (18:49 +0000)]
Merge "Recognize for (int i = 0; i != x.length; i++) loops"
am: 9ec486cc08

* commit '9ec486cc08ad658eee33f9bde405b97502562840':
  Recognize for (int i = 0; i != x.length; i++) loops

8 years agoMerge "Recognize for (int i = 0; i != x.length; i++) loops"
Aart Bik [Thu, 25 Feb 2016 18:48:50 +0000 (18:48 +0000)]
Merge "Recognize for (int i = 0; i != x.length; i++) loops"

8 years agoRevert "Revert "ART: Support interpreter switching in x86 mterp""
Bill Buzbee [Thu, 25 Feb 2016 17:37:46 +0000 (17:37 +0000)]
Revert "Revert "ART: Support interpreter switching in x86 mterp""

Fixes the invoke template.  Previously, it was permitting
an interpreter switch *before* advancing the Dalvik PC.
This meant that on a switch, the invoke would be interpreted
twice.

This reverts commit a14bf4460268064e0adc4bb210d237209be33eaf.

Change-Id: I285d19077c8dd58ce607a4c42ed20549942fab45

8 years agoMerge "Disable test 097-duplicate-method for investigation" am: 03550b6cdc
Sebastien Hertz [Thu, 25 Feb 2016 18:41:27 +0000 (18:41 +0000)]
Merge "Disable test 097-duplicate-method for investigation" am: 03550b6cdc
am: b1eb56a10a

* commit 'b1eb56a10a63010d0e2732963cc83b2b3e3c44c0':
  Disable test 097-duplicate-method for investigation

8 years agoMerge "Disable test 097-duplicate-method for investigation"
Sebastien Hertz [Thu, 25 Feb 2016 18:39:31 +0000 (18:39 +0000)]
Merge "Disable test 097-duplicate-method for investigation"
am: 03550b6cdc

* commit '03550b6cdc9366d872e4e6ac5a9f6615f7a14e2c':
  Disable test 097-duplicate-method for investigation

8 years agoMerge "Disable test 097-duplicate-method for investigation"
Sebastien Hertz [Thu, 25 Feb 2016 18:36:09 +0000 (18:36 +0000)]
Merge "Disable test 097-duplicate-method for investigation"

8 years agoDisable test 097-duplicate-method for investigation
Sebastien Hertz [Thu, 25 Feb 2016 17:50:23 +0000 (18:50 +0100)]
Disable test 097-duplicate-method for investigation

Broekn by latest Jack release (1.2-a19)

Bug: 27358065
Change-Id: Ifd66522bde4c5b93435c6d9ab11ebb407f842df6

8 years agoAdd StrictMath.round tests for large integers.
Vladimir Marko [Thu, 25 Feb 2016 17:50:41 +0000 (17:50 +0000)]
Add StrictMath.round tests for large integers.

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

Bug: 27166445
Change-Id: I850999c782017650017fad7e27c83b60b57edaf9

8 years agoMerge "Make sure constantIndexing2 is optimized with DEOPT." am: 9ca7d203f2
Aart Bik [Thu, 25 Feb 2016 17:47:32 +0000 (17:47 +0000)]
Merge "Make sure constantIndexing2 is optimized with DEOPT." am: 9ca7d203f2
am: 2c3f75da38

* commit '2c3f75da380e05b18e8af2d8c954335ca9964b48':
  Make sure constantIndexing2 is optimized with DEOPT.

8 years agoMerge "Make sure constantIndexing2 is optimized with DEOPT."
Aart Bik [Thu, 25 Feb 2016 17:42:41 +0000 (17:42 +0000)]
Merge "Make sure constantIndexing2 is optimized with DEOPT."
am: 9ca7d203f2

* commit '9ca7d203f2452366c50ce4cdff60b412f8c35710':
  Make sure constantIndexing2 is optimized with DEOPT.

8 years agoMerge "Make sure constantIndexing2 is optimized with DEOPT."
Aart Bik [Thu, 25 Feb 2016 17:38:08 +0000 (17:38 +0000)]
Merge "Make sure constantIndexing2 is optimized with DEOPT."

8 years agoRecognize for (int i = 0; i != x.length; i++) loops
Aart Bik [Wed, 24 Feb 2016 22:17:53 +0000 (14:17 -0800)]
Recognize for (int i = 0; i != x.length; i++) loops

Rationale:
Idiom occurs in real-life and is very straightforwardly
recognized by existing induction/range machinery.

Change-Id: I965a16e9de72f3523ea5023d30ed1c4e47ed5010

8 years agoMerge "Dump the number of OSR compiled code." am: 6d17995db0
Nicolas Geoffray [Thu, 25 Feb 2016 16:59:41 +0000 (16:59 +0000)]
Merge "Dump the number of OSR compiled code." am: 6d17995db0
am: 67bd7c6a0b

* commit '67bd7c6a0b44f1e2f3d884f2f53ba65bec6c39f3':
  Dump the number of OSR compiled code.

8 years agoMerge "Optimizing: ARM64 negated bitwise operations simplification" am: 87265b4af8
Roland Levillain [Thu, 25 Feb 2016 16:58:21 +0000 (16:58 +0000)]
Merge "Optimizing: ARM64 negated bitwise operations simplification" am: 87265b4af8
am: 3f30ffc612

* commit '3f30ffc612d7b18c50ec5778119946c81cc5ebbe':
  Optimizing: ARM64 negated bitwise operations simplification

8 years agoMerge "Dump the number of OSR compiled code."
Nicolas Geoffray [Thu, 25 Feb 2016 16:50:40 +0000 (16:50 +0000)]
Merge "Dump the number of OSR compiled code."
am: 6d17995db0

* commit '6d17995db00460fbb4519adc7496897dbfad373e':
  Dump the number of OSR compiled code.

8 years agoMerge "Dump the number of OSR compiled code."
Nicolas Geoffray [Thu, 25 Feb 2016 16:46:48 +0000 (16:46 +0000)]
Merge "Dump the number of OSR compiled code."

8 years agoMerge "Optimizing: ARM64 negated bitwise operations simplification"
Roland Levillain [Thu, 25 Feb 2016 16:40:35 +0000 (16:40 +0000)]
Merge "Optimizing: ARM64 negated bitwise operations simplification"
am: 87265b4af8

* commit '87265b4af8cdc7258a8f90360cca9fc655548ac5':
  Optimizing: ARM64 negated bitwise operations simplification

8 years agoMerge "Optimizing: ARM64 negated bitwise operations simplification"
Roland Levillain [Thu, 25 Feb 2016 16:36:21 +0000 (16:36 +0000)]
Merge "Optimizing: ARM64 negated bitwise operations simplification"

8 years agoOptimizing: ARM64 negated bitwise operations simplification
Kevin Brodsky [Mon, 11 Jan 2016 13:43:31 +0000 (13:43 +0000)]
Optimizing: ARM64 negated bitwise operations simplification

Use negated instructions on ARM64 to replace [bitwise operation + not]
patterns, that is:
a & ~b (BIC)
a | ~b (ORN)
a ^ ~b (EON)

The simplification only happens if the Not is only used by the bitwise
operation. It does not happen if both inputs are Not's (this should be
handled by a generic simplification applying De Morgan's laws).

Change-Id: I0e112b23fd8b8e10f09bfeff5994508a8ff96e9c

8 years agoMerge "ART: Profile all branches for on-stack replacement" am: 950d063395
Bill Buzbee [Thu, 25 Feb 2016 16:01:02 +0000 (16:01 +0000)]
Merge "ART: Profile all branches for on-stack replacement" am: 950d063395
am: e9c4c72ca5

* commit 'e9c4c72ca568bb6dc26c5ae7e28bbb452a115e3b':
  ART: Profile all branches for on-stack replacement

8 years agoMerge "ART: Profile all branches for on-stack replacement"
Bill Buzbee [Thu, 25 Feb 2016 15:57:05 +0000 (15:57 +0000)]
Merge "ART: Profile all branches for on-stack replacement"
am: 950d063395

* commit '950d063395c7cecbbe372fd607468018d661a35c':
  ART: Profile all branches for on-stack replacement

8 years agoMerge "ART: Profile all branches for on-stack replacement"
Bill Buzbee [Thu, 25 Feb 2016 15:54:27 +0000 (15:54 +0000)]
Merge "ART: Profile all branches for on-stack replacement"

8 years agoMerge "Verify encoded stack maps in debug builds." am: ebd486978e
David Srbecky [Thu, 25 Feb 2016 15:52:30 +0000 (15:52 +0000)]
Merge "Verify encoded stack maps in debug builds." am: ebd486978e
am: 33012fdb16

* commit '33012fdb169dbe4b12d5982b2cc0b02089428fe9':
  Verify encoded stack maps in debug builds.

8 years agoMerge "Verify encoded stack maps in debug builds."
David Srbecky [Thu, 25 Feb 2016 15:48:18 +0000 (15:48 +0000)]
Merge "Verify encoded stack maps in debug builds."
am: ebd486978e

* commit 'ebd486978e005c994aac3aff90b0a4e0927f1b0a':
  Verify encoded stack maps in debug builds.

8 years agoMerge "Verify encoded stack maps in debug builds."
David Srbecky [Thu, 25 Feb 2016 15:45:58 +0000 (15:45 +0000)]
Merge "Verify encoded stack maps in debug builds."

8 years agoMerge "Revert "Revert "ARM/ARM64: Extend support of instruction combining.""" am...
Vladimir Marko [Thu, 25 Feb 2016 15:44:00 +0000 (15:44 +0000)]
Merge "Revert "Revert "ARM/ARM64: Extend support of instruction combining.""" am: 1de3bb289b
am: a3b1d00a6b

* commit 'a3b1d00a6be5267b67fa82b2df5b52be750a1abd':
  Revert "Revert "ARM/ARM64: Extend support of instruction combining.""

8 years agoMerge "Revert "Revert "ARM/ARM64: Extend support of instruction combining."""
Vladimir Marko [Thu, 25 Feb 2016 15:39:50 +0000 (15:39 +0000)]
Merge "Revert "Revert "ARM/ARM64: Extend support of instruction combining."""
am: 1de3bb289b

* commit '1de3bb289ba5e8a249840c634ad5eb108b827d69':
  Revert "Revert "ARM/ARM64: Extend support of instruction combining.""

8 years agoMerge "Revert "Revert "ARM/ARM64: Extend support of instruction combining."""
Vladimir Marko [Thu, 25 Feb 2016 15:37:05 +0000 (15:37 +0000)]
Merge "Revert "Revert "ARM/ARM64: Extend support of instruction combining."""

8 years agoMerge "Implement << operator for DexRegisterLocation::Kind." am: dcedaaa4dc
David Srbecky [Thu, 25 Feb 2016 15:23:53 +0000 (15:23 +0000)]
Merge "Implement << operator for DexRegisterLocation::Kind." am: dcedaaa4dc
am: 69f5c5a4cd

* commit '69f5c5a4cdff8f79e9a68def5d84332b8baf72f8':
  Implement << operator for DexRegisterLocation::Kind.

8 years agoMerge "Implement << operator for DexRegisterLocation::Kind."
David Srbecky [Thu, 25 Feb 2016 15:19:53 +0000 (15:19 +0000)]
Merge "Implement << operator for DexRegisterLocation::Kind."
am: dcedaaa4dc

* commit 'dcedaaa4dc6d05b6044ecef50f2d9bb95575d49c':
  Implement << operator for DexRegisterLocation::Kind.

8 years agoMerge "Implement << operator for DexRegisterLocation::Kind."
David Srbecky [Thu, 25 Feb 2016 15:15:58 +0000 (15:15 +0000)]
Merge "Implement << operator for DexRegisterLocation::Kind."

8 years agoVerify encoded stack maps in debug builds.
David Srbecky [Wed, 24 Feb 2016 16:39:26 +0000 (16:39 +0000)]
Verify encoded stack maps in debug builds.

Read all stack map data back after we write it and DCHECK the content.

Change-Id: Ia679594ac9e5805f6d4c56686030af153b45ea8b

8 years agoImplement << operator for DexRegisterLocation::Kind.
David Srbecky [Thu, 25 Feb 2016 13:23:56 +0000 (13:23 +0000)]
Implement << operator for DexRegisterLocation::Kind.

This makes it comparable in DCHECK_EQ and similar methods.

Change-Id: I6b5b237be89325850ae6860d011fd6741189ab01

8 years agoART: Profile all branches for on-stack replacement
buzbee [Wed, 24 Feb 2016 22:24:24 +0000 (14:24 -0800)]
ART: Profile all branches for on-stack replacement

Change the switch, goto and mterp interpreters to profile
not-taken as well as taken branches.  This allows for on-stack
replacement when the cfg has been rearranged such that the loop
header was originally the fallthrough of a Dalvik byte-code branch.

Note that this increases the already-heavy cost of branch profiling.
Measuring on a Nexus 6 using a very branchy benchmark (logic subtest
from Caffeinemark), we see:

            No profiling     Taken only     Taken & not-taken
mterp          9728            3434              2384
C++ goto       3914            2422              2037
C++ switch     2986            2411              2112

As measured, the cost of branch profiling is dominating execution
time.  This will be addressed in follow-up CLs.

Change-Id: Ibc858f317398dd991ed8e4f3c3d72bd4c9a60594

8 years agoMerge "Revert "ART: Support interpreter switching in x86 mterp"" am: 7d66ac5038
Nicolas Geoffray [Thu, 25 Feb 2016 13:44:15 +0000 (13:44 +0000)]
Merge "Revert "ART: Support interpreter switching in x86 mterp"" am: 7d66ac5038
am: d78a85c00f

* commit 'd78a85c00f375356f86a20837f5ed49a445d0a73':
  Revert "ART: Support interpreter switching in x86 mterp"

8 years agoMerge "Revert "ART: Support interpreter switching in x86 mterp""
Nicolas Geoffray [Thu, 25 Feb 2016 13:40:46 +0000 (13:40 +0000)]
Merge "Revert "ART: Support interpreter switching in x86 mterp""
am: 7d66ac5038

* commit '7d66ac5038a81554d89f79b419e3a80e63ca1f92':
  Revert "ART: Support interpreter switching in x86 mterp"

8 years agoMerge "Revert "ART: Support interpreter switching in x86 mterp""
Nicolas Geoffray [Thu, 25 Feb 2016 13:35:36 +0000 (13:35 +0000)]
Merge "Revert "ART: Support interpreter switching in x86 mterp""

8 years agoRevert "ART: Support interpreter switching in x86 mterp"
Nicolas Geoffray [Thu, 25 Feb 2016 13:34:18 +0000 (13:34 +0000)]
Revert "ART: Support interpreter switching in x86 mterp"

Fails:
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-304-method-tracing32
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-545-tracing-and-jit32
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-570-checker-osr32
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-802-deoptimization32

This reverts commit 4429b110c7b4d9bda2c31b4df257e840831d01f6.

Change-Id: I30c42e22b44bb9c9bbd6efaedbc97516d575bf11

8 years agoDump the number of OSR compiled code.
Nicolas Geoffray [Thu, 25 Feb 2016 13:27:47 +0000 (13:27 +0000)]
Dump the number of OSR compiled code.

Change-Id: I20efc80e8556da8220dab92c3a7947f883d48cf8

8 years agoMerge "Split 530-checker-loops to please our run-test file size limit." am: 1470073c3a
Nicolas Geoffray [Thu, 25 Feb 2016 12:49:45 +0000 (12:49 +0000)]
Merge "Split 530-checker-loops to please our run-test file size limit." am: 1470073c3a
am: 6d5eef4810

* commit '6d5eef4810364ecd62175e802604f2941b526fc6':
  Split 530-checker-loops to please our run-test file size limit.

8 years agoMerge "ART: Support interpreter switching in x86 mterp" am: 7f4ea48953
Bill Buzbee [Thu, 25 Feb 2016 12:49:37 +0000 (12:49 +0000)]
Merge "ART: Support interpreter switching in x86 mterp" am: 7f4ea48953
am: 0854e16eb0

* commit '0854e16eb0b4481ec9f31487cf7360c6c4a46be0':
  ART: Support interpreter switching in x86 mterp

8 years agoMerge "Split 530-checker-loops to please our run-test file size limit."
Nicolas Geoffray [Thu, 25 Feb 2016 12:46:17 +0000 (12:46 +0000)]
Merge "Split 530-checker-loops to please our run-test file size limit."
am: 1470073c3a

* commit '1470073c3a9ce17a0f7d3167345746d0b8d2202b':
  Split 530-checker-loops to please our run-test file size limit.

8 years agoMerge "ART: Support interpreter switching in x86 mterp"
Bill Buzbee [Thu, 25 Feb 2016 12:46:10 +0000 (12:46 +0000)]
Merge "ART: Support interpreter switching in x86 mterp"
am: 7f4ea48953

* commit '7f4ea4895380d9a7fbced84da7af5113de631706':
  ART: Support interpreter switching in x86 mterp

8 years agoMerge "Split 530-checker-loops to please our run-test file size limit."
Nicolas Geoffray [Thu, 25 Feb 2016 12:43:58 +0000 (12:43 +0000)]
Merge "Split 530-checker-loops to please our run-test file size limit."

8 years agoMerge "ART: Support interpreter switching in x86 mterp"
Bill Buzbee [Thu, 25 Feb 2016 12:43:23 +0000 (12:43 +0000)]
Merge "ART: Support interpreter switching in x86 mterp"

8 years agoSplit 530-checker-loops to please our run-test file size limit.
Nicolas Geoffray [Thu, 25 Feb 2016 12:40:27 +0000 (12:40 +0000)]
Split 530-checker-loops to please our run-test file size limit.

Change-Id: Ib03303435918b333691625f3999b937072f8ec31

8 years agoMerge "Forgot to initialize JIT memory use fields." am: 489b1f2264
Nicolas Geoffray [Thu, 25 Feb 2016 10:26:01 +0000 (10:26 +0000)]
Merge "Forgot to initialize JIT memory use fields." am: 489b1f2264
am: f25f9f4a9c

* commit 'f25f9f4a9cd95584995de13049cb611f9e6a8b66':
  Forgot to initialize JIT memory use fields.

8 years agoMerge "Forgot to initialize JIT memory use fields."
Nicolas Geoffray [Thu, 25 Feb 2016 10:22:38 +0000 (10:22 +0000)]
Merge "Forgot to initialize JIT memory use fields."
am: 489b1f2264

* commit '489b1f226466925685cf61466319f9e9024c6e2f':
  Forgot to initialize JIT memory use fields.

8 years agoMerge "Forgot to initialize JIT memory use fields."
Nicolas Geoffray [Thu, 25 Feb 2016 10:21:34 +0000 (10:21 +0000)]
Merge "Forgot to initialize JIT memory use fields."

8 years agoRevert "Revert "ARM/ARM64: Extend support of instruction combining.""
Artem Udovichenko [Tue, 26 Jan 2016 09:28:31 +0000 (12:28 +0300)]
Revert "Revert "ARM/ARM64: Extend support of instruction combining.""

This reverts commit 6b5afdd144d2bb3bf994240797834b5666b2cf98.

Change-Id: Ic27a10f02e21109503edd64e6d73d1bb0c6a8ac6

8 years agoMerge "Revert "Preload public libraries on Runtime::Start()"" am: 57bb557954
Nicolas Geoffray [Thu, 25 Feb 2016 08:58:00 +0000 (08:58 +0000)]
Merge "Revert "Preload public libraries on Runtime::Start()"" am: 57bb557954
am: f430cb64c7

* commit 'f430cb64c7de0aac779c26f1d87deb4cf5d609d2':
  Revert "Preload public libraries on Runtime::Start()"

8 years agoMerge "Revert "Preload public libraries on Runtime::Start()""
Nicolas Geoffray [Thu, 25 Feb 2016 08:54:49 +0000 (08:54 +0000)]
Merge "Revert "Preload public libraries on Runtime::Start()""
am: 57bb557954

* commit '57bb557954c58f63de0f065f4d1f1519ef33b090':
  Revert "Preload public libraries on Runtime::Start()"