OSDN Git Service
Mathieu Chartier [Thu, 23 Jul 2015 18:57:33 +0000 (18:57 +0000)]
am
d5a482cb: am
3c9c7760: Merge "Add uninterruptible role"
* commit '
d5a482cb2610fb7ae4f17f063cb920ce81122038':
Add uninterruptible role
Mathieu Chartier [Thu, 23 Jul 2015 18:57:31 +0000 (18:57 +0000)]
am
372e3bee: am
f64914d7: Merge "Move to newer clang annotations"
* commit '
372e3beecafaaac5e2c063eb68beca9ab3684056':
Move to newer clang annotations
Igor Murashkin [Thu, 23 Jul 2015 18:57:28 +0000 (18:57 +0000)]
am
a7cae0a6: am
fab0712a: Merge "runtest: Have gcstress tests skip 955-lambda-smali"
* commit '
a7cae0a6c29d53fb079f956cd9169169d56070b4':
runtest: Have gcstress tests skip 955-lambda-smali
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
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.
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.
Mathieu Chartier [Thu, 23 Jul 2015 18:37:11 +0000 (18:37 +0000)]
am
3c9c7760: Merge "Add uninterruptible role"
* commit '
3c9c776017cd628d594fda0943634f2bdcc980b8':
Add uninterruptible role
Mathieu Chartier [Thu, 23 Jul 2015 18:37:09 +0000 (18:37 +0000)]
am
f64914d7: Merge "Move to newer clang annotations"
* commit '
f64914d7392b7d35c7f35bc917b0797b9c4605ac':
Move to newer clang annotations
Igor Murashkin [Thu, 23 Jul 2015 18:37:07 +0000 (18:37 +0000)]
am
fab0712a: Merge "runtest: Have gcstress tests skip 955-lambda-smali"
* commit '
fab0712a178670949c909f55486648c425add463':
runtest: Have gcstress tests skip 955-lambda-smali
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
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.
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.
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"
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"
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.
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.
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.
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`.
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
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
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
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.
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.
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
Mathieu Chartier [Thu, 23 Jul 2015 00:49:51 +0000 (00:49 +0000)]
Merge "Add uninterruptible role"
Mathieu Chartier [Wed, 22 Jul 2015 23:17:51 +0000 (16:17 -0700)]
Add uninterruptible role
Example error:
cannot call function 'CopyOf' while mutex 'uninterruptible_' is held
TODO: Add annotation to more locations.
Bug:
20072211
Change-Id: I1bbf5a77e3deeafa5898df529cb7cb53a6d010d2
Mathieu Chartier [Wed, 22 Jul 2015 22:19:19 +0000 (22:19 +0000)]
Merge "Move to newer clang annotations"
Igor Murashkin [Wed, 22 Jul 2015 22:18:42 +0000 (22:18 +0000)]
Merge "runtest: Have gcstress tests skip 955-lambda-smali"
Igor Murashkin [Wed, 22 Jul 2015 22:15:06 +0000 (15:15 -0700)]
runtest: Have gcstress tests skip 955-lambda-smali
This prevents the test from failing due to a timeout (temporarily).
Bug:
22665783
Change-Id: I978786ba2f94de8f13e32718a16e6909820dab51
Mathieu Chartier [Fri, 17 Jul 2015 03:32:27 +0000 (20:32 -0700)]
Move to newer clang annotations
Also enable -Wthread-safety-negative.
Changes:
Switch to capabilities and negative capabilities.
Future work:
Use capabilities to implement uninterruptible annotations to work
with AssertNoThreadSuspension.
Bug:
20072211
Change-Id: I42fcbe0300d98a831c89d1eff3ecd5a7e99ebf33
Andreas Gampe [Wed, 22 Jul 2015 21:45:44 +0000 (21:45 +0000)]
Merge "ART: 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
Richard Uhler [Wed, 22 Jul 2015 19:24:28 +0000 (19:24 +0000)]
Merge "More diagnostics for flaky oat file assistant test."
Aart Bik [Wed, 22 Jul 2015 18:33:17 +0000 (18:33 +0000)]
Merge "Replaced 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
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"
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"
Calin Juravle [Wed, 22 Jul 2015 17:20:08 +0000 (17:20 +0000)]
Merge "Revert "Fixes and improvements in ReferenceTypePropagation""
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""
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
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
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.
Vladimir Marko [Wed, 22 Jul 2015 16:32:16 +0000 (16:32 +0000)]
Merge "ART: Fix Thumb2 literal fixup."
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.
Aart Bik [Wed, 22 Jul 2015 16:13:43 +0000 (16:13 +0000)]
Merge "Added unit tests to LICM."
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.
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
Roland Levillain [Wed, 22 Jul 2015 15:18:42 +0000 (15:18 +0000)]
Merge "When a Checker assertion cannot be parsed, display it."
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`.
Roland Levillain [Wed, 22 Jul 2015 14:42:54 +0000 (14:42 +0000)]
Merge "Delete extraneous prefix `SideEffects::` in `nodes.h`."
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
Alexandre Rames [Wed, 22 Jul 2015 10:32:58 +0000 (11:32 +0100)]
Delete extraneous prefix `SideEffects::` in `nodes.h`.
Change-Id: Ic0a8442d20323df0d9db9e6a1d26c07bd903a13d
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
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
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
Calin Juravle [Wed, 22 Jul 2015 11:20:14 +0000 (11:20 +0000)]
Merge "Use the object class as top in reference type propagation"
Calin Juravle [Wed, 22 Jul 2015 11:20:01 +0000 (11:20 +0000)]
Merge "Fixes and improvements in ReferenceTypePropagation"
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
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
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
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
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
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.
Ying Wang [Tue, 21 Jul 2015 23:45:21 +0000 (23:45 +0000)]
Merge "Prefer 32-bit host executables on Mac."
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
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
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.
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
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
Richard Uhler [Tue, 21 Jul 2015 20:27:18 +0000 (20:27 +0000)]
Merge "Add more checks to diagnose flaky oat file assistant test."
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
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
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.
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
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
Andreas Gampe [Tue, 21 Jul 2015 17:56:40 +0000 (17:56 +0000)]
Merge "Refine the canary pattern in RedZone"
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
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
Andreas Gampe [Tue, 21 Jul 2015 16:32:22 +0000 (16:32 +0000)]
Merge "ART: 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
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.
Richard Uhler [Tue, 21 Jul 2015 16:08:10 +0000 (16:08 +0000)]
Merge "Fix bug in OatFileAssistant::GetBestOatFile."
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
Andreas Gampe [Tue, 21 Jul 2015 15:56:21 +0000 (15:56 +0000)]
Merge "ART: 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
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
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
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
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.
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
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
Mathieu Chartier [Tue, 21 Jul 2015 01:20:16 +0000 (01:20 +0000)]
Merge "Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo"
Aart Bik [Tue, 21 Jul 2015 01:10:53 +0000 (01:10 +0000)]
am
84bfbe14: Merge "Fix broken tests."
* commit '
84bfbe14f708cdbc2ef310a5b8973be6911602b5':
Fix broken tests.
Aart Bik [Tue, 21 Jul 2015 01:01:36 +0000 (01:01 +0000)]
Merge "Fix 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
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
Igor Murashkin [Mon, 20 Jul 2015 22:36:04 +0000 (22:36 +0000)]
Merge "runtime: 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
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).
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).