OSDN Git Service

android-x86/art.git
9 years agoam ff3fd957: Merge "Quick: Fix optimizations for empty if blocks."
Vladimir Marko [Fri, 19 Jun 2015 15:53:16 +0000 (15:53 +0000)]
am ff3fd957: Merge "Quick: Fix optimizations for empty if blocks."

* commit 'ff3fd957020f0e5cf5cc279f4bbbca3545ce8745':
  Quick: Fix optimizations for empty if blocks.

9 years agoMerge "Quick: Fix optimizations for empty if blocks."
Vladimir Marko [Fri, 19 Jun 2015 15:44:22 +0000 (15:44 +0000)]
Merge "Quick: Fix optimizations for empty if blocks."

9 years agoam dbc0345e: Merge "Opt compiler: Add a description to MIP64 slow paths."
Roland Levillain [Fri, 19 Jun 2015 15:22:37 +0000 (15:22 +0000)]
am dbc0345e: Merge "Opt compiler: Add a description to MIP64 slow paths."

* commit 'dbc0345e7a066726fda6dbfe47592963f4602c56':
  Opt compiler: Add a description to MIP64 slow paths.

9 years agoMerge "Opt compiler: Add a description to MIP64 slow paths."
Roland Levillain [Fri, 19 Jun 2015 15:09:31 +0000 (15:09 +0000)]
Merge "Opt compiler: Add a description to MIP64 slow paths."

9 years agoOpt compiler: Add a description to MIP64 slow paths.
Roland Levillain [Fri, 19 Jun 2015 15:07:18 +0000 (16:07 +0100)]
Opt compiler: Add a description to MIP64 slow paths.

Change-Id: I773a543cd4f146d64819cc347e57e6472dea0b38

9 years agoam 7ed9cec8: Merge "MIPS: Initial version of optimizing compiler for MIPS64R6."
Roland Levillain [Fri, 19 Jun 2015 15:04:43 +0000 (15:04 +0000)]
am 7ed9cec8: Merge "MIPS: Initial version of optimizing compiler for MIPS64R6."

* commit '7ed9cec8bc302a0b4fe5a127b58bfddd702a70e8':
  MIPS: Initial version of optimizing compiler for MIPS64R6.

9 years agoMerge "MIPS: Initial version of optimizing compiler for MIPS64R6."
Roland Levillain [Fri, 19 Jun 2015 14:51:33 +0000 (14:51 +0000)]
Merge "MIPS: Initial version of optimizing compiler for MIPS64R6."

9 years agoMIPS: Initial version of optimizing compiler for MIPS64R6.
Alexey Frunze [Tue, 2 Jun 2015 01:31:49 +0000 (18:31 -0700)]
MIPS: Initial version of optimizing compiler for MIPS64R6.

Bug: 21555893
Change-Id: I874dc356eee6ab061a32f8f3df5f8ac3a4ab7dcf
Signed-off-by: Alexey Frunze <Alexey.Frunze@imgtec.com>
Signed-off-by: Douglas Leung <douglas.leung@imgtec.com>
9 years agoam 71af6f7a: Merge "Opt compiler: Add a description to slow paths."
David Brazdil [Fri, 19 Jun 2015 14:30:51 +0000 (14:30 +0000)]
am 71af6f7a: Merge "Opt compiler: Add a description to slow paths."

* commit '71af6f7aab7491665fe2d6beb9af4c251a99ad56':
  Opt compiler: Add a description to slow paths.

9 years agoMerge "Opt compiler: Add a description to slow paths."
David Brazdil [Fri, 19 Jun 2015 14:21:58 +0000 (14:21 +0000)]
Merge "Opt compiler: Add a description to slow paths."

9 years agoQuick: Fix optimizations for empty if blocks.
Vladimir Marko [Fri, 19 Jun 2015 11:58:22 +0000 (12:58 +0100)]
Quick: Fix optimizations for empty if blocks.

If a block ending with if-eqz or if-nez has the same "taken"
and "fallthrough", we cannot assume that the value has been
checked against zero in one of the succesors. This affects
the null check elimination pass as well as GVN. Refactor all
those checks to a single function in BasicBlock and check
that the "taken" and "falthrough" are different when needed.

Bug: 21614284
Change-Id: I8c6ac23e96cdaf5984786a555ebbd28110f095cb

9 years agoOpt compiler: Add a description to slow paths.
Alexandre Rames [Fri, 19 Jun 2015 13:47:01 +0000 (14:47 +0100)]
Opt compiler: Add a description to slow paths.

Change-Id: I22160d90de3fe0ab3e6a2acc440bda8daa00e0f0

9 years agoam 97d207c3: Merge "Use compiling class instead of referrer for access checks."
Nicolas Geoffray [Fri, 19 Jun 2015 13:11:23 +0000 (13:11 +0000)]
am 97d207c3: Merge "Use compiling class instead of referrer for access checks."

* commit '97d207c3beba0a4ed6402e882c5909c5ac5bde6d':
  Use compiling class instead of referrer for access checks.

9 years agoMerge "Use compiling class instead of referrer for access checks."
Nicolas Geoffray [Fri, 19 Jun 2015 13:02:11 +0000 (13:02 +0000)]
Merge "Use compiling class instead of referrer for access checks."

9 years agoUse compiling class instead of referrer for access checks.
Nicolas Geoffray [Fri, 19 Jun 2015 12:32:41 +0000 (13:32 +0100)]
Use compiling class instead of referrer for access checks.

bug:21869670
Change-Id: Ief329247e90202835e27fa38803e02dd2e2ae8ca

9 years agoam d8d7b90c: Merge "Do not expect 0 or 1 only when comparing a boolean."
Nicolas Geoffray [Fri, 19 Jun 2015 11:11:01 +0000 (11:11 +0000)]
am d8d7b90c: Merge "Do not expect 0 or 1 only when comparing a boolean."

* commit 'd8d7b90ca57e8e3762951bb419b6f2645bb414c5':
  Do not expect 0 or 1 only when comparing a boolean.

9 years agoam e4387574: Merge "Verifier: check an aput, even if we know it will fail."
Nicolas Geoffray [Fri, 19 Jun 2015 11:10:59 +0000 (11:10 +0000)]
am e4387574: Merge "Verifier: check an aput, even if we know it will fail."

* commit 'e43875749fbc674fbad23ba11af64f25ab2add0d':
  Verifier: check an aput, even if we know it will fail.

9 years agoMerge "Do not expect 0 or 1 only when comparing a boolean."
Nicolas Geoffray [Fri, 19 Jun 2015 11:03:44 +0000 (11:03 +0000)]
Merge "Do not expect 0 or 1 only when comparing a boolean."

9 years agoMerge "Verifier: check an aput, even if we know it will fail."
Nicolas Geoffray [Fri, 19 Jun 2015 11:02:16 +0000 (11:02 +0000)]
Merge "Verifier: check an aput, even if we know it will fail."

9 years agoDo not expect 0 or 1 only when comparing a boolean.
Nicolas Geoffray [Fri, 19 Jun 2015 10:42:07 +0000 (11:42 +0100)]
Do not expect 0 or 1 only when comparing a boolean.

bug:21866529
Change-Id: I81ffba609a357010bd86073eb979024fc668ed20

9 years agoam be59b852: Merge "Make Main public to pass tests on all configurations."
Nicolas Geoffray [Fri, 19 Jun 2015 10:16:54 +0000 (10:16 +0000)]
am be59b852: Merge "Make Main public to pass tests on all configurations."

* commit 'be59b85251f085359d40bb89b1aa7e037c8ac0ef':
  Make Main public to pass tests on all configurations.

9 years agoMerge "Make Main public to pass tests on all configurations."
Nicolas Geoffray [Fri, 19 Jun 2015 10:07:46 +0000 (10:07 +0000)]
Merge "Make Main public to pass tests on all configurations."

9 years agoam 511b7cb2: Merge "Use the right bug number. Spotted by vmarko."
Nicolas Geoffray [Fri, 19 Jun 2015 10:00:08 +0000 (10:00 +0000)]
am 511b7cb2: Merge "Use the right bug number. Spotted by vmarko."

* commit '511b7cb2c2c1f276875ff2762bbc97337d824a63':
  Use the right bug number. Spotted by vmarko.

9 years agoMerge "Use the right bug number. Spotted by vmarko."
Nicolas Geoffray [Fri, 19 Jun 2015 09:50:49 +0000 (09:50 +0000)]
Merge "Use the right bug number. Spotted by vmarko."

9 years agoMake Main public to pass tests on all configurations.
Nicolas Geoffray [Fri, 19 Jun 2015 09:45:44 +0000 (10:45 +0100)]
Make Main public to pass tests on all configurations.

There's a mismatch between compile-time and runtime access checks.
This doens't fix it but keep us green.

bug:21923303

Change-Id: I1d4a80557f9d8ca9d8bef18a8c23230ed46d4a4c

9 years agoVerifier: check an aput, even if we know it will fail.
Nicolas Geoffray [Fri, 19 Jun 2015 09:35:42 +0000 (10:35 +0100)]
Verifier: check an aput, even if we know it will fail.

bug:21867457
Change-Id: I01e333d858995d0e1e083a50cf8d460a86381f2c

9 years agoUse the right bug number. Spotted by vmarko.
Nicolas Geoffray [Fri, 19 Jun 2015 09:05:50 +0000 (10:05 +0100)]
Use the right bug number. Spotted by vmarko.

bug:21863767

Change-Id: I203072188c0c97b2d6709e1a59555b45fc5a0ab2

9 years agoam f12ffdb5: Merge "Fix moving GC bug in DoFilledNewArray"
Mathieu Chartier [Fri, 19 Jun 2015 00:12:48 +0000 (00:12 +0000)]
am f12ffdb5: Merge "Fix moving GC bug in DoFilledNewArray"

* commit 'f12ffdb549f1947125e3f56694cb479a619f02bf':
  Fix moving GC bug in DoFilledNewArray

9 years agoMerge "Fix moving GC bug in DoFilledNewArray"
Mathieu Chartier [Fri, 19 Jun 2015 00:00:07 +0000 (00:00 +0000)]
Merge "Fix moving GC bug in DoFilledNewArray"

9 years agoFix moving GC bug in DoFilledNewArray
Mathieu Chartier [Thu, 18 Jun 2015 23:48:52 +0000 (16:48 -0700)]
Fix moving GC bug in DoFilledNewArray

Previously we read from componentClass after allocating the array.

Bug: 21783443

Change-Id: I5283982edab479434e27416509e1436b4176fe01

9 years agoam 542ca97d: Merge "test: Fix lambda test incorrectly globbing together compiler...
Igor Murashkin [Thu, 18 Jun 2015 22:50:57 +0000 (22:50 +0000)]
am 542ca97d: Merge "test: Fix lambda test incorrectly globbing together compiler arguments"

* commit '542ca97d3e4266896407b9abd29b36b1c59d798c':
  test: Fix lambda test incorrectly globbing together compiler arguments

9 years agoMerge "test: Fix lambda test incorrectly globbing together compiler arguments"
Igor Murashkin [Thu, 18 Jun 2015 22:41:57 +0000 (22:41 +0000)]
Merge "test: Fix lambda test incorrectly globbing together compiler arguments"

9 years agotest: Fix lambda test incorrectly globbing together compiler arguments
Igor Murashkin [Thu, 18 Jun 2015 22:38:59 +0000 (15:38 -0700)]
test: Fix lambda test incorrectly globbing together compiler arguments

This also fixes test failures when running imageless tests.

Change-Id: I9b0deb836907060160e31c434cf0710507f9665a

9 years agoam 46d87021: Merge "Fix moving GC bugs in proxy stub for X86/X86_64"
Mathieu Chartier [Thu, 18 Jun 2015 20:11:02 +0000 (20:11 +0000)]
am 46d87021: Merge "Fix moving GC bugs in proxy stub for X86/X86_64"

* commit '46d8702167d679dbf87ba9fa8fd0f1b6bbb3ed62':
  Fix moving GC bugs in proxy stub for X86/X86_64

9 years agoam 247e9774: Merge "interpreter: Add experimental lambda opcodes for invoke/create...
Igor Murashkin [Thu, 18 Jun 2015 20:11:01 +0000 (20:11 +0000)]
am 247e9774: Merge "interpreter: Add experimental lambda opcodes for invoke/create-lambda"

* commit '247e97746016b49183b52f4c386bedf7cd53e590':
  interpreter: Add experimental lambda opcodes for invoke/create-lambda

9 years agoMerge "Fix moving GC bugs in proxy stub for X86/X86_64"
Mathieu Chartier [Thu, 18 Jun 2015 20:01:24 +0000 (20:01 +0000)]
Merge "Fix moving GC bugs in proxy stub for X86/X86_64"

9 years agoMerge "interpreter: Add experimental lambda opcodes for invoke/create-lambda"
Igor Murashkin [Thu, 18 Jun 2015 19:56:57 +0000 (19:56 +0000)]
Merge "interpreter: Add experimental lambda opcodes for invoke/create-lambda"

9 years agoFix moving GC bugs in proxy stub for X86/X86_64
Mathieu Chartier [Thu, 18 Jun 2015 17:17:26 +0000 (10:17 -0700)]
Fix moving GC bugs in proxy stub for X86/X86_64

Needed to restore the refs.

Bug: 21907554
Change-Id: I562906dff07dcaa78dfb39646ba9ab35a5f56c6c

9 years agoam 2b696ab5: Merge "Quick: Don\'t expect move-exception in every catch block."
Vladimir Marko [Thu, 18 Jun 2015 18:31:41 +0000 (18:31 +0000)]
am 2b696ab5: Merge "Quick: Don\'t expect move-exception in every catch block."

* commit '2b696ab55e817b583d7b3b3ffd39e48c38db6989':
  Quick: Don't expect move-exception in every catch block.

9 years agoMerge "Quick: Don't expect move-exception in every catch block."
Vladimir Marko [Thu, 18 Jun 2015 18:22:48 +0000 (18:22 +0000)]
Merge "Quick: Don't expect move-exception in every catch block."

9 years agoQuick: Don't expect move-exception in every catch block.
Vladimir Marko [Thu, 18 Jun 2015 16:40:00 +0000 (17:40 +0100)]
Quick: Don't expect move-exception in every catch block.

The dalvik bytecode doesn't require a move-exception in
a catch handler that ignores the exception.

Bug: 21873167
Change-Id: I3b49218a8c7ff021141387bd929bb2ae798f8509

9 years agoam 3d266a96: Merge "Don\'t check the return type in the builder."
Nicolas Geoffray [Thu, 18 Jun 2015 17:42:48 +0000 (17:42 +0000)]
am 3d266a96: Merge "Don\'t check the return type in the builder."

* commit '3d266a96750db6969f24bcdb8025c06745e5a449':
  Don't check the return type in the builder.

9 years agoMerge "Don't check the return type in the builder."
Nicolas Geoffray [Thu, 18 Jun 2015 17:28:16 +0000 (17:28 +0000)]
Merge "Don't check the return type in the builder."

9 years agointerpreter: Add experimental lambda opcodes for invoke/create-lambda
Igor Murashkin [Wed, 10 Jun 2015 22:55:30 +0000 (15:55 -0700)]
interpreter: Add experimental lambda opcodes for invoke/create-lambda

These opcodes are not yet fully specified, and *will* change before they become shippable.
Do not write production code against experimental opcodes.

--

Implement partial interpreter support for new dex instructions invoke/create-lambda, and a
new opcode format 25x.

* Does not verify, in fact verification will soft fail when we see those opcodes.
* Compilers will punt to interpreter since they don't support new opcodes.
* As there is no way to capture/liberate variables yet, the "closure" is just
  an ArtMethod for the time being.

All new opcodes are disabled by default, use runtime option -Xexperimental-lambdas to enable them.

For example:
  dalvikvm ... -Xexperimental-lambdas ...
  dex2oat --runtime-arg -Xexperimental-lambdas ...

Change-Id: I6c996ca32a9b54ec45ec21d7a959b84dfb8a24eb

9 years agoDon't check the return type in the builder.
Nicolas Geoffray [Thu, 18 Jun 2015 17:04:12 +0000 (18:04 +0100)]
Don't check the return type in the builder.

The verifier will not complain about dead code. For the compiler,
it is benign.

bug:21863767

Change-Id: I6ef7be233d1cd69dddcc4499e4e4fad54753099f

9 years agoam 822c00d0: Merge "Run a simplification pass before code generation."
Nicolas Geoffray [Thu, 18 Jun 2015 16:12:43 +0000 (16:12 +0000)]
am 822c00d0: Merge "Run a simplification pass before code generation."

* commit '822c00d0fe3b70d1f1fe5bac03713674d45f8173':
  Run a simplification pass before code generation.

9 years agoam 01b6ec8c: Merge "Don\'t special case HCurrentMethod in DCE."
Nicolas Geoffray [Thu, 18 Jun 2015 16:12:42 +0000 (16:12 +0000)]
am 01b6ec8c: Merge "Don\'t special case HCurrentMethod in DCE."

* commit '01b6ec8c982400fe415533296ab0b563971c239d':
  Don't special case HCurrentMethod in DCE.

9 years agoam 92fe57fe: Merge "Quick: Fix marking unused registers in DCE."
Vladimir Marko [Thu, 18 Jun 2015 16:12:40 +0000 (16:12 +0000)]
am 92fe57fe: Merge "Quick: Fix marking unused registers in DCE."

* commit '92fe57fe6e3512616f71b2b2183344c56d6753e6':
  Quick: Fix marking unused registers in DCE.

9 years agoMerge "Run a simplification pass before code generation."
Nicolas Geoffray [Thu, 18 Jun 2015 15:52:30 +0000 (15:52 +0000)]
Merge "Run a simplification pass before code generation."

9 years agoMerge "Don't special case HCurrentMethod in DCE."
Nicolas Geoffray [Thu, 18 Jun 2015 15:51:54 +0000 (15:51 +0000)]
Merge "Don't special case HCurrentMethod in DCE."

9 years agoMerge "Quick: Fix marking unused registers in DCE."
Vladimir Marko [Thu, 18 Jun 2015 15:51:35 +0000 (15:51 +0000)]
Merge "Quick: Fix marking unused registers in DCE."

9 years agoRun a simplification pass before code generation.
Nicolas Geoffray [Thu, 18 Jun 2015 14:46:47 +0000 (15:46 +0100)]
Run a simplification pass before code generation.

The code generators assume things that only the instruction
simplier ensures. So it has to be run last in case previous
optimiziations broke those assumptions.

bug:21865464

Change-Id: I1f84016017bf691c2a34982e202a505b269f609a

9 years agoam 46ff9b61: Merge "ART: Fix reporting initialized classes by CompilerDriver."
Vladimir Marko [Thu, 18 Jun 2015 14:27:34 +0000 (14:27 +0000)]
am 46ff9b61: Merge "ART: Fix reporting initialized classes by CompilerDriver."

* commit '46ff9b6100e66306233534e26c16d3c6738070a9':
  ART: Fix reporting initialized classes by CompilerDriver.

9 years agoMerge "ART: Fix reporting initialized classes by CompilerDriver."
Vladimir Marko [Thu, 18 Jun 2015 14:19:22 +0000 (14:19 +0000)]
Merge "ART: Fix reporting initialized classes by CompilerDriver."

9 years agoam d4de42f6: Merge "ART: Remove old DCHECK that trips Baseline"
David Brazdil [Thu, 18 Jun 2015 11:58:39 +0000 (11:58 +0000)]
am d4de42f6: Merge "ART: Remove old DCHECK that trips Baseline"

* commit 'd4de42f6fd0f00c5b3ca01fed6a26d11e617c3b9':
  ART: Remove old DCHECK that trips Baseline

9 years agoam 3b574aad: Merge "Bailout from compilation if an invoke is malformed."
Nicolas Geoffray [Thu, 18 Jun 2015 11:58:38 +0000 (11:58 +0000)]
am 3b574aad: Merge "Bailout from compilation if an invoke is malformed."

* commit '3b574aadd67c5ce261a7383c38044af4cf993393':
  Bailout from compilation if an invoke is malformed.

9 years agoam 7b295db7: Merge "Fix a bug in optimizing when the null constant has been DCE."
Nicolas Geoffray [Thu, 18 Jun 2015 11:58:36 +0000 (11:58 +0000)]
am 7b295db7: Merge "Fix a bug in optimizing when the null constant has been DCE."

* commit '7b295db7583a721db1e1d430be78a6ff34f4805d':
  Fix a bug in optimizing when the null constant has been DCE.

9 years agoMerge "ART: Remove old DCHECK that trips Baseline"
David Brazdil [Thu, 18 Jun 2015 11:54:57 +0000 (11:54 +0000)]
Merge "ART: Remove old DCHECK that trips Baseline"

9 years agoMerge "Bailout from compilation if an invoke is malformed."
Nicolas Geoffray [Thu, 18 Jun 2015 11:53:49 +0000 (11:53 +0000)]
Merge "Bailout from compilation if an invoke is malformed."

9 years agoART: Remove old DCHECK that trips Baseline
David Brazdil [Thu, 18 Jun 2015 11:40:01 +0000 (12:40 +0100)]
ART: Remove old DCHECK that trips Baseline

Codegen verified that the entry block always falls through to the next
block. While this is the case with Optimizing, it doesn't hold for
Baseline but it doesn't need to since codegen handles it fine.

Bug:21913514
Change-Id: I751ef227e6cf103af3e7fc35fca4b01c663385a1

9 years agoBailout from compilation if an invoke is malformed.
Nicolas Geoffray [Thu, 18 Jun 2015 10:11:27 +0000 (11:11 +0100)]
Bailout from compilation if an invoke is malformed.

Because the verifier does not check trivially dead instructions,
the compilers must prepare for bogus instructions. This change
fixes the case the arguments for an invoke do not match the
formal parameters.

bug:21865459

Change-Id: Ie9fa9dbaedaad0350a52391252e18c045056454d

9 years agoMerge "Fix a bug in optimizing when the null constant has been DCE."
Nicolas Geoffray [Thu, 18 Jun 2015 11:46:30 +0000 (11:46 +0000)]
Merge "Fix a bug in optimizing when the null constant has been DCE."

9 years agoART: Fix reporting initialized classes by CompilerDriver.
Vladimir Marko [Mon, 15 Jun 2015 17:52:54 +0000 (18:52 +0100)]
ART: Fix reporting initialized classes by CompilerDriver.

Fix a bug where the CompilerDriver was erroneously reporting
classes as initialized during AOT compilation when they were
not guaranteed to be initialized at runtime.

This fix prevents the Quick compiler from inlining calls to
static methods in classes that are not guaranteed to be
initialized, so that the runtime performs the initialization
required for correctness.

Bug: 21847756
Change-Id: I6fee5ef9c05c2e5190ab8a9fe61365d5119011c5

9 years agoQuick: Fix marking unused registers in DCE.
Vladimir Marko [Wed, 17 Jun 2015 21:00:09 +0000 (22:00 +0100)]
Quick: Fix marking unused registers in DCE.

Bug: 21702651
Change-Id: Idca17b465152e0c61704fc49761c7ba89caf5b20

9 years agoam 3c4fb2d1: Merge "Forgot this change in last commit."
Nicolas Geoffray [Thu, 18 Jun 2015 07:50:25 +0000 (07:50 +0000)]
am 3c4fb2d1: Merge "Forgot this change in last commit."

* commit '3c4fb2d1836a81823677191ad91203779427b610':
  Forgot this change in last commit.

9 years agoMerge "Forgot this change in last commit."
Nicolas Geoffray [Thu, 18 Jun 2015 07:42:02 +0000 (07:42 +0000)]
Merge "Forgot this change in last commit."

9 years agoam f16474d0: Merge "Fix some java_lang_Class related moving GC bugs"
Mathieu Chartier [Thu, 18 Jun 2015 00:11:45 +0000 (00:11 +0000)]
am f16474d0: Merge "Fix some java_lang_Class related moving GC bugs"

* commit 'f16474d08ed51a3ccfaa70360aefdf12ebc79da1':
  Fix some java_lang_Class related moving GC bugs

9 years agoMerge "Fix some java_lang_Class related moving GC bugs"
Mathieu Chartier [Thu, 18 Jun 2015 00:02:11 +0000 (00:02 +0000)]
Merge "Fix some java_lang_Class related moving GC bugs"

9 years agoFix some java_lang_Class related moving GC bugs
Mathieu Chartier [Wed, 17 Jun 2015 23:11:12 +0000 (16:11 -0700)]
Fix some java_lang_Class related moving GC bugs

There was some missing handles around mirror::Class*.

Bug: 21898408
Change-Id: Icb754074dfb469473101d20d6873a5bc3274abc5

9 years agoam 5592c688: Merge "Add missing EndAssertNoThreadSuspension"
Mathieu Chartier [Wed, 17 Jun 2015 22:49:28 +0000 (22:49 +0000)]
am 5592c688: Merge "Add missing EndAssertNoThreadSuspension"

* commit '5592c688070fa327f56036c4c67c790289db63d9':
  Add missing EndAssertNoThreadSuspension

9 years agoMerge "Add missing EndAssertNoThreadSuspension"
Mathieu Chartier [Wed, 17 Jun 2015 22:42:46 +0000 (22:42 +0000)]
Merge "Add missing EndAssertNoThreadSuspension"

9 years agoFix a bug in optimizing when the null constant has been DCE.
Nicolas Geoffray [Wed, 17 Jun 2015 22:09:05 +0000 (23:09 +0100)]
Fix a bug in optimizing when the null constant has been DCE.

If it has been DCE, we should create a new one, instead of
using the old one.

Also move the first DCE to a place where it could actually
be useful.

bug:21870788

Change-Id: I28fc52ae481ef92cba45fc1b5abcf07c995f524c

9 years agoam 0420f81a: Merge "Release dummy MemMaps corresponding to dlopen."
David Srbecky [Wed, 17 Jun 2015 22:10:49 +0000 (22:10 +0000)]
am 0420f81a: Merge "Release dummy MemMaps corresponding to dlopen."

* commit '0420f81a5c6c08bc62060b8ff5dda8949f9a9ce9':
  Release dummy MemMaps corresponding to dlopen.

9 years agoMerge "Release dummy MemMaps corresponding to dlopen."
David Srbecky [Wed, 17 Jun 2015 21:59:58 +0000 (21:59 +0000)]
Merge "Release dummy MemMaps corresponding to dlopen."

9 years agoRelease dummy MemMaps corresponding to dlopen.
David Srbecky [Wed, 17 Jun 2015 17:36:23 +0000 (18:36 +0100)]
Release dummy MemMaps corresponding to dlopen.

This fixes memory leak.

Change-Id: I857f078e8559a56b2d10dd081256c41ab28c8ec6

9 years agoAdd missing EndAssertNoThreadSuspension
Mathieu Chartier [Wed, 17 Jun 2015 21:14:36 +0000 (14:14 -0700)]
Add missing EndAssertNoThreadSuspension

(cherry picked from commit a3b9d4eda1ef0845f307891f349eaf752750ac16)

Bug: 21872507
Change-Id: I20f9920e4a12511ce498c252bca955d82a4f4102

9 years agoDon't special case HCurrentMethod in DCE.
Nicolas Geoffray [Wed, 17 Jun 2015 10:57:56 +0000 (11:57 +0100)]
Don't special case HCurrentMethod in DCE.

Instead, re-create the HCurrentMethod if it is needed
after it has been removed.

Change-Id: Id3bf15ae87b00a1d7eb35bf36d58fe96f788fba4

9 years agoForgot this change in last commit.
Nicolas Geoffray [Mon, 15 Jun 2015 13:35:01 +0000 (14:35 +0100)]
Forgot this change in last commit.

bug:21746693
Change-Id: I1ae9690d393cf1bae10cb06ff1c6754ab2a50595

9 years agoam b66fda7c: Merge "ART: Allow PackedSwitch instructions with zero targets"
David Brazdil [Wed, 17 Jun 2015 17:52:41 +0000 (17:52 +0000)]
am b66fda7c: Merge "ART: Allow PackedSwitch instructions with zero targets"

* commit 'b66fda7c7e2e3c24e2a146c3f9d904b1828346a1':
  ART: Allow PackedSwitch instructions with zero targets

9 years agoMerge "ART: Allow PackedSwitch instructions with zero targets"
David Brazdil [Wed, 17 Jun 2015 17:42:11 +0000 (17:42 +0000)]
Merge "ART: Allow PackedSwitch instructions with zero targets"

9 years agoART: Allow PackedSwitch instructions with zero targets
David Brazdil [Wed, 17 Jun 2015 17:20:52 +0000 (18:20 +0100)]
ART: Allow PackedSwitch instructions with zero targets

Optimizing and the interpreter wrongly assumed that a PackedSwitch
always has at least one target. This patch removes the corresponding
DCHECKs and adds a regression test case.

This is a resubmission of CL I32b7033ed38de6f1d1a6ee5d5bf12f3a47c9b37e

Bug: 21863783
Change-Id: I04e6e124bdd16591ba27c79490e6ce183c36b691

9 years agoam 43d154be: Merge "Revert "ART: Allow PackedSwitch instructions with zero targets""
David Brazdil [Wed, 17 Jun 2015 17:12:38 +0000 (17:12 +0000)]
am 43d154be: Merge "Revert "ART: Allow PackedSwitch instructions with zero targets""

* commit '43d154bed3ad0bba766211af1f2637500d30a93f':
  Revert "ART: Allow PackedSwitch instructions with zero targets"

9 years agoMerge "Revert "ART: Allow PackedSwitch instructions with zero targets""
David Brazdil [Wed, 17 Jun 2015 17:01:16 +0000 (17:01 +0000)]
Merge "Revert "ART: Allow PackedSwitch instructions with zero targets""

9 years agoRevert "ART: Allow PackedSwitch instructions with zero targets"
David Brazdil [Wed, 17 Jun 2015 16:59:53 +0000 (16:59 +0000)]
Revert "ART: Allow PackedSwitch instructions with zero targets"

This fixed Optimizing but revealed the same issue in the interpreter.

This reverts commit 241f9c41924e33e0c3bab9a7c4306397458749ca.

Change-Id: Iad5a28b24f2c21d3575cf8ecc8b7c8fbf98d1132

9 years agoam cb5dc7f4: Merge "ART: Allow PackedSwitch instructions with zero targets"
David Brazdil [Wed, 17 Jun 2015 16:41:15 +0000 (16:41 +0000)]
am cb5dc7f4: Merge "ART: Allow PackedSwitch instructions with zero targets"

* commit 'cb5dc7f4b795c3ef7ec48989542efdbe44898b94':
  ART: Allow PackedSwitch instructions with zero targets

9 years agoMerge "ART: Allow PackedSwitch instructions with zero targets"
David Brazdil [Wed, 17 Jun 2015 16:32:51 +0000 (16:32 +0000)]
Merge "ART: Allow PackedSwitch instructions with zero targets"

9 years agoART: Allow PackedSwitch instructions with zero targets
David Brazdil [Wed, 17 Jun 2015 14:38:35 +0000 (15:38 +0100)]
ART: Allow PackedSwitch instructions with zero targets

Optimizing's Builder wrongly assumed that a PackedSwitch always has
at least one target. This patch removes the corresponding DCHECK and
adds a regression test case.

Bug:21863783
Change-Id: I32b7033ed38de6f1d1a6ee5d5bf12f3a47c9b37e

9 years agoam edb83c60: Merge "Fix bug in optimizing around instanceof."
Nicolas Geoffray [Wed, 17 Jun 2015 10:58:59 +0000 (10:58 +0000)]
am edb83c60: Merge "Fix bug in optimizing around instanceof."

* commit 'edb83c606e034d76bed1331f34cdc435df47bb95':
  Fix bug in optimizing around instanceof.

9 years agoMerge "Fix bug in optimizing around instanceof."
Nicolas Geoffray [Wed, 17 Jun 2015 10:50:00 +0000 (10:50 +0000)]
Merge "Fix bug in optimizing around instanceof."

9 years agoFix bug in optimizing around instanceof.
Nicolas Geoffray [Wed, 17 Jun 2015 10:35:11 +0000 (11:35 +0100)]
Fix bug in optimizing around instanceof.

We were too aggressive when removing instanceof. We should
not remove it when there is one of the two static types that
is an interface.

Change-Id: I1fd80915b99b094f7b4393e7adb2b160201b30d5

9 years agoam 4b9a93e7: Merge "Remove bogus DCHECK in BCE."
Nicolas Geoffray [Wed, 17 Jun 2015 09:48:48 +0000 (09:48 +0000)]
am 4b9a93e7: Merge "Remove bogus DCHECK in BCE."

* commit '4b9a93e7774d6650f6f3b637d018109d6fe97546':
  Remove bogus DCHECK in BCE.

9 years agoam 445e3502: Merge "More stack map dumping."
Nicolas Geoffray [Wed, 17 Jun 2015 09:48:47 +0000 (09:48 +0000)]
am 445e3502: Merge "More stack map dumping."

* commit '445e35028bc5cb6d921dc60e579b7b40ceb16c71':
  More stack map dumping.

9 years agoam a2890553: Merge "Fix lint error."
Narayan Kamath [Wed, 17 Jun 2015 09:48:45 +0000 (09:48 +0000)]
am a2890553: Merge "Fix lint error."

* commit 'a28905535905ed2b86de6f621991b8775beb493e':
  Fix lint error.

9 years agoam 233cf0e8: Merge "Exercise sun.misc.Unsafe.getObject."
Roland Levillain [Wed, 17 Jun 2015 09:48:44 +0000 (09:48 +0000)]
am 233cf0e8: Merge "Exercise sun.misc.Unsafe.getObject."

* commit '233cf0e8584225f1f7d21d4999cda18c23469d59':
  Exercise sun.misc.Unsafe.getObject.

9 years agoam 088bd0d2: Merge "Revert "Revert "ART: Implement literal pool for arm, fix branch...
Vladimir Marko [Wed, 17 Jun 2015 09:48:42 +0000 (09:48 +0000)]
am 088bd0d2: Merge "Revert "Revert "ART: Implement literal pool for arm, fix branch fixup."""

* commit '088bd0d28acb70302d20f6e19a9db7f0536c09ee':
  Revert "Revert "ART: Implement literal pool for arm, fix branch fixup.""

9 years agoam b3daa231: Merge "Set default visibility on art_sigsegv_fault."
Narayan Kamath [Wed, 17 Jun 2015 09:48:41 +0000 (09:48 +0000)]
am b3daa231: Merge "Set default visibility on art_sigsegv_fault."

* commit 'b3daa2312747eaf852c948c189ca0745db116447':
  Set default visibility on art_sigsegv_fault.

9 years agoam ed44919d: Merge "CFI test: kill the other process in native code."
Nicolas Geoffray [Wed, 17 Jun 2015 09:48:39 +0000 (09:48 +0000)]
am ed44919d: Merge "CFI test: kill the other process in native code."

* commit 'ed44919da8f7ab96117fd9d30b3fbfcd88f1433c':
  CFI test: kill the other process in native code.

9 years agoMerge "Remove bogus DCHECK in BCE."
Nicolas Geoffray [Wed, 17 Jun 2015 09:44:18 +0000 (09:44 +0000)]
Merge "Remove bogus DCHECK in BCE."

9 years agoRemove bogus DCHECK in BCE.
Nicolas Geoffray [Wed, 17 Jun 2015 09:17:49 +0000 (10:17 +0100)]
Remove bogus DCHECK in BCE.

When creating a phi for the array length when we add HDeoptimization
nodes, we might update accesses in inner loops to use that phi instead
of the array length. The BCE phase was not expecting this case.

Change-Id: I639f4ea6f5889726142041a42736183f162c7437

9 years agoMerge "More stack map dumping."
Nicolas Geoffray [Wed, 17 Jun 2015 09:19:09 +0000 (09:19 +0000)]
Merge "More stack map dumping."