OSDN Git Service

android-x86/art.git
9 years agoresolved conflicts for merge of f4e67434 to mnc-dev-plus-aosp
Mingyao Yang [Fri, 19 Jun 2015 21:07:37 +0000 (14:07 -0700)]
resolved conflicts for merge of f4e67434 to mnc-dev-plus-aosp

Change-Id: I2823f5bc5b4fc6989577c1ac6c55e9a71d47dd49

9 years agoMerge commit '99001897' into mnc-dev-plus-aosp
David Srbecky [Fri, 19 Jun 2015 20:16:07 +0000 (21:16 +0100)]
Merge commit '99001897' into mnc-dev-plus-aosp

9 years agoam bca381a1: Fix premature deoptimization if the loop body isn\'t entered.
Mingyao Yang [Fri, 19 Jun 2015 19:55:14 +0000 (19:55 +0000)]
am bca381a1: Fix premature deoptimization if the loop body isn\'t entered.

* commit 'bca381a12965a98e3727e93986dd0a195db500a0':
  Fix premature deoptimization if the loop body isn't entered.

9 years agoFix premature deoptimization if the loop body isn't entered.
Mingyao Yang [Tue, 19 May 2015 23:01:59 +0000 (16:01 -0700)]
Fix premature deoptimization if the loop body isn't entered.

Add a test between initial_ and end_ to see if the loop body is entered.
If the loop body isn't entered at all, we jump to the loop header. Loop header is
still executed and is going to test the condition again and loop body won't be
entered. This makes sure no deoptimization is triggered if the loop body isn't
even entered.

Bug: 21034044

(cherry picked from commit 3584bce5b1f45e5741d3a6ca24884a36320ecb6b)

Change-Id: I2b6de1f22fbc4568ca419f76382ebd87806d9694

9 years agoam bd64add2: am d5ff8c58: Merge "Fix case where block has no predecessor for StringCh...
Jeff Hao [Fri, 19 Jun 2015 18:42:16 +0000 (18:42 +0000)]
am bd64add2: am d5ff8c58: Merge "Fix case where block has no predecessor for StringChange."

* commit 'bd64add22771a0deb739a9ad56dc381557bf6a14':
  Fix case where block has no predecessor for StringChange.

9 years agoam db538d30: Merge "ART stack unwinding fixes for libunwind/gdb/lldb." into mnc-dev
David Srbecky [Fri, 19 Jun 2015 18:35:53 +0000 (18:35 +0000)]
am db538d30: Merge "ART stack unwinding fixes for libunwind/gdb/lldb." into mnc-dev

* commit 'db538d309bc34e025e921a04f10b4ee745bd9f1d':
  ART stack unwinding fixes for libunwind/gdb/lldb.

9 years agoam d5ff8c58: Merge "Fix case where block has no predecessor for StringChange."
Jeff Hao [Fri, 19 Jun 2015 18:31:00 +0000 (18:31 +0000)]
am d5ff8c58: Merge "Fix case where block has no predecessor for StringChange."

* commit 'd5ff8c584b230da350f4ebfffec1d245c09bf26b':
  Fix case where block has no predecessor for StringChange.

9 years agoam f76b0ff7: am 3e91a44b: Fix case where block has no predecessor for StringChange.
Jeff Hao [Fri, 19 Jun 2015 18:30:58 +0000 (18:30 +0000)]
am f76b0ff7: am 3e91a44b: Fix case where block has no predecessor for StringChange.

* commit 'f76b0ff70491d71670a4295eac861d0ae49f5ec5':
  Fix case where block has no predecessor for StringChange.

9 years agoMerge "ART stack unwinding fixes for libunwind/gdb/lldb." into mnc-dev
David Srbecky [Fri, 19 Jun 2015 18:25:56 +0000 (18:25 +0000)]
Merge "ART stack unwinding fixes for libunwind/gdb/lldb." into mnc-dev

9 years agoam 3e91a44b: Fix case where block has no predecessor for StringChange.
Jeff Hao [Fri, 19 Jun 2015 18:18:25 +0000 (18:18 +0000)]
am 3e91a44b: Fix case where block has no predecessor for StringChange.

* commit '3e91a44bc9063f7f69b5415e3cf162991f73283f':
  Fix case where block has no predecessor for StringChange.

9 years agoMerge "Fix case where block has no predecessor for StringChange."
Jeff Hao [Fri, 19 Jun 2015 18:15:00 +0000 (18:15 +0000)]
Merge "Fix case where block has no predecessor for StringChange."

9 years agoFix case where block has no predecessor for StringChange.
Jeff Hao [Wed, 17 Jun 2015 23:04:26 +0000 (16:04 -0700)]
Fix case where block has no predecessor for StringChange.

Removes part that checks for throwing half of instruction. It's no
longer necessary. Also adds regression test.

Bug: 21902684

(cherry-picked from commit 3e91a44bc9063f7f69b5415e3cf162991f73283f)

Change-Id: I8d7308ff227816fb475341c2b74ed84d5695a2f5

9 years agoam 57e612b3: am e102f193: Merge "Fix StringChange for optimizing compiler."
Jeff Hao [Fri, 19 Jun 2015 18:03:13 +0000 (18:03 +0000)]
am 57e612b3: am e102f193: Merge "Fix StringChange for optimizing compiler."

* commit '57e612b3573be103d3d83b1b0edb5224b082dfe5':
  Fix StringChange for optimizing compiler.

9 years agoam e102f193: Merge "Fix StringChange for optimizing compiler."
Jeff Hao [Fri, 19 Jun 2015 17:50:54 +0000 (17:50 +0000)]
am e102f193: Merge "Fix StringChange for optimizing compiler."

* commit 'e102f1937ca14df87594469430d2e6e0ebe0f357':
  Fix StringChange for optimizing compiler.

9 years agoMerge "Fix StringChange for optimizing compiler."
Jeff Hao [Fri, 19 Jun 2015 17:38:55 +0000 (17:38 +0000)]
Merge "Fix StringChange for optimizing compiler."

9 years agoFix case where block has no predecessor for StringChange.
Jeff Hao [Wed, 17 Jun 2015 23:04:26 +0000 (16:04 -0700)]
Fix case where block has no predecessor for StringChange.

Removes part that checks for throwing half of instruction. It's no
longer necessary. Also adds regression test.

Bug: 21902684
Change-Id: Ic600165e6b3719de3d83a73b8a1fa64473668fc8

9 years agoam 9404b85e: am e7738e8b: Quick: Handle total high/low register overlap on arm/mips.
Vladimir Marko [Fri, 19 Jun 2015 17:04:15 +0000 (17:04 +0000)]
am 9404b85e: am e7738e8b: Quick: Handle total high/low register overlap on arm/mips.

* commit '9404b85efaa07eeb7d6fadbc2b040aaa1e0517ed':
  Quick: Handle total high/low register overlap on arm/mips.

9 years agoam e873574d: am e4bb626f: Merge "Quick: Handle total high/low register overlap on...
Vladimir Marko [Fri, 19 Jun 2015 17:04:10 +0000 (17:04 +0000)]
am e873574d: am e4bb626f: Merge "Quick: Handle total high/low register overlap on arm/mips."

* commit 'e873574dc2b36727d44923366eece4ec28ca563e':
  Quick: Handle total high/low register overlap on arm/mips.

9 years agoam e7738e8b: Quick: Handle total high/low register overlap on arm/mips.
Vladimir Marko [Fri, 19 Jun 2015 16:51:41 +0000 (16:51 +0000)]
am e7738e8b: Quick: Handle total high/low register overlap on arm/mips.

* commit 'e7738e8bf567153fde593404d380a5c79ba6bfa8':
  Quick: Handle total high/low register overlap on arm/mips.

9 years agoam e4bb626f: Merge "Quick: Handle total high/low register overlap on arm/mips."
Vladimir Marko [Fri, 19 Jun 2015 16:51:34 +0000 (16:51 +0000)]
am e4bb626f: Merge "Quick: Handle total high/low register overlap on arm/mips."

* commit 'e4bb626ff09e409c9482e515716de7cd595ea466':
  Quick: Handle total high/low register overlap on arm/mips.

9 years agoMerge "Quick: Handle total high/low register overlap on arm/mips."
Vladimir Marko [Fri, 19 Jun 2015 16:39:29 +0000 (16:39 +0000)]
Merge "Quick: Handle total high/low register overlap on arm/mips."

9 years agoQuick: Handle total high/low register overlap on arm/mips.
Vladimir Marko [Fri, 19 Jun 2015 13:56:38 +0000 (14:56 +0100)]
Quick: Handle total high/low register overlap on arm/mips.

OpRegCopyWide() in arm and mips backends didn't handle the
total register overlap when the registers holding the source
and destination pairs are the same but in reverse order.

Bug: 21897012

(cherry picked from commit 8958f7f8702327e713264d0538ab5dec586f3738)

Change-Id: I20afce6cc3213e7f7b3edaef91f3ec29c469f877

9 years agoam a303e25e: am 9f7687cb: Quick: Fix optimizations for empty if blocks.
Vladimir Marko [Fri, 19 Jun 2015 16:15:45 +0000 (16:15 +0000)]
am a303e25e: am 9f7687cb: Quick: Fix optimizations for empty if blocks.

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

9 years agoam 1863c0ef: am dd3c7d2d: ART: Remove old DCHECK that trips Baseline
David Brazdil [Fri, 19 Jun 2015 16:14:39 +0000 (16:14 +0000)]
am 1863c0ef: am dd3c7d2d: ART: Remove old DCHECK that trips Baseline

* commit '1863c0efb56adde858a5aca502c625f89e17873d':
  ART: Remove old DCHECK that trips Baseline

9 years agoam 0a487e74: (-s ours) am 122349a7: Merge "Fix StringChange for optimizing compiler...
Jeff Hao [Fri, 19 Jun 2015 16:13:49 +0000 (16:13 +0000)]
am 0a487e74: (-s ours) am 122349a7: Merge "Fix StringChange for optimizing compiler." into mnc-dev

* commit '0a487e74549876f597d2dad41bbf30ef576df440':
  Fix StringChange for optimizing compiler.

9 years agoam 759662ef: am 87a135e8: Merge "Be careful with predecessor/successor index."
Nicolas Geoffray [Fri, 19 Jun 2015 16:06:12 +0000 (16:06 +0000)]
am 759662ef: am 87a135e8: Merge "Be careful with predecessor/successor index."

* commit '759662ef35b45d9b260dbc896c91048574e6bffe':
  Be careful with predecessor/successor index.

9 years agoam aeace8f4: am ff3fd957: Merge "Quick: Fix optimizations for empty if blocks."
Vladimir Marko [Fri, 19 Jun 2015 16:06:11 +0000 (16:06 +0000)]
am aeace8f4: am ff3fd957: Merge "Quick: Fix optimizations for empty if blocks."

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

9 years agoam 87a135e8: Merge "Be careful with predecessor/successor index."
Nicolas Geoffray [Fri, 19 Jun 2015 16:00:41 +0000 (16:00 +0000)]
am 87a135e8: Merge "Be careful with predecessor/successor index."

* commit '87a135e8699119c9ef99b0221acf481d7d6501d4':
  Be careful with predecessor/successor index.

9 years agoam 9f7687cb: Quick: Fix optimizations for empty if blocks.
Vladimir Marko [Fri, 19 Jun 2015 15:54:25 +0000 (15:54 +0000)]
am 9f7687cb: Quick: Fix optimizations for empty if blocks.

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

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 "Be careful with predecessor/successor index."
Nicolas Geoffray [Fri, 19 Jun 2015 15:52:24 +0000 (15:52 +0000)]
Merge "Be careful with predecessor/successor index."

9 years agoBe careful with predecessor/successor index.
Nicolas Geoffray [Fri, 19 Jun 2015 15:17:05 +0000 (16:17 +0100)]
Be careful with predecessor/successor index.

When we simplify the CFG, we must preserve things that were already
simplified. For example, the index in the predecessor list or
successor list of a block must be preserved for ensuring the
first block is a loop pre header.

bug:21867463

Change-Id: Ic3fcb3eb2c3fb109d8a57ee2a6b6d4d65fdb9410

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 e15aa290: am dbc0345e: Merge "Opt compiler: Add a description to MIP64 slow paths."
Roland Levillain [Fri, 19 Jun 2015 15:34:34 +0000 (15:34 +0000)]
am e15aa290: am dbc0345e: Merge "Opt compiler: Add a description to MIP64 slow paths."

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

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 agoam d0c4279a: am 7ed9cec8: Merge "MIPS: Initial version of optimizing compiler for...
Roland Levillain [Fri, 19 Jun 2015 15:16:02 +0000 (15:16 +0000)]
am d0c4279a: am 7ed9cec8: Merge "MIPS: Initial version of optimizing compiler for MIPS64R6."

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

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 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

(cherry picked from commit f11c420c448baffac6a70ac0884d481ab347e257)

Change-Id: I062e0042de3470ce8680b586487b9c7acbd206bc

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 6cec8674: am 71af6f7a: Merge "Opt compiler: Add a description to slow paths."
David Brazdil [Fri, 19 Jun 2015 14:42:33 +0000 (14:42 +0000)]
am 6cec8674: am 71af6f7a: Merge "Opt compiler: Add a description to slow paths."

* commit '6cec86742a283d4c455583ce5578ebb0d85aa82d':
  Opt compiler: Add a description to slow paths.

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: Handle total high/low register overlap on arm/mips.
Vladimir Marko [Fri, 19 Jun 2015 13:56:38 +0000 (14:56 +0100)]
Quick: Handle total high/low register overlap on arm/mips.

OpRegCopyWide() in arm and mips backends didn't handle the
total register overlap when the registers holding the source
and destination pairs are the same but in reverse order.

Bug: 21897012
Change-Id: Ia1f0005cbf5cc1c2d30899575dea21b3efa20ae6

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 agoam 2812995b: am 6e82168b: Fix moving GC bug in DoFilledNewArray
Mathieu Chartier [Fri, 19 Jun 2015 13:57:57 +0000 (13:57 +0000)]
am 2812995b: am 6e82168b: Fix moving GC bug in DoFilledNewArray

* commit '2812995bd1ded58979e5cf982b4c5db66ffd4910':
  Fix moving GC bug in DoFilledNewArray

9 years agoam e2e271fd: am dfc5db6a: Fix moving GC bugs in proxy stub for X86/X86_64
Mathieu Chartier [Fri, 19 Jun 2015 13:56:54 +0000 (13:56 +0000)]
am e2e271fd: am dfc5db6a: Fix moving GC bugs in proxy stub for X86/X86_64

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

9 years agoam c82e3578: am bf1fa2cc: Follow up on CL 151605
Sebastien Hertz [Fri, 19 Jun 2015 13:55:52 +0000 (13:55 +0000)]
am c82e3578: am bf1fa2cc: Follow up on CL 151605

* commit 'c82e3578544faffcd0de344b4f279b199386ea2d':
  Follow up on CL 151605

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 d4e48922: am 97d207c3: Merge "Use compiling class instead of referrer for access...
Nicolas Geoffray [Fri, 19 Jun 2015 13:24:03 +0000 (13:24 +0000)]
am d4e48922: am 97d207c3: Merge "Use compiling class instead of referrer for access checks."

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

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 be91f759: am d8d7b90c: Merge "Do not expect 0 or 1 only when comparing a boolean."
Nicolas Geoffray [Fri, 19 Jun 2015 11:22:52 +0000 (11:22 +0000)]
am be91f759: am d8d7b90c: Merge "Do not expect 0 or 1 only when comparing a boolean."

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

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

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

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 62f5b393: am be59b852: Merge "Make Main public to pass tests on all configurations."
Nicolas Geoffray [Fri, 19 Jun 2015 10:30:29 +0000 (10:30 +0000)]
am 62f5b393: am be59b852: Merge "Make Main public to pass tests on all configurations."

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

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 agoam 20ede5b8: am 511b7cb2: Merge "Use the right bug number. Spotted by vmarko."
Nicolas Geoffray [Fri, 19 Jun 2015 10:11:46 +0000 (10:11 +0000)]
am 20ede5b8: am 511b7cb2: Merge "Use the right bug number. Spotted by vmarko."

* commit '20ede5b878df4466a4b3ad5ee00911a41b3ab3e6':
  Use the right bug number. Spotted by vmarko.

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 agoam dd3c7d2d: ART: Remove old DCHECK that trips Baseline
David Brazdil [Fri, 19 Jun 2015 09:34:30 +0000 (09:34 +0000)]
am dd3c7d2d: ART: Remove old DCHECK that trips Baseline

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

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 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
(cherry picked from commit 015c7e63604c038e866d7af3850c557403cddc8b)

9 years agoam 122349a7: Merge "Fix StringChange for optimizing compiler." into mnc-dev
Jeff Hao [Fri, 19 Jun 2015 04:28:05 +0000 (04:28 +0000)]
am 122349a7: Merge "Fix StringChange for optimizing compiler." into mnc-dev

* commit '122349a7672da6636ca94aded7f2d3642f9962e3':
  Fix StringChange for optimizing compiler.

9 years agoFix StringChange for optimizing compiler.
Jeff Hao [Fri, 19 Jun 2015 04:16:08 +0000 (21:16 -0700)]
Fix StringChange for optimizing compiler.

Uses optimizing compiler more and fixes x86_64 invoke codegen.

Bug: 21902634

(cherry-picked from commit e0a9a53ec4b4ccbf9b1d67957fb99a45b469ccc2)

Change-Id: I56881889bee7092b8401b090af1c0f1004c11667

9 years agoMerge "Fix StringChange for optimizing compiler." into mnc-dev
Jeff Hao [Fri, 19 Jun 2015 04:19:08 +0000 (04:19 +0000)]
Merge "Fix StringChange for optimizing compiler." into mnc-dev

9 years agoFix StringChange for optimizing compiler.
Jeff Hao [Fri, 19 Jun 2015 04:16:08 +0000 (21:16 -0700)]
Fix StringChange for optimizing compiler.

Uses optimizing compiler more and fixes x86_64 invoke codegen.

Bug: 21902634
Change-Id: Ia2a87d013c4746b107014a04a22a0a37269cfdb2

9 years agoART stack unwinding fixes for libunwind/gdb/lldb.
David Srbecky [Thu, 23 Apr 2015 01:57:06 +0000 (18:57 -0700)]
ART stack unwinding fixes for libunwind/gdb/lldb.

dex2oat can already generate unwinding and symbol information which
allows tools to create backtrace of mixed native and Java code.

This is a cherry pick from aosp/master which fixes several issues.
Most notably:
 * It enables generation of ELF-64 on 64-bit systems (in dex2oat, C
   compilers already produce ELF-64).  Libunwind requires ELF-64 on
   64-bit systems for backtraces to work.
 * It enables loading of ELF files with dlopen.  This is required for
   libunwind to be able to generate backtrace of current process (i.e.
   the process requesting backtrace of itself).
 * It adds unit test to test the above (32 vs 64 bit, in-proces vs
   out-of-process, application code vs framework code).
 * Some other fixes or clean-ups which should not be of much
   significance but which are easier to include to make the
   important CLs cherry-pick cleanly.

This is squash of the following commits from aosp/master:
  7381010 ART: CFI Test
  e1bbed2 ART: Blacklist CFI test for non-compiled run-tests
  aab9f73 ART: Blacklist CFI test for JIT
  4437219 ART: Blacklist CFI test for Heap Poisoning
  a3a49fe Switch to using ELF-64 for 64-bit architectures.
  297ed22 Write 64-bit address in DWARF if we are on 64-bit architecture.
  24981a1 Set correct size of PT_PHDR ELF segment.
  1a146bf Link .dynamic to .dynstr
  67a0653 Make some parts of ELF more (pointer) aligned.
  f50fa82 Enable 64-bit CFI tests.
  49e1fab Use dlopen to load oat files.
  5dedb80 Add more logging output for dlopen.
  aa03870 Find the dlopened file using address rather than file path.
  82e73dc Release dummy MemMaps corresponding to dlopen.
  5c40961 Test that we can unwind framework code.
  020c543 Add more log output to the CFI test.
  88da3b0 ART: Fix CFI test wrt/ PIC
  a70e5b9 CFI test: kill the other process in native code.
  ad5fa8c Support generation of CFI in .debug_frame format.
  90688ae Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write.
  97dabb7 Fix build breakage in dwarf_test.
  388d286 Generate just single ARM mapping symbol.
  f898087 Split .oat_patches to multiple sections.
  491a7fe Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write (again).
  8363c77 Add --generate-debug-info flag and remove the other two flags.
  461d72a Generate debug info for core.oat files.

Bug: 21924613
Change-Id: I3f944a08dd2ed1df4d8a807da4fee423fdd35eb7

9 years agoam 6e82168b: Fix moving GC bug in DoFilledNewArray
Mathieu Chartier [Fri, 19 Jun 2015 00:41:44 +0000 (00:41 +0000)]
am 6e82168b: Fix moving GC bug in DoFilledNewArray

* commit '6e82168bcb339b162f8fac1034a1153eec421eae':
  Fix moving GC bug in DoFilledNewArray

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

* commit '4acbbe7c347af68c2216304cb02a8947a7f49c2b':
  Fix moving GC bug in DoFilledNewArray

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 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

(cherry picked from commit 52ea33b10370d60d4ce877aec529626537b7813b)

Change-Id: I5283982edab479434e27416509e1436b4176fe01

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 agoresolved conflicts for merge of 23b4feeb to mnc-dev-plus-aosp
Mingyao Yang [Thu, 18 Jun 2015 23:43:34 +0000 (16:43 -0700)]
resolved conflicts for merge of 23b4feeb to mnc-dev-plus-aosp

Change-Id: I2fc26211d276d7af21f254802c215aaf3deecd53

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

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

9 years agoam dfc5db6a: Fix moving GC bugs in proxy stub for X86/X86_64
Mathieu Chartier [Thu, 18 Jun 2015 22:56:01 +0000 (22:56 +0000)]
am dfc5db6a: Fix moving GC bugs in proxy stub for X86/X86_64

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

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 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.

(cherry picked from commit 9346ff0cfad6344d0bf4eaa69362dbe1987ac054)

Bug: 21907554
Change-Id: I562906dff07dcaa78dfb39646ba9ab35a5f56c6c

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 bf1fa2cc: Follow up on CL 151605
Sebastien Hertz [Thu, 18 Jun 2015 21:36:05 +0000 (21:36 +0000)]
am bf1fa2cc: Follow up on CL 151605

* commit 'bf1fa2ccb5e7409910b99dc46b616e44c66ade68':
  Follow up on CL 151605

9 years agoam ef484d44: Fix nested deoptimization.
Mingyao Yang [Thu, 18 Jun 2015 21:21:40 +0000 (21:21 +0000)]
am ef484d44: Fix nested deoptimization.

* commit 'ef484d442a3dcae2cd1842c5be0623f5cf71e4ab':
  Fix nested deoptimization.

9 years agoFollow up on CL 151605
Sebastien Hertz [Tue, 9 Jun 2015 12:09:14 +0000 (14:09 +0200)]
Follow up on CL 151605

- Fixes return type of StackedShadowFrameRecord::GetType
- Makes StackedShadowFrameType an enum class (scoped enum)
- Moves DeoptimizationReturnValueRecord and StackedShadowFrameRecord
  to thread.cc file and use forward declaration in thread.h header
- Fixes tools/generate-operator-out.py for scoped enum classes.

Bug: 20845490

(cherry picked from commit f795869da0a1fa006fdcdacd8afb6149a63fc1a7)

Change-Id: I6b67e288b1db563699161e58ec2e2330d42dd8f5

9 years agoFix nested deoptimization.
Mingyao Yang [Mon, 18 May 2015 19:12:50 +0000 (12:12 -0700)]
Fix nested deoptimization.

Handle nested deoptimization cases. Create a stacked shadow frame
records to keep track of deoptimization shadow frames. Shadow frames
under construction can be tracked in the same stack.

Bug: 20845490

(cherry picked from commit 1f2d3ba6af52cf6f566deb38b7e07735c9a08fb6)

Change-Id: I768285792c29e7c3cfcd21e7a2600802506024d8

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

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

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

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

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"