OSDN Git Service

android-x86/art.git
9 years agoam 41c2b27b: am 6078aec2: Merge "ART: Add VerboseMethods to optimizing compiler"
Andreas Gampe [Thu, 23 Jul 2015 18:57:27 +0000 (18:57 +0000)]
am 41c2b27b: am 6078aec2: Merge "ART: Add VerboseMethods to optimizing compiler"

* commit '41c2b27b361b851ce3537b69219f17d13db0972b':
  ART: Add VerboseMethods to optimizing compiler

9 years agoam 67496bfb: am d8da9dc8: Merge "More diagnostics for flaky oat file assistant test."
Richard Uhler [Thu, 23 Jul 2015 18:57:25 +0000 (18:57 +0000)]
am 67496bfb: am d8da9dc8: Merge "More diagnostics for flaky oat file assistant test."

* commit '67496bfbbd5f57064b5dede182d16c90bd240c66':
  More diagnostics for flaky oat file assistant test.

9 years agoam 8d060f27: am c20d7286: Merge "Replaced CHECK with EXPECT in tests."
Aart Bik [Thu, 23 Jul 2015 18:57:24 +0000 (18:57 +0000)]
am 8d060f27: am c20d7286: Merge "Replaced CHECK with EXPECT in tests."

* commit '8d060f2703359c58a7253ecb59d56244ab93ba12':
  Replaced CHECK with EXPECT in tests.

9 years agoam 6078aec2: Merge "ART: Add VerboseMethods to optimizing compiler"
Andreas Gampe [Thu, 23 Jul 2015 18:37:05 +0000 (18:37 +0000)]
am 6078aec2: Merge "ART: Add VerboseMethods to optimizing compiler"

* commit '6078aec213dfaf111c29969706e8e5967cfc9bea':
  ART: Add VerboseMethods to optimizing compiler

9 years agoam d8da9dc8: Merge "More diagnostics for flaky oat file assistant test."
Richard Uhler [Thu, 23 Jul 2015 18:37:03 +0000 (18:37 +0000)]
am d8da9dc8: Merge "More diagnostics for flaky oat file assistant test."

* commit 'd8da9dc897ececb8df8cafd458b48fa65a703acc':
  More diagnostics for flaky oat file assistant test.

9 years agoam c20d7286: Merge "Replaced CHECK with EXPECT in tests."
Aart Bik [Thu, 23 Jul 2015 18:37:01 +0000 (18:37 +0000)]
am c20d7286: Merge "Replaced CHECK with EXPECT in tests."

* commit 'c20d728627c19f7d81328bed9b800a643f6ba680':
  Replaced CHECK with EXPECT in tests.

9 years agoam 88d751b2: am c5bee2a1: Merge "Revert "Fixes and improvements in ReferenceTypePropa...
Calin Juravle [Thu, 23 Jul 2015 02:07:09 +0000 (02:07 +0000)]
am 88d751b2: am c5bee2a1: Merge "Revert "Fixes and improvements in ReferenceTypePropagation""

* commit '88d751b270c99e162dadec0c584efb0471e39da8':
  Revert "Fixes and improvements in ReferenceTypePropagation"

9 years agoam ccc2dda7: am 32d7806b: Merge "Revert "Use the object class as top in reference...
Calin Juravle [Thu, 23 Jul 2015 02:07:07 +0000 (02:07 +0000)]
am ccc2dda7: am 32d7806b: Merge "Revert "Use the object class as top in reference type propagation""

* commit 'ccc2dda77fd4348676513cd10dc4ecf1348d098b':
  Revert "Use the object class as top in reference type propagation"

9 years agoam 1705b335: am d77aa00c: Merge "ART: Fix Thumb2 literal fixup."
Vladimir Marko [Thu, 23 Jul 2015 02:07:05 +0000 (02:07 +0000)]
am 1705b335: am d77aa00c: Merge "ART: Fix Thumb2 literal fixup."

* commit '1705b335cd9bf2de92442677163d61562aef2077':
  ART: Fix Thumb2 literal fixup.

9 years agoam 23d9295d: am ff6e79c9: Merge "Added unit tests to LICM."
Aart Bik [Thu, 23 Jul 2015 02:07:04 +0000 (02:07 +0000)]
am 23d9295d: am ff6e79c9: Merge "Added unit tests to LICM."

* commit '23d9295da67e6b765bc63599917c28f407237ab0':
  Added unit tests to LICM.

9 years agoam 998669b2: am 0e126bb7: Merge "When a Checker assertion cannot be parsed, display...
Roland Levillain [Thu, 23 Jul 2015 02:07:02 +0000 (02:07 +0000)]
am 998669b2: am 0e126bb7: Merge "When a Checker assertion cannot be parsed, display it."

* commit '998669b277762c29adb9148d743a2e892e1c321f':
  When a Checker assertion cannot be parsed, display it.

9 years agoam 3683469c: am 60f4804f: Merge "Delete extraneous prefix `SideEffects::` in `nodes...
Roland Levillain [Thu, 23 Jul 2015 02:07:00 +0000 (02:07 +0000)]
am 3683469c: am 60f4804f: Merge "Delete extraneous prefix `SideEffects::` in `nodes.h`."

* commit '3683469c94eed63a589b0801dbd2b10faff25d72':
  Delete extraneous prefix `SideEffects::` in `nodes.h`.

9 years agoam 300a6384: am e6e38ce0: Merge "Use the object class as top in reference type propag...
Calin Juravle [Thu, 23 Jul 2015 02:06:59 +0000 (02:06 +0000)]
am 300a6384: am e6e38ce0: Merge "Use the object class as top in reference type propagation"

* commit '300a6384606fa61995fe0dcda0215ebe9effa04b':
  Use the object class as top in reference type propagation

9 years agoam 0a3fb002: am a3073e24: Merge "Fixes and improvements in ReferenceTypePropagation"
Calin Juravle [Thu, 23 Jul 2015 02:06:57 +0000 (02:06 +0000)]
am 0a3fb002: am a3073e24: Merge "Fixes and improvements in ReferenceTypePropagation"

* commit '0a3fb00222bdb0010e851c7b1e834f8502e52df2':
  Fixes and improvements in ReferenceTypePropagation

9 years agoam 8e9d3f06: am 236d0a3c: Merge changes from topic \'lambda_experimental\'
Igor Murashkin [Thu, 23 Jul 2015 02:06:54 +0000 (02:06 +0000)]
am 8e9d3f06: am 236d0a3c: Merge changes from topic \'lambda_experimental\'

* commit '8e9d3f06792cc7926c6fcd7260546a42e0385c7b':
  interpreter: Add tests for move-result after invoke-lambda
  verifier: Skip verification of methods when seeing experimental opcodes

9 years agoam d72bef09: am c962dd74: Merge "Prefer 32-bit host executables on Mac."
Ying Wang [Thu, 23 Jul 2015 02:06:40 +0000 (02:06 +0000)]
am d72bef09: am c962dd74: Merge "Prefer 32-bit host executables on Mac."

* commit 'd72bef09d6e77158a7b2fa4bfc9440f82a9f57d9':
  Prefer 32-bit host executables on Mac.

9 years agoam 0a72d65a: am 56ebee4d: Merge "Add more checks to diagnose flaky oat file assistant...
Richard Uhler [Thu, 23 Jul 2015 02:06:16 +0000 (02:06 +0000)]
am 0a72d65a: am 56ebee4d: Merge "Add more checks to diagnose flaky oat file assistant test."

* commit '0a72d65ab483085c6de22bf76176873cddd5a30f':
  Add more checks to diagnose flaky oat file assistant test.

9 years agoam 9aa5c9be: am 2bb897ea: Merge "Refine the canary pattern in RedZone"
Andreas Gampe [Thu, 23 Jul 2015 01:27:38 +0000 (01:27 +0000)]
am 9aa5c9be: am 2bb897ea: Merge "Refine the canary pattern in RedZone"

* commit '9aa5c9bedecc2def743a428ca0f03384ac42a1fd':
  Refine the canary pattern in RedZone

9 years agoMerge "ART: Add VerboseMethods to optimizing compiler"
Andreas Gampe [Wed, 22 Jul 2015 21:45:44 +0000 (21:45 +0000)]
Merge "ART: Add VerboseMethods to optimizing compiler"

9 years agoART: Add VerboseMethods to optimizing compiler
Andreas Gampe [Wed, 22 Jul 2015 19:10:13 +0000 (12:10 -0700)]
ART: Add VerboseMethods to optimizing compiler

Bring the optimizing compiler up to Quick levels for debuggability.

Change-Id: Ib2adce7a31cc6a60c37c63d0df5cb6a35a85e790

9 years agoMerge "More diagnostics for flaky oat file assistant test."
Richard Uhler [Wed, 22 Jul 2015 19:24:28 +0000 (19:24 +0000)]
Merge "More diagnostics for flaky oat file assistant test."

9 years agoMerge "Replaced CHECK with EXPECT in tests."
Aart Bik [Wed, 22 Jul 2015 18:33:17 +0000 (18:33 +0000)]
Merge "Replaced CHECK with EXPECT in tests."

9 years agoReplaced CHECK with EXPECT in tests.
Aart Bik [Wed, 22 Jul 2015 18:27:39 +0000 (11:27 -0700)]
Replaced CHECK with EXPECT in tests.

Doh!

Change-Id: Ibef45031146215034647c7eaab4065c766d6fb86

9 years agoam c5bee2a1: Merge "Revert "Fixes and improvements in ReferenceTypePropagation""
Calin Juravle [Wed, 22 Jul 2015 17:30:47 +0000 (17:30 +0000)]
am c5bee2a1: Merge "Revert "Fixes and improvements in ReferenceTypePropagation""

* commit 'c5bee2a133f6505b8004075288b19efb99e24b4f':
  Revert "Fixes and improvements in ReferenceTypePropagation"

9 years agoam 32d7806b: Merge "Revert "Use the object class as top in reference type propagation""
Calin Juravle [Wed, 22 Jul 2015 17:30:45 +0000 (17:30 +0000)]
am 32d7806b: Merge "Revert "Use the object class as top in reference type propagation""

* commit '32d7806b34efda2af0f5a0eaaa384c781565d364':
  Revert "Use the object class as top in reference type propagation"

9 years agoMerge "Revert "Fixes and improvements in ReferenceTypePropagation""
Calin Juravle [Wed, 22 Jul 2015 17:20:08 +0000 (17:20 +0000)]
Merge "Revert "Fixes and improvements in ReferenceTypePropagation""

9 years agoMerge "Revert "Use the object class as top in reference type propagation""
Calin Juravle [Wed, 22 Jul 2015 17:19:20 +0000 (17:19 +0000)]
Merge "Revert "Use the object class as top in reference type propagation""

9 years agoRevert "Use the object class as top in reference type propagation"
Calin Juravle [Wed, 22 Jul 2015 17:14:50 +0000 (17:14 +0000)]
Revert "Use the object class as top in reference type propagation"

This reverts commit 3fabec7a25d151b26ba7de13615bbead0dd615a6.

Change-Id: Id8614f6b6e3e0e4c9caeb9f771e4c145d9fec64f

9 years agoRevert "Fixes and improvements in ReferenceTypePropagation"
Calin Juravle [Wed, 22 Jul 2015 17:14:32 +0000 (17:14 +0000)]
Revert "Fixes and improvements in ReferenceTypePropagation"

This reverts commit b0d5fc0ac139da4aaa1440263416b9bde05630b0.

Change-Id: Iea8adfc0bd4cb7ee2b292278b8bac80a259acbd1

9 years agoam d77aa00c: Merge "ART: Fix Thumb2 literal fixup."
Vladimir Marko [Wed, 22 Jul 2015 16:44:26 +0000 (16:44 +0000)]
am d77aa00c: Merge "ART: Fix Thumb2 literal fixup."

* commit 'd77aa00c583cc72f96bc4522d02d2070dcd72f1c':
  ART: Fix Thumb2 literal fixup.

9 years agoMerge "ART: Fix Thumb2 literal fixup."
Vladimir Marko [Wed, 22 Jul 2015 16:32:16 +0000 (16:32 +0000)]
Merge "ART: Fix Thumb2 literal fixup."

9 years agoam ff6e79c9: Merge "Added unit tests to LICM."
Aart Bik [Wed, 22 Jul 2015 16:23:50 +0000 (16:23 +0000)]
am ff6e79c9: Merge "Added unit tests to LICM."

* commit 'ff6e79c97f25692fdaae503e59f4f9e19bbdb4c0':
  Added unit tests to LICM.

9 years agoMerge "Added unit tests to LICM."
Aart Bik [Wed, 22 Jul 2015 16:13:43 +0000 (16:13 +0000)]
Merge "Added unit tests to LICM."

9 years agoam 0e126bb7: Merge "When a Checker assertion cannot be parsed, display it."
Roland Levillain [Wed, 22 Jul 2015 15:30:47 +0000 (15:30 +0000)]
am 0e126bb7: Merge "When a Checker assertion cannot be parsed, display it."

* commit '0e126bb7c6c001c63f104797912a38cbe619073c':
  When a Checker assertion cannot be parsed, display it.

9 years agoMore diagnostics for flaky oat file assistant test.
Richard Uhler [Wed, 22 Jul 2015 15:25:11 +0000 (08:25 -0700)]
More diagnostics for flaky oat file assistant test.

When we generate an odex file for test, verify it is generated properly, and
if it is not supposed to be generated pic, verify it needs relocation right
after generating the odex file.

Bug: 22599792
Change-Id: I75fbbaafc7a425e20fe3495657e1c38ae7b15d56

9 years agoMerge "When a Checker assertion cannot be parsed, display it."
Roland Levillain [Wed, 22 Jul 2015 15:18:42 +0000 (15:18 +0000)]
Merge "When a Checker assertion cannot be parsed, display it."

9 years agoam 60f4804f: Merge "Delete extraneous prefix `SideEffects::` in `nodes.h`."
Roland Levillain [Wed, 22 Jul 2015 14:51:40 +0000 (14:51 +0000)]
am 60f4804f: Merge "Delete extraneous prefix `SideEffects::` in `nodes.h`."

* commit '60f4804fc2dd9abb008a08fc2209a943bedef135':
  Delete extraneous prefix `SideEffects::` in `nodes.h`.

9 years agoMerge "Delete extraneous prefix `SideEffects::` in `nodes.h`."
Roland Levillain [Wed, 22 Jul 2015 14:42:54 +0000 (14:42 +0000)]
Merge "Delete extraneous prefix `SideEffects::` in `nodes.h`."

9 years agoWhen a Checker assertion cannot be parsed, display it.
Roland Levillain [Wed, 22 Jul 2015 12:37:27 +0000 (13:37 +0100)]
When a Checker assertion cannot be parsed, display it.

Change-Id: Ib667c7aa24b2753f0963ed6b1f9f4227a9e586f4

9 years agoDelete extraneous prefix `SideEffects::` in `nodes.h`.
Alexandre Rames [Wed, 22 Jul 2015 10:32:58 +0000 (11:32 +0100)]
Delete extraneous prefix `SideEffects::` in `nodes.h`.

Change-Id: Ic0a8442d20323df0d9db9e6a1d26c07bd903a13d

9 years agoART: Fix Thumb2 literal fixup.
Vladimir Marko [Wed, 22 Jul 2015 10:28:14 +0000 (11:28 +0100)]
ART: Fix Thumb2 literal fixup.

When processing a load literal during fixup, we use the
current code size to determine whether we need to add the
padding before literals. However, this may change by the end
of the fixup, yet we didn't recalculate to see if the load
literal is pushed out of range.

Instead of making the load literal fixup also depend on all
preceding fixups, add an extra pass over literals when we
need the padding and repeat the fixup loop if needed.

Change-Id: Ia21d660486167a2dcb1ad4afe8acc669b4af669d

9 years agoam e6e38ce0: Merge "Use the object class as top in reference type propagation"
Calin Juravle [Wed, 22 Jul 2015 11:33:57 +0000 (11:33 +0000)]
am e6e38ce0: Merge "Use the object class as top in reference type propagation"

* commit 'e6e38ce021ef5e0d326d76172307c000e0e6fab3':
  Use the object class as top in reference type propagation

9 years agoam a3073e24: Merge "Fixes and improvements in ReferenceTypePropagation"
Calin Juravle [Wed, 22 Jul 2015 11:33:55 +0000 (11:33 +0000)]
am a3073e24: Merge "Fixes and improvements in ReferenceTypePropagation"

* commit 'a3073e24e00274d2957771518be5ecfa74591744':
  Fixes and improvements in ReferenceTypePropagation

9 years agoMerge "Use the object class as top in reference type propagation"
Calin Juravle [Wed, 22 Jul 2015 11:20:14 +0000 (11:20 +0000)]
Merge "Use the object class as top in reference type propagation"

9 years agoMerge "Fixes and improvements in ReferenceTypePropagation"
Calin Juravle [Wed, 22 Jul 2015 11:20:01 +0000 (11:20 +0000)]
Merge "Fixes and improvements in ReferenceTypePropagation"

9 years agoAdded unit tests to LICM.
Aart Bik [Wed, 22 Jul 2015 01:30:18 +0000 (18:30 -0700)]
Added unit tests to LICM.

Rationale:
LICM did not have its own unit test yet, and it was a good
time to ensure that the improved side effect analysis does
what it is supposed to. Also, a nice way for me to get
familiar with the testing infrastructure.

Change-Id: I16471e5fd99615c04a59b09c4a69126d7a94684f

9 years agoam 236d0a3c: Merge changes from topic \'lambda_experimental\'
Igor Murashkin [Wed, 22 Jul 2015 01:12:38 +0000 (01:12 +0000)]
am 236d0a3c: Merge changes from topic \'lambda_experimental\'

* commit '236d0a3c35a369da99bb1f0c617a29f23b2f4df8':
  interpreter: Add tests for move-result after invoke-lambda
  verifier: Skip verification of methods when seeing experimental opcodes

9 years agoMerge changes from topic 'lambda_experimental'
Igor Murashkin [Wed, 22 Jul 2015 01:00:59 +0000 (01:00 +0000)]
Merge changes from topic 'lambda_experimental'

* changes:
  interpreter: Add tests for move-result after invoke-lambda
  verifier: Skip verification of methods when seeing experimental opcodes

9 years agointerpreter: Add tests for move-result after invoke-lambda
Igor Murashkin [Wed, 22 Jul 2015 00:04:35 +0000 (17:04 -0700)]
interpreter: Add tests for move-result after invoke-lambda

Bug: 22638098
Change-Id: I9c428055eef0bc95f4f7aacd03be56547df812d9

9 years agoverifier: Skip verification of methods when seeing experimental opcodes
Igor Murashkin [Wed, 22 Jul 2015 00:03:36 +0000 (17:03 -0700)]
verifier: Skip verification of methods when seeing experimental opcodes

Bug: 22638098
Change-Id: I9f172f3e0e7ad2aa8873e4036415702fee6bf2eb

9 years agoam c962dd74: Merge "Prefer 32-bit host executables on Mac."
Ying Wang [Tue, 21 Jul 2015 23:57:44 +0000 (23:57 +0000)]
am c962dd74: Merge "Prefer 32-bit host executables on Mac."

* commit 'c962dd742ea2c514cd36f02381c0ad33fc89e8b3':
  Prefer 32-bit host executables on Mac.

9 years agoMerge "Prefer 32-bit host executables on Mac."
Ying Wang [Tue, 21 Jul 2015 23:45:21 +0000 (23:45 +0000)]
Merge "Prefer 32-bit host executables on Mac."

9 years agoam be86eabe: Merge "Don\'t check code pointer for proxies in ArtMethod::GetQuickFrame...
Mathieu Chartier [Tue, 21 Jul 2015 20:47:50 +0000 (20:47 +0000)]
am be86eabe: Merge "Don\'t check code pointer for proxies in ArtMethod::GetQuickFrameInfo" into mnc-dev

* commit 'be86eabe578df433f46055bae08e77314a661d49':
  Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo

9 years agoam 3387f397: Get non proxy method for StackDumpVisitor
Mathieu Chartier [Tue, 21 Jul 2015 20:47:48 +0000 (20:47 +0000)]
am 3387f397: Get non proxy method for StackDumpVisitor

* commit '3387f39750942b0442eec351757c7d1f9b1405ca':
  Get non proxy method for StackDumpVisitor

9 years agoam 56ebee4d: Merge "Add more checks to diagnose flaky oat file assistant test."
Richard Uhler [Tue, 21 Jul 2015 20:38:49 +0000 (20:38 +0000)]
am 56ebee4d: Merge "Add more checks to diagnose flaky oat file assistant test."

* commit '56ebee4d2b94bcf4040f49eddaa35ad7e43cc53d':
  Add more checks to diagnose flaky oat file assistant test.

9 years agoMerge "Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo" into...
Mathieu Chartier [Tue, 21 Jul 2015 20:34:45 +0000 (20:34 +0000)]
Merge "Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo" into mnc-dev

9 years agoDon't check code pointer for proxies in ArtMethod::GetQuickFrameInfo
Mathieu Chartier [Sat, 18 Jul 2015 02:53:47 +0000 (19:53 -0700)]
Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo

(cherry picked from commit 7c0fe5e99d1d150b3072a3ae4cd0f0362fe32834)

Bug: 22541058

Change-Id: Id084a69ccd9835147ec71df6bb759e0f1b5e6fbf

9 years agoMerge "Add more checks to diagnose flaky oat file assistant test."
Richard Uhler [Tue, 21 Jul 2015 20:27:18 +0000 (20:27 +0000)]
Merge "Add more checks to diagnose flaky oat file assistant test."

9 years agoPrefer 32-bit host executables on Mac.
Ying Wang [Tue, 21 Jul 2015 19:05:30 +0000 (12:05 -0700)]
Prefer 32-bit host executables on Mac.

Bug: 22527295
Change-Id: I2cb1d3086b65b8227e6bdac9c0485fdc452f1e9c

9 years agoam e3bab35d: am b203b332: Merge "ART: Fix UninitializedReference handling"
Andreas Gampe [Tue, 21 Jul 2015 18:26:05 +0000 (18:26 +0000)]
am e3bab35d: am b203b332: Merge "ART: Fix UninitializedReference handling"

* commit 'e3bab35d4ff256e9c9ba7510123ccca5e8799232':
  ART: Fix UninitializedReference handling

9 years agoam 75c82d00: am 364fa537: Merge "Fix bug in OatFileAssistant::GetBestOatFile."
Richard Uhler [Tue, 21 Jul 2015 18:25:59 +0000 (18:25 +0000)]
am 75c82d00: am 364fa537: Merge "Fix bug in OatFileAssistant::GetBestOatFile."

* commit '75c82d009fb6aa31c81f5f8b8d5abb2eadd395b0':
  Fix bug in OatFileAssistant::GetBestOatFile.

9 years agoam 7f474a0d: am 411b96d6: Merge "ART: Remove some of the Mac craziness"
Andreas Gampe [Tue, 21 Jul 2015 18:25:55 +0000 (18:25 +0000)]
am 7f474a0d: am 411b96d6: Merge "ART: Remove some of the Mac craziness"

* commit '7f474a0dfefb45021303de4702f6a4409536cfa6':
  ART: Remove some of the Mac craziness

9 years agoam 2bb897ea: Merge "Refine the canary pattern in RedZone"
Andreas Gampe [Tue, 21 Jul 2015 18:07:43 +0000 (18:07 +0000)]
am 2bb897ea: Merge "Refine the canary pattern in RedZone"

* commit '2bb897ea8551ff8f486a59c7bc8368f4388b7760':
  Refine the canary pattern in RedZone

9 years agoMerge "Refine the canary pattern in RedZone"
Andreas Gampe [Tue, 21 Jul 2015 17:56:40 +0000 (17:56 +0000)]
Merge "Refine the canary pattern in RedZone"

9 years agoGet non proxy method for StackDumpVisitor
Mathieu Chartier [Sat, 18 Jul 2015 01:46:32 +0000 (18:46 -0700)]
Get non proxy method for StackDumpVisitor

Fixes failing DCHECK.

(cherry picked from commit ef76c3fa57ddf3f7ca32e118f599da8cb4eb1560)

Bug: 22553459
Change-Id: I6fe1012f9a5f8d29cb98bf25e3a279da51c5e1c0

9 years agoam b203b332: Merge "ART: Fix UninitializedReference handling"
Andreas Gampe [Tue, 21 Jul 2015 16:43:38 +0000 (16:43 +0000)]
am b203b332: Merge "ART: Fix UninitializedReference handling"

* commit 'b203b332be18c7bf1e4b3be3e0ddd345174e0517':
  ART: Fix UninitializedReference handling

9 years agoMerge "ART: Fix UninitializedReference handling"
Andreas Gampe [Tue, 21 Jul 2015 16:32:22 +0000 (16:32 +0000)]
Merge "ART: Fix UninitializedReference handling"

9 years agoART: Fix UninitializedReference handling
Andreas Gampe [Tue, 14 Jul 2015 04:12:43 +0000 (21:12 -0700)]
ART: Fix UninitializedReference handling

The merge rules in the verifier allowed Object to be successfully
merged with uninitialized references. This is invalid and should
result in a conflict. Fix by moving UninitializedReference rules
earlier.

Also add a test that forward merging is correctly allowed, both
with a valid result as well as a conflict.

Also add tests that backwards branches have the expected behavior.

Bug: 22411633
Change-Id: If837376c15f0b3550d6ce1721a3cde5901c80c7f

9 years agoam 364fa537: Merge "Fix bug in OatFileAssistant::GetBestOatFile."
Richard Uhler [Tue, 21 Jul 2015 16:16:50 +0000 (16:16 +0000)]
am 364fa537: Merge "Fix bug in OatFileAssistant::GetBestOatFile."

* commit '364fa537a78ef67825a3f7aa6b4bf8ff32c39266':
  Fix bug in OatFileAssistant::GetBestOatFile.

9 years agoMerge "Fix bug in OatFileAssistant::GetBestOatFile."
Richard Uhler [Tue, 21 Jul 2015 16:08:10 +0000 (16:08 +0000)]
Merge "Fix bug in OatFileAssistant::GetBestOatFile."

9 years agoam 411b96d6: Merge "ART: Remove some of the Mac craziness"
Andreas Gampe [Tue, 21 Jul 2015 16:04:18 +0000 (16:04 +0000)]
am 411b96d6: Merge "ART: Remove some of the Mac craziness"

* commit '411b96d641a9db09c5b6bf3dcccd7198cab688ae':
  ART: Remove some of the Mac craziness

9 years agoMerge "ART: Remove some of the Mac craziness"
Andreas Gampe [Tue, 21 Jul 2015 15:56:21 +0000 (15:56 +0000)]
Merge "ART: Remove some of the Mac craziness"

9 years agoART: Remove some of the Mac craziness
Andreas Gampe [Wed, 15 Jul 2015 06:34:44 +0000 (23:34 -0700)]
ART: Remove some of the Mac craziness

We rely on new-enough Clang/LLVM builds nowadays. The integrated
assembler supports named parameters. Throw away most of the
old duplication (effectively cutting support for older Clang
versions). The only required duplications are:

1) Clang as does not support .altmacro. However, the Clang
preprocessor works different wrt/ the GCC preprocessor
and does not give us trouble with inserted spaces.

2) On the Mac, symbols are prefixed with an underscore.

This should help to avoid breaking the Mac build when changing
the assembly code, and prepare for a complete Clang-only build
for x86 and x86-64. Switching to the integrated assembler for
the host build may be done in a follow-up CL.

Bug: 17443165
Change-Id: I1a077d4b612abc2b1b851c1bdabb5008a52e5aa6

9 years agoUse the object class as top in reference type propagation
Calin Juravle [Thu, 16 Jul 2015 15:51:30 +0000 (16:51 +0100)]
Use the object class as top in reference type propagation

This properly types all instructions, making it safe to query the type
at any time.

This also moves a few functions from class.h to class-inl.h to please
gcc linker when compiling for target.

Change-Id: I6b7ce965c10834c994b95529ab65a548515b4406

9 years agoFixes and improvements in ReferenceTypePropagation
Calin Juravle [Wed, 15 Jul 2015 13:41:29 +0000 (14:41 +0100)]
Fixes and improvements in ReferenceTypePropagation

- Bound object types after a CheckCast. This increases the precision of
(inlining) generic operations.
- Make sure that the BoundType is exact when the class is final.
- Make sure that we don't duplicate BoundTypes when we run the analysis
more than once.

Change-Id: Ic22b610766fae101f942c0d753ddcac32ac1844a

9 years agoam 86aee341: am 9ed82069: Merge "Don\'t check code pointer for proxies in ArtMethod...
Mathieu Chartier [Tue, 21 Jul 2015 02:34:58 +0000 (02:34 +0000)]
am 86aee341: am 9ed82069: Merge "Don\'t check code pointer for proxies in ArtMethod::GetQuickFrameInfo"

* commit '86aee341a23398696516b843f7c35d26056c9b50':
  Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo

9 years agoam c0023fec: am 84bfbe14: Merge "Fix broken tests."
Aart Bik [Tue, 21 Jul 2015 02:34:56 +0000 (02:34 +0000)]
am c0023fec: am 84bfbe14: Merge "Fix broken tests."

* commit 'c0023fec9f5eed1cf926ca44d53cacbc8218319d':
  Fix broken tests.

9 years agoam 3495f1ea: am af0365ac: Merge "runtime: Add lambda box/unbox object equality"
Igor Murashkin [Tue, 21 Jul 2015 02:34:28 +0000 (02:34 +0000)]
am 3495f1ea: am af0365ac: Merge "runtime: Add lambda box/unbox object equality"

* commit '3495f1ea7aeca69befe9cafd3fd1a0e71dbbaf22':
  runtime: Add lambda box/unbox object equality

9 years agoam 9ed82069: Merge "Don\'t check code pointer for proxies in ArtMethod::GetQuickFrame...
Mathieu Chartier [Tue, 21 Jul 2015 01:33:19 +0000 (01:33 +0000)]
am 9ed82069: Merge "Don\'t check code pointer for proxies in ArtMethod::GetQuickFrameInfo"

* commit '9ed820697b75179e236fe5a07981b198a36400b3':
  Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo

9 years agoMerge "Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo"
Mathieu Chartier [Tue, 21 Jul 2015 01:20:16 +0000 (01:20 +0000)]
Merge "Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo"

9 years agoam 84bfbe14: Merge "Fix broken tests."
Aart Bik [Tue, 21 Jul 2015 01:10:53 +0000 (01:10 +0000)]
am 84bfbe14: Merge "Fix broken tests."

* commit '84bfbe14f708cdbc2ef310a5b8973be6911602b5':
  Fix broken tests.

9 years agoMerge "Fix broken tests."
Aart Bik [Tue, 21 Jul 2015 01:01:36 +0000 (01:01 +0000)]
Merge "Fix broken tests."

9 years agoFix broken tests.
Aart Bik [Mon, 20 Jul 2015 21:08:59 +0000 (14:08 -0700)]
Fix broken tests.

Rationale:
  (1) volatile field write/read need to apply to all
      to comply with Java memory model
  (2) clinit only needs only the write
  (3) added conservative assumptions to memory barrier
      (nothing broke, but this seems better)

Change-Id: I37787ec8f3f2c8d6166a94c57193fa4544ad3372

9 years agoam af0365ac: Merge "runtime: Add lambda box/unbox object equality"
Igor Murashkin [Mon, 20 Jul 2015 22:51:20 +0000 (22:51 +0000)]
am af0365ac: Merge "runtime: Add lambda box/unbox object equality"

* commit 'af0365ac6a4c7d242df6f50c4da69ba0ff67e3f1':
  runtime: Add lambda box/unbox object equality

9 years agoMerge "runtime: Add lambda box/unbox object equality"
Igor Murashkin [Mon, 20 Jul 2015 22:36:04 +0000 (22:36 +0000)]
Merge "runtime: Add lambda box/unbox object equality"

9 years agoruntime: Add lambda box/unbox object equality
Igor Murashkin [Fri, 10 Jul 2015 20:49:08 +0000 (13:49 -0700)]
runtime: Add lambda box/unbox object equality

A lambda that is boxed with box-lambda is now stored as a weak reference
in a global runtime table (lambda::BoxTable). Repeatedly boxing the same
lambda closure value will always return the same java.lang.Object back.

Since there is no way to observe the address of an object, a GC can
happen and clean up the table of any dead boxed lambdas, which can also
shrink the table to prevent the memory use from growing too much.

(Note that a lambda closure is immutable, so hashing over it is
guaranteed safe.)

Change-Id: I786c1323ff14eed937936b303d511875f9642524

9 years agoam f2d108e1: am e07300b7: Merge "Improved side effect analysis (field/array write...
Aart Bik [Mon, 20 Jul 2015 18:43:58 +0000 (18:43 +0000)]
am f2d108e1: am e07300b7: Merge "Improved side effect analysis (field/array write/read)."

* commit 'f2d108e1aea5cd5f8bce392a78b9021410ef5aaa':
  Improved side effect analysis (field/array write/read).

9 years agoam e07300b7: Merge "Improved side effect analysis (field/array write/read)."
Aart Bik [Mon, 20 Jul 2015 18:19:04 +0000 (18:19 +0000)]
am e07300b7: Merge "Improved side effect analysis (field/array write/read)."

* commit 'e07300b712f44397ecbfed1ef7f880686e46274a':
  Improved side effect analysis (field/array write/read).

9 years agoMerge "Improved side effect analysis (field/array write/read)."
Aart Bik [Mon, 20 Jul 2015 17:56:35 +0000 (17:56 +0000)]
Merge "Improved side effect analysis (field/array write/read)."

9 years agoImproved side effect analysis (field/array write/read).
Aart Bik [Tue, 14 Jul 2015 23:07:00 +0000 (16:07 -0700)]
Improved side effect analysis (field/array write/read).

Rationale:
Types (int, float etc.) and access type (field vs. array)
can be used to disambiguate write/read side-effects analysis.
This directly improves e.g. dead code elimination and licm.

Change-Id: I371f6909a3f42bda13190a03f04c4a867bde1d06

9 years agoAdd more checks to diagnose flaky oat file assistant test.
Richard Uhler [Mon, 20 Jul 2015 16:40:34 +0000 (09:40 -0700)]
Add more checks to diagnose flaky oat file assistant test.

Bug: 22599792
Change-Id: I00574444133fb1cb2571f6ae71ac39c30a36275f

9 years agoam 936c7ed9: am 16a150b8: Merge "ART: Fix arm32 quick_invoke_stub CFI"
Andreas Gampe [Mon, 20 Jul 2015 15:53:01 +0000 (15:53 +0000)]
am 936c7ed9: am 16a150b8: Merge "ART: Fix arm32 quick_invoke_stub CFI"

* commit '936c7ed92fd3ae6c6e478dd6999326d6e087b3bf':
  ART: Fix arm32 quick_invoke_stub CFI

9 years agoFix bug in OatFileAssistant::GetBestOatFile.
Richard Uhler [Fri, 17 Jul 2015 19:28:32 +0000 (12:28 -0700)]
Fix bug in OatFileAssistant::GetBestOatFile.

Previously, GetBestOatFile would fail to return an oat file in the
case where a non-executable oat file was requested and the only
problem with the oat file was that it wasn't relocated.

Bug: 22561444
Change-Id: I6446bf474afaf6c97861e7a89bd74a07c5a52a21

9 years agoam 16a150b8: Merge "ART: Fix arm32 quick_invoke_stub CFI"
Andreas Gampe [Mon, 20 Jul 2015 15:40:03 +0000 (15:40 +0000)]
am 16a150b8: Merge "ART: Fix arm32 quick_invoke_stub CFI"

* commit '16a150b8a4c5c8c9e7159aff3b2ffbd918494abd':
  ART: Fix arm32 quick_invoke_stub CFI

9 years agoMerge "ART: Fix arm32 quick_invoke_stub CFI"
Andreas Gampe [Mon, 20 Jul 2015 15:25:55 +0000 (15:25 +0000)]
Merge "ART: Fix arm32 quick_invoke_stub CFI"

9 years agoam f9f0b860: am 6db13772: Merge "Improve documentation of memory layouts in stack_map.h."
Roland Levillain [Mon, 20 Jul 2015 10:17:59 +0000 (10:17 +0000)]
am f9f0b860: am 6db13772: Merge "Improve documentation of memory layouts in stack_map.h."

* commit 'f9f0b860c1b295ca5bc931c45d5595c1827cb7ec':
  Improve documentation of memory layouts in stack_map.h.

9 years agoam 6db13772: Merge "Improve documentation of memory layouts in stack_map.h."
Roland Levillain [Mon, 20 Jul 2015 10:04:41 +0000 (10:04 +0000)]
am 6db13772: Merge "Improve documentation of memory layouts in stack_map.h."

* commit '6db13772db22489e61e7934dee43144ee5362d8e':
  Improve documentation of memory layouts in stack_map.h.

9 years agoMerge "Improve documentation of memory layouts in stack_map.h."
Roland Levillain [Mon, 20 Jul 2015 08:57:36 +0000 (08:57 +0000)]
Merge "Improve documentation of memory layouts in stack_map.h."

9 years agoDon't check code pointer for proxies in ArtMethod::GetQuickFrameInfo
Mathieu Chartier [Sat, 18 Jul 2015 02:53:47 +0000 (19:53 -0700)]
Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo

Bug: 22541058

Change-Id: Id084a69ccd9835147ec71df6bb759e0f1b5e6fbf

9 years agoART: Fix arm32 quick_invoke_stub CFI
Andreas Gampe [Sat, 18 Jul 2015 03:14:50 +0000 (20:14 -0700)]
ART: Fix arm32 quick_invoke_stub CFI

Follow-up to 4808846b2a8647a448aaa05d561a4f60b190196b.

Change-Id: I534ba39a4f59eaea9cfec8e81c944675284fc427