OSDN Git Service

android-x86/art.git
9 years agoam 3d10308c: am 13df71ce: Merge "Bring Reference Type Propagation to NewArray"
Nicolas Geoffray [Wed, 27 May 2015 17:43:27 +0000 (17:43 +0000)]
am 3d10308c: am 13df71ce: Merge "Bring Reference Type Propagation to NewArray"

* commit '3d10308ca03586a2d44a37cd3ed2e49540d705ac':
  Bring Reference Type Propagation to NewArray

9 years agoam 38b719a9: am 55bf5b4f: Merge "Improve art::CodeInfo dumping."
Roland Levillain [Wed, 27 May 2015 17:43:26 +0000 (17:43 +0000)]
am 38b719a9: am 55bf5b4f: Merge "Improve art::CodeInfo dumping."

* commit '38b719a929029a87dc69e40e937c41cd733ac60e':
  Improve art::CodeInfo dumping.

9 years agoam 70fc85ec: am 19b6ab4c: Merge "Rename VisitCondition\'s argument in code generators."
Roland Levillain [Wed, 27 May 2015 17:43:24 +0000 (17:43 +0000)]
am 70fc85ec: am 19b6ab4c: Merge "Rename VisitCondition\'s argument in code generators."

* commit '70fc85ec0a2ac4fb229648ff2ca8ef55337a4895':
  Rename VisitCondition's argument in code generators.

9 years agoam 13df71ce: Merge "Bring Reference Type Propagation to NewArray"
Nicolas Geoffray [Wed, 27 May 2015 17:26:40 +0000 (17:26 +0000)]
am 13df71ce: Merge "Bring Reference Type Propagation to NewArray"

* commit '13df71cea8c774d28e834497288f67cb2bbb16b0':
  Bring Reference Type Propagation to NewArray

9 years agoam 55bf5b4f: Merge "Improve art::CodeInfo dumping."
Roland Levillain [Wed, 27 May 2015 17:26:38 +0000 (17:26 +0000)]
am 55bf5b4f: Merge "Improve art::CodeInfo dumping."

* commit '55bf5b4f1a570fb10d7ba8c91ac49c6bc16639ac':
  Improve art::CodeInfo dumping.

9 years agoam 19b6ab4c: Merge "Rename VisitCondition\'s argument in code generators."
Roland Levillain [Wed, 27 May 2015 17:26:37 +0000 (17:26 +0000)]
am 19b6ab4c: Merge "Rename VisitCondition\'s argument in code generators."

* commit '19b6ab4c71a1eafad755648820fa23306a4d0fb4':
  Rename VisitCondition's argument in code generators.

9 years agoMerge "Bring Reference Type Propagation to NewArray"
Nicolas Geoffray [Wed, 27 May 2015 17:13:03 +0000 (17:13 +0000)]
Merge "Bring Reference Type Propagation to NewArray"

9 years agoBring Reference Type Propagation to NewArray
Guillaume "Vermeille" Sanchez [Wed, 20 May 2015 11:42:25 +0000 (12:42 +0100)]
Bring Reference Type Propagation to NewArray

Change-Id: Ieff4f38854e06b0ed4b5689ced94a4289053d80d

9 years agoMerge "Improve art::CodeInfo dumping."
Roland Levillain [Wed, 27 May 2015 16:01:50 +0000 (16:01 +0000)]
Merge "Improve art::CodeInfo dumping."

9 years agoMerge "Rename VisitCondition's argument in code generators."
Roland Levillain [Wed, 27 May 2015 16:01:13 +0000 (16:01 +0000)]
Merge "Rename VisitCondition's argument in code generators."

9 years agoRename VisitCondition's argument in code generators.
Roland Levillain [Wed, 27 May 2015 15:39:19 +0000 (16:39 +0100)]
Rename VisitCondition's argument in code generators.

This argument is a condition instruction, not a comparison.

Change-Id: I026f799d2161df58b0c8a84600eb8fffd6f7b998

9 years agoam abc1ea86: am 6c70104d: Merge "[optimizing] x86: Prefer add over lea if possible"
Nicolas Geoffray [Wed, 27 May 2015 14:46:07 +0000 (14:46 +0000)]
am abc1ea86: am 6c70104d: Merge "[optimizing] x86: Prefer add over lea if possible"

* commit 'abc1ea86810726329b9c57d5275a254850853e23':
  [optimizing] x86: Prefer add over lea if possible

9 years agoam 6c70104d: Merge "[optimizing] x86: Prefer add over lea if possible"
Nicolas Geoffray [Wed, 27 May 2015 14:30:29 +0000 (14:30 +0000)]
am 6c70104d: Merge "[optimizing] x86: Prefer add over lea if possible"

* commit '6c70104dc3ecd66b46f56cae068a14e12021c9f2':
  [optimizing] x86: Prefer add over lea if possible

9 years agoImprove art::CodeInfo dumping.
Roland Levillain [Wed, 27 May 2015 14:12:19 +0000 (15:12 +0100)]
Improve art::CodeInfo dumping.

- Refactor existing dumping code into a set of new routines.
- Use art::Indenter to properly indent in the output.
- Add an additional argument to art::CodeInfo::Dump to
  enable or disable the dumping of stack maps and Dex
  register maps.

Change-Id: I52814095ff465522302d5d69d416726369ca5258

9 years agoMerge "[optimizing] x86: Prefer add over lea if possible"
Nicolas Geoffray [Wed, 27 May 2015 14:17:08 +0000 (14:17 +0000)]
Merge "[optimizing] x86: Prefer add over lea if possible"

9 years ago[optimizing] x86: Prefer add over lea if possible
Mark Mendell [Wed, 27 May 2015 14:08:24 +0000 (10:08 -0400)]
[optimizing] x86: Prefer add over lea if possible

Looking at some generated code, I noticed an lea being used when an add
was sufficient.  Check for that case, and generate the add.

Fixed for x86 and x86_64.

Change-Id: I110304ff0fed8837ada96d34353a293d29022ce5
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoam e0cc299f: ART: Use kBadFprBase on mips64 and arm64.
Vladimir Marko [Wed, 27 May 2015 14:03:03 +0000 (14:03 +0000)]
am e0cc299f: ART: Use kBadFprBase on mips64 and arm64.

* commit 'e0cc299fd258b6ce6f19a201ca9fce09910f6e42':
  ART: Use kBadFprBase on mips64 and arm64.

9 years agoam c987b906: am f109cd22: Merge "ART: Use kBadFprBase on mips64 and arm64."
Vladimir Marko [Wed, 27 May 2015 13:48:58 +0000 (13:48 +0000)]
am c987b906: am f109cd22: Merge "ART: Use kBadFprBase on mips64 and arm64."

* commit 'c987b906c53c0efc308b42a5f9c386054350d77d':
  ART: Use kBadFprBase on mips64 and arm64.

9 years agoam a30476d4: am 382f5c24: Merge "Fix another source of undeterministic inlining."
Nicolas Geoffray [Wed, 27 May 2015 13:41:35 +0000 (13:41 +0000)]
am a30476d4: am 382f5c24: Merge "Fix another source of undeterministic inlining."

* commit 'a30476d4969ddf19868671fe029a9ece6ed06356':
  Fix another source of undeterministic inlining.

9 years agoam f109cd22: Merge "ART: Use kBadFprBase on mips64 and arm64."
Vladimir Marko [Wed, 27 May 2015 13:39:49 +0000 (13:39 +0000)]
am f109cd22: Merge "ART: Use kBadFprBase on mips64 and arm64."

* commit 'f109cd2215ba23dac23a15eb64ad21ef2b15843c':
  ART: Use kBadFprBase on mips64 and arm64.

9 years agoART: Use kBadFprBase on mips64 and arm64.
Vladimir Marko [Wed, 27 May 2015 13:07:08 +0000 (14:07 +0100)]
ART: Use kBadFprBase on mips64 and arm64.

Fix incorrect usage of kBadGprBase to avoid misleading and
ambiguous data in crash investigations.

Bug: 21266656

(cherry picked from commit 5b09ea0af468d9232cf725ac7f7e73c145892c5c)

Change-Id: Ia4fc60a5d61471c7a6c8fd0545a897ace43d90be

9 years agoMerge "ART: Use kBadFprBase on mips64 and arm64."
Vladimir Marko [Wed, 27 May 2015 13:32:57 +0000 (13:32 +0000)]
Merge "ART: Use kBadFprBase on mips64 and arm64."

9 years agoam 382f5c24: Merge "Fix another source of undeterministic inlining."
Nicolas Geoffray [Wed, 27 May 2015 13:26:38 +0000 (13:26 +0000)]
am 382f5c24: Merge "Fix another source of undeterministic inlining."

* commit '382f5c24eb663ca8fa39a94a038349138a00272a':
  Fix another source of undeterministic inlining.

9 years agoMerge "Fix another source of undeterministic inlining."
Nicolas Geoffray [Wed, 27 May 2015 13:14:27 +0000 (13:14 +0000)]
Merge "Fix another source of undeterministic inlining."

9 years agoART: Use kBadFprBase on mips64 and arm64.
Vladimir Marko [Wed, 27 May 2015 13:07:08 +0000 (14:07 +0100)]
ART: Use kBadFprBase on mips64 and arm64.

Fix incorrect usage of kBadGprBase to avoid misleading and
ambiguous data in crash investigations.

Bug: 21266656
Change-Id: I1de6cd621d770be586f8140e86833769865b42c6

9 years agoFix another source of undeterministic inlining.
Nicolas Geoffray [Wed, 27 May 2015 11:53:36 +0000 (12:53 +0100)]
Fix another source of undeterministic inlining.

bug:20037935

Change-Id: Ifad234a331ec616f065aabc65576c5636ad8ec21

9 years agoam feb05a78: am 00f09ff9: Merge "Pass the dex method index directly to interface...
Nicolas Geoffray [Wed, 27 May 2015 11:34:42 +0000 (11:34 +0000)]
am feb05a78: am 00f09ff9: Merge "Pass the dex method index directly to interface trampoline."

* commit 'feb05a785f5040cdd1196b599864680384933a7d':
  Pass the dex method index directly to interface trampoline.

9 years agoam 00f09ff9: Merge "Pass the dex method index directly to interface trampoline."
Nicolas Geoffray [Wed, 27 May 2015 11:21:15 +0000 (11:21 +0000)]
am 00f09ff9: Merge "Pass the dex method index directly to interface trampoline."

* commit '00f09ff93480d5f43aaf657650a59d57330184aa':
  Pass the dex method index directly to interface trampoline.

9 years agoMerge "Pass the dex method index directly to interface trampoline."
Nicolas Geoffray [Wed, 27 May 2015 11:08:51 +0000 (11:08 +0000)]
Merge "Pass the dex method index directly to interface trampoline."

9 years agoPass the dex method index directly to interface trampoline.
Nicolas Geoffray [Tue, 26 May 2015 15:29:08 +0000 (16:29 +0100)]
Pass the dex method index directly to interface trampoline.

This avoids computing the dex pc and re-finding the method
index again. I have kept the code for kDebugBuild.

Change-Id: Icd60e0deade755e32b54021c0875b1af592b8c3e

9 years agoam 2b3f42e0: Add missing oatdump test dependency
Mathieu Chartier [Wed, 27 May 2015 05:32:11 +0000 (05:32 +0000)]
am 2b3f42e0: Add missing oatdump test dependency

* commit '2b3f42e084d1a6c991a19f3b591772ccbdcc05df':
  Add missing oatdump test dependency

9 years agoam c9309806: Add oatdump test
Mathieu Chartier [Wed, 27 May 2015 05:32:10 +0000 (05:32 +0000)]
am c9309806: Add oatdump test

* commit 'c93098060708b7a24c937b420a071cf6bdcf33f7':
  Add oatdump test

9 years agoam 49bf35b5: am ec1170a4: Merge "Add missing oatdump test dependency"
Mathieu Chartier [Wed, 27 May 2015 03:23:48 +0000 (03:23 +0000)]
am 49bf35b5: am ec1170a4: Merge "Add missing oatdump test dependency"

* commit '49bf35b5b9d9bf48d2cb8137bb72199b257fbee5':
  Add missing oatdump test dependency

9 years agoam ec1170a4: Merge "Add missing oatdump test dependency"
Mathieu Chartier [Wed, 27 May 2015 03:09:05 +0000 (03:09 +0000)]
am ec1170a4: Merge "Add missing oatdump test dependency"

* commit 'ec1170a4bf9d1c0baa00640d2cbc1e6870bc7f68':
  Add missing oatdump test dependency

9 years agoMerge "Add missing oatdump test dependency"
Mathieu Chartier [Wed, 27 May 2015 02:57:09 +0000 (02:57 +0000)]
Merge "Add missing oatdump test dependency"

9 years agoAdd missing oatdump test dependency
Mathieu Chartier [Wed, 27 May 2015 02:48:16 +0000 (19:48 -0700)]
Add missing oatdump test dependency

(cherry picked from commit ea216b3abf96d4121a96e8fdab5ce97d7f4d1c2b)

Bug: 18000316
Change-Id: Ic828e8be8e5d3ef7e112facd0db57013740d449a

9 years agoAdd missing oatdump test dependency
Mathieu Chartier [Wed, 27 May 2015 02:48:16 +0000 (19:48 -0700)]
Add missing oatdump test dependency

Bug: 18000316
Change-Id: Ic828e8be8e5d3ef7e112facd0db57013740d449a

9 years agoam eb47b9f4: am 7c1a58bb: Merge "Add oatdump test"
Mathieu Chartier [Wed, 27 May 2015 02:00:22 +0000 (02:00 +0000)]
am eb47b9f4: am 7c1a58bb: Merge "Add oatdump test"

* commit 'eb47b9f449e80c6410c1844c201282b0ec68cee4':
  Add oatdump test

9 years agoam 7c1a58bb: Merge "Add oatdump test"
Mathieu Chartier [Wed, 27 May 2015 01:42:45 +0000 (01:42 +0000)]
am 7c1a58bb: Merge "Add oatdump test"

* commit '7c1a58bb2316fc5bc47b35ed9772454d2d061352':
  Add oatdump test

9 years agoAdd oatdump test
Mathieu Chartier [Tue, 26 May 2015 21:44:35 +0000 (14:44 -0700)]
Add oatdump test

(cherry picked from commit 19510f02b011e545665f6219e6144c8e47aed5f0)

Bug: 18000316

Change-Id: Ic22d63dc64a9b7a492b5e6bfbd4c75f30c35dfd5

9 years agoMerge "Add oatdump test"
Mathieu Chartier [Wed, 27 May 2015 01:27:16 +0000 (01:27 +0000)]
Merge "Add oatdump test"

9 years agoAdd oatdump test
Mathieu Chartier [Tue, 26 May 2015 21:44:35 +0000 (14:44 -0700)]
Add oatdump test

Bug: 18000316

Change-Id: Ic22d63dc64a9b7a492b5e6bfbd4c75f30c35dfd5

9 years agoam 61a44f4a: am eabafcef: Merge "Fix alloc-dealloc-mismatch (new[] vs delete) in...
Evgenii Stepanov [Tue, 26 May 2015 22:16:23 +0000 (22:16 +0000)]
am 61a44f4a: am eabafcef: Merge "Fix alloc-dealloc-mismatch (new[] vs delete) in tests."

* commit '61a44f4a5ebf8620d0a1920b193cdd80e254d571':
  Fix alloc-dealloc-mismatch (new[] vs delete) in tests.

9 years agoam be83c969: am 2dde2a17: Merge "Switch to using .debug_frame for CFI."
David Srbecky [Tue, 26 May 2015 22:16:22 +0000 (22:16 +0000)]
am be83c969: am 2dde2a17: Merge "Switch to using .debug_frame for CFI."

* commit 'be83c9696a2f12a8c2cd328622c2aaf033ed965d':
  Switch to using .debug_frame for CFI.

9 years agoam f52a381c: am 6f3891ce: Merge "Generate just single ARM mapping symbol."
David Srbecky [Tue, 26 May 2015 22:16:21 +0000 (22:16 +0000)]
am f52a381c: am 6f3891ce: Merge "Generate just single ARM mapping symbol."

* commit 'f52a381cbd73c9f79a570c9dc45ef5b5b481fa28':
  Generate just single ARM mapping symbol.

9 years agoam eabafcef: Merge "Fix alloc-dealloc-mismatch (new[] vs delete) in tests."
Evgenii Stepanov [Tue, 26 May 2015 22:01:39 +0000 (22:01 +0000)]
am eabafcef: Merge "Fix alloc-dealloc-mismatch (new[] vs delete) in tests."

* commit 'eabafcefca8ead8309dccc1c5510e6e0845e471d':
  Fix alloc-dealloc-mismatch (new[] vs delete) in tests.

9 years agoam 2dde2a17: Merge "Switch to using .debug_frame for CFI."
David Srbecky [Tue, 26 May 2015 22:01:37 +0000 (22:01 +0000)]
am 2dde2a17: Merge "Switch to using .debug_frame for CFI."

* commit '2dde2a17bfeca795d2ab17795952770487d848b0':
  Switch to using .debug_frame for CFI.

9 years agoam 6f3891ce: Merge "Generate just single ARM mapping symbol."
David Srbecky [Tue, 26 May 2015 22:01:36 +0000 (22:01 +0000)]
am 6f3891ce: Merge "Generate just single ARM mapping symbol."

* commit '6f3891cea11de6e247111563f49136e222f02b1c':
  Generate just single ARM mapping symbol.

9 years agoMerge "Fix alloc-dealloc-mismatch (new[] vs delete) in tests."
Evgenii Stepanov [Tue, 26 May 2015 21:49:25 +0000 (21:49 +0000)]
Merge "Fix alloc-dealloc-mismatch (new[] vs delete) in tests."

9 years agoMerge "Switch to using .debug_frame for CFI."
David Srbecky [Tue, 26 May 2015 21:46:40 +0000 (21:46 +0000)]
Merge "Switch to using .debug_frame for CFI."

9 years agoMerge "Generate just single ARM mapping symbol."
David Srbecky [Tue, 26 May 2015 21:45:59 +0000 (21:45 +0000)]
Merge "Generate just single ARM mapping symbol."

9 years agoFix alloc-dealloc-mismatch (new[] vs delete) in tests.
Evgenii Stepanov [Tue, 26 May 2015 21:44:23 +0000 (14:44 -0700)]
Fix alloc-dealloc-mismatch (new[] vs delete) in tests.

Change-Id: I680eaf819f7d7d3a4149c833b6739cba4b7e21be

9 years agoam a22b2c1b: am e83635d0: Merge "Fix mac build: cast fpr callee save addresses."
Vladimir Marko [Tue, 26 May 2015 20:18:37 +0000 (20:18 +0000)]
am a22b2c1b: am e83635d0: Merge "Fix mac build: cast fpr callee save addresses."

* commit 'a22b2c1bf1313ec95007c01deaa1f676830a9260':
  Fix mac build: cast fpr callee save addresses.

9 years agoam 61833c56: Fix mac build: cast fpr callee save addresses.
Vladimir Marko [Tue, 26 May 2015 20:15:56 +0000 (20:15 +0000)]
am 61833c56: Fix mac build: cast fpr callee save addresses.

* commit '61833c56398998d1855f744818212b12c5f8689a':
  Fix mac build: cast fpr callee save addresses.

9 years agoam e83635d0: Merge "Fix mac build: cast fpr callee save addresses."
Vladimir Marko [Tue, 26 May 2015 20:01:33 +0000 (20:01 +0000)]
am e83635d0: Merge "Fix mac build: cast fpr callee save addresses."

* commit 'e83635d05b80d7e933f868431f6043aef04fd589':
  Fix mac build: cast fpr callee save addresses.

9 years agoMerge "Fix mac build: cast fpr callee save addresses."
Vladimir Marko [Tue, 26 May 2015 19:51:30 +0000 (19:51 +0000)]
Merge "Fix mac build: cast fpr callee save addresses."

9 years agoam f2383d6b: Fix mac build: include <sys/time.h> in time_utils.cc .
Vladimir Marko [Tue, 26 May 2015 19:49:35 +0000 (19:49 +0000)]
am f2383d6b: Fix mac build: include <sys/time.h> in time_utils.cc .

* commit 'f2383d6b754a8fa23617149a008aa2ab9fcf0adf':
  Fix mac build: include <sys/time.h> in time_utils.cc .

9 years agoFix mac build: cast fpr callee save addresses.
Vladimir Marko [Tue, 26 May 2015 19:42:30 +0000 (20:42 +0100)]
Fix mac build: cast fpr callee save addresses.

Bring back reinterpret_cast<>s removed by
    https://android-review.googlesource.com/151309 .
They are needed for mac builds.

Bug : 13925192

(cherry picked from commit 0eb42511405f3919572a480a009426dfb776cfb5)

Change-Id: If6e0cdbadcc84a046abe03d7eca5cccd0a50d141

9 years agoam 38877aaa: am 5c592b59: Merge "Fix mac build: include <sys/time.h> in time_utils...
Vladimir Marko [Tue, 26 May 2015 19:43:09 +0000 (19:43 +0000)]
am 38877aaa: am 5c592b59: Merge "Fix mac build: include <sys/time.h> in time_utils.cc ."

* commit '38877aaae955494b90da09b8e73412f9d5e01b9e':
  Fix mac build: include <sys/time.h> in time_utils.cc .

9 years agoFix mac build: cast fpr callee save addresses.
Vladimir Marko [Tue, 26 May 2015 19:42:30 +0000 (20:42 +0100)]
Fix mac build: cast fpr callee save addresses.

Bring back reinterpret_cast<>s removed by
    https://android-review.googlesource.com/151309 .
They are needed for mac builds.

Bug : 13925192

Change-Id: I7728c39a867a278000c84d75440b31e818c3bfcf

9 years agoam 5c592b59: Merge "Fix mac build: include <sys/time.h> in time_utils.cc ."
Vladimir Marko [Tue, 26 May 2015 19:30:23 +0000 (19:30 +0000)]
am 5c592b59: Merge "Fix mac build: include <sys/time.h> in time_utils.cc ."

* commit '5c592b598742569be4819bdc0e32242a4e1a7693':
  Fix mac build: include <sys/time.h> in time_utils.cc .

9 years agoMerge "Fix mac build: include <sys/time.h> in time_utils.cc ."
Vladimir Marko [Tue, 26 May 2015 19:19:44 +0000 (19:19 +0000)]
Merge "Fix mac build: include <sys/time.h> in time_utils.cc ."

9 years agoFix mac build: include <sys/time.h> in time_utils.cc .
Vladimir Marko [Tue, 26 May 2015 18:57:30 +0000 (19:57 +0100)]
Fix mac build: include <sys/time.h> in time_utils.cc .

Required for gettimeofday(). Not needed in utils.cc .

Bug: 13925192

(cherry picked from commit ce39200492e2715a94d96fbd39fa42b46115c255)

Change-Id: If40694965b84605819cac11a7937821aa74db82b

9 years agoFix mac build: include <sys/time.h> in time_utils.cc .
Vladimir Marko [Tue, 26 May 2015 18:57:30 +0000 (19:57 +0100)]
Fix mac build: include <sys/time.h> in time_utils.cc .

Required for gettimeofday(). Not needed in utils.cc .

Bug: 13925192
Change-Id: If06840d8a47c9193ccc7bd4cee5c16fcf76d9729

9 years agoam 41b175ab: ART: Clean up arm64 kNumberOfXRegisters usage.
Vladimir Marko [Tue, 26 May 2015 19:04:29 +0000 (19:04 +0000)]
am 41b175ab: ART: Clean up arm64 kNumberOfXRegisters usage.

* commit '41b175aba41c9365a1c53b8a1afbd17129c87c14':
  ART: Clean up arm64 kNumberOfXRegisters usage.

9 years agoART: Clean up arm64 kNumberOfXRegisters usage.
Vladimir Marko [Tue, 19 May 2015 17:08:00 +0000 (18:08 +0100)]
ART: Clean up arm64 kNumberOfXRegisters usage.

Avoid undefined behavior for arm64 stemming from 1u << 32 in
loops with upper bound kNumberOfXRegisters.

Create iterators for enumerating bits in an integer either
from high to low or from low to high and use them for
<arch>Context::FillCalleeSaves() on all architectures.

Refactor runtime/utils.{h,cc} by moving all bit-fiddling
functions to runtime/base/bit_utils.{h,cc} (together with
the new bit iterators) and all time-related functions to
runtime/base/time_utils.{h,cc}. Improve test coverage and
fix some corner cases for the bit-fiddling functions.

Bug: 13925192

(cherry picked from commit 80afd02024d20e60b197d3adfbb43cc303cf29e0)

Change-Id: I905257a21de90b5860ebe1e39563758f721eab82

9 years agoam 93b165ba: am dc31313c: Merge "ART: Clean up arm64 kNumberOfXRegisters usage."
Vladimir Marko [Tue, 26 May 2015 18:05:10 +0000 (18:05 +0000)]
am 93b165ba: am dc31313c: Merge "ART: Clean up arm64 kNumberOfXRegisters usage."

* commit '93b165ba31d29eabc342465164abe206849d6b29':
  ART: Clean up arm64 kNumberOfXRegisters usage.

9 years agoam dc31313c: Merge "ART: Clean up arm64 kNumberOfXRegisters usage."
Vladimir Marko [Tue, 26 May 2015 17:53:58 +0000 (17:53 +0000)]
am dc31313c: Merge "ART: Clean up arm64 kNumberOfXRegisters usage."

* commit 'dc31313c4577bb4c00d90774159c84e738ed348d':
  ART: Clean up arm64 kNumberOfXRegisters usage.

9 years agoMerge "ART: Clean up arm64 kNumberOfXRegisters usage."
Vladimir Marko [Tue, 26 May 2015 17:42:31 +0000 (17:42 +0000)]
Merge "ART: Clean up arm64 kNumberOfXRegisters usage."

9 years agoam 5521d4df: am 03b5a398: Merge "Fix for potential moving GC bugs around proxy class."
Hiroshi Yamauchi [Tue, 26 May 2015 17:25:26 +0000 (17:25 +0000)]
am 5521d4df: am 03b5a398: Merge "Fix for potential moving GC bugs around proxy class."

* commit '5521d4df5d4578b494f03084c0ca87c872d3aede':
  Fix for potential moving GC bugs around proxy class.

9 years agoam 789df57a: am 1b742fcc: Merge "Log the process memory maps on host SIGSEGV."
Hiroshi Yamauchi [Tue, 26 May 2015 17:25:24 +0000 (17:25 +0000)]
am 789df57a: am 1b742fcc: Merge "Log the process memory maps on host SIGSEGV."

* commit '789df57aa236e07ce33258e0a11e9f8b5a12b2ac':
  Log the process memory maps on host SIGSEGV.

9 years agoam 03b5a398: Merge "Fix for potential moving GC bugs around proxy class."
Hiroshi Yamauchi [Tue, 26 May 2015 17:15:38 +0000 (17:15 +0000)]
am 03b5a398: Merge "Fix for potential moving GC bugs around proxy class."

* commit '03b5a398a96ea29c39ddfe3d810245b868d2871f':
  Fix for potential moving GC bugs around proxy class.

9 years agoam 1b742fcc: Merge "Log the process memory maps on host SIGSEGV."
Hiroshi Yamauchi [Tue, 26 May 2015 17:15:36 +0000 (17:15 +0000)]
am 1b742fcc: Merge "Log the process memory maps on host SIGSEGV."

* commit '1b742fccf9ca68b783fdbd559a3fcbdafab48852':
  Log the process memory maps on host SIGSEGV.

9 years agoMerge "Fix for potential moving GC bugs around proxy class."
Hiroshi Yamauchi [Tue, 26 May 2015 17:02:43 +0000 (17:02 +0000)]
Merge "Fix for potential moving GC bugs around proxy class."

9 years agoMerge "Log the process memory maps on host SIGSEGV."
Hiroshi Yamauchi [Tue, 26 May 2015 17:01:24 +0000 (17:01 +0000)]
Merge "Log the process memory maps on host SIGSEGV."

9 years agoFix for potential moving GC bugs around proxy class.
Hiroshi Yamauchi [Thu, 21 May 2015 19:05:27 +0000 (12:05 -0700)]
Fix for potential moving GC bugs around proxy class.

- Handlerize proxy_class which is live across multiple allocation
  points in ClassLinker::CreateProxyClass().

- In ClassLinker::CreateProxyClass(), insert a proxy class into the
  class table before creating ArtFields for it (and update it later in
  LinkClass()) because the field roots (ArtField::declaring_class_)
  won't be updated by GC unless the class is in the class table. If GC
  happens before they are updated by FixupTemporaryDeclaringClass()
  from LinkClass(), FixupTemporaryDeclaringClass() may not update the
  field roots correctly because the old class may already be moved but
  the fields roots may not. Reduce a window of time where the fields
  roots could be stale.

- In ClassLinker::LinkClass(), directly wrap a new class in a handle
  to avoid a window of time where new_class may be potentially stale.

- Print more diagnostic info about the holder of the field upon a mark
  sweep invalid ref crash.

- Add an additional sanity check in Field::GetArtField().

(cherry pick commit 08d1b5f2296c0f51507b8b443f4e39dfc161572c)

Bug: 20557050

Change-Id: I9ad32d304922da96b7e1fad262d97de21cbac776

9 years agoam 54d65738: JDWP: fix breakpoint on catch statement
Sebastien Hertz [Tue, 26 May 2015 15:53:39 +0000 (15:53 +0000)]
am 54d65738: JDWP: fix breakpoint on catch statement

* commit '54d65738eecc1fa79ed528ff2f6b9b4f7a4743be':
  JDWP: fix breakpoint on catch statement

9 years agoART: Clean up arm64 kNumberOfXRegisters usage.
Vladimir Marko [Tue, 19 May 2015 17:08:00 +0000 (18:08 +0100)]
ART: Clean up arm64 kNumberOfXRegisters usage.

Avoid undefined behavior for arm64 stemming from 1u << 32 in
loops with upper bound kNumberOfXRegisters.

Create iterators for enumerating bits in an integer either
from high to low or from low to high and use them for
<arch>Context::FillCalleeSaves() on all architectures.

Refactor runtime/utils.{h,cc} by moving all bit-fiddling
functions to runtime/base/bit_utils.{h,cc} (together with
the new bit iterators) and all time-related functions to
runtime/base/time_utils.{h,cc}. Improve test coverage and
fix some corner cases for the bit-fiddling functions.

Bug: 13925192
Change-Id: I704884dab15b41ecf7a1c47d397ab1c3fc7ee0f7

9 years agoam 3e42c1fe: am c06841da: Merge "Fix a few literals and assertions."
Roland Levillain [Tue, 26 May 2015 14:58:11 +0000 (14:58 +0000)]
am 3e42c1fe: am c06841da: Merge "Fix a few literals and assertions."

* commit '3e42c1fe062e72003fc9cba44b473fd21477854a':
  Fix a few literals and assertions.

9 years agoam 4c3916b4: am 41f27292: Merge "Move the catalog after the stack maps."
Nicolas Geoffray [Tue, 26 May 2015 14:58:10 +0000 (14:58 +0000)]
am 4c3916b4: am 41f27292: Merge "Move the catalog after the stack maps."

* commit '4c3916b41167431978f9104c4a94589cdced8c60':
  Move the catalog after the stack maps.

9 years agoam c06841da: Merge "Fix a few literals and assertions."
Roland Levillain [Tue, 26 May 2015 14:46:34 +0000 (14:46 +0000)]
am c06841da: Merge "Fix a few literals and assertions."

* commit 'c06841dac1443e99e92596f15caa82c99bfee010':
  Fix a few literals and assertions.

9 years agoam 41f27292: Merge "Move the catalog after the stack maps."
Nicolas Geoffray [Tue, 26 May 2015 14:46:33 +0000 (14:46 +0000)]
am 41f27292: Merge "Move the catalog after the stack maps."

* commit '41f27292e10792165bfdf67b9a35ccaea1a6872e':
  Move the catalog after the stack maps.

9 years agoMerge "Fix a few literals and assertions."
Roland Levillain [Tue, 26 May 2015 14:43:33 +0000 (14:43 +0000)]
Merge "Fix a few literals and assertions."

9 years agoJDWP: fix breakpoint on catch statement
Sebastien Hertz [Tue, 26 May 2015 09:53:39 +0000 (11:53 +0200)]
JDWP: fix breakpoint on catch statement

Setting a breakpoint on a catch statement in the source actually
installs the breakpoint on a DEX move-exception instruction. At this
point, an exception is pending in the current thread.

The issue is no exception must be pending in the current thread to
report the breakpoint event. This is required to be able to call JNI
functions to create JDWP ids.

This CL fixes it by clearing the pending exception before reporting
event and restore it after reporting the event.

Bug: 21382373

(cherry picked from commit de48aa6708a3d5dacf7db3d64965e23261fb15d3)

Change-Id: Ie107eb47b6f2559c4fa5297f4033e07baad06f38

9 years agoMerge "Move the catalog after the stack maps."
Nicolas Geoffray [Tue, 26 May 2015 14:34:57 +0000 (14:34 +0000)]
Merge "Move the catalog after the stack maps."

9 years agoam 998a2991: am 9470f045: Merge "Make inlining deterministic."
Nicolas Geoffray [Tue, 26 May 2015 14:34:56 +0000 (14:34 +0000)]
am 998a2991: am 9470f045: Merge "Make inlining deterministic."

* commit '998a29916d4c76c684b846149645115d6068947d':
  Make inlining deterministic.

9 years agoam 9470f045: Merge "Make inlining deterministic."
Nicolas Geoffray [Tue, 26 May 2015 14:23:04 +0000 (14:23 +0000)]
am 9470f045: Merge "Make inlining deterministic."

* commit '9470f045c89cdb3de5175266bda523b8a1c2d96d':
  Make inlining deterministic.

9 years agoMove the catalog after the stack maps.
Nicolas Geoffray [Tue, 26 May 2015 14:22:58 +0000 (15:22 +0100)]
Move the catalog after the stack maps.

Fetching a stack map should be cheap, and therefore we should
not compute the size of the catalog.

Change-Id: Iff6accb7832bdfa6d209a0928d6088b8b57c1aa4

9 years agoMerge "Make inlining deterministic."
Nicolas Geoffray [Tue, 26 May 2015 14:12:51 +0000 (14:12 +0000)]
Merge "Make inlining deterministic."

9 years agoFix a few literals and assertions.
Roland Levillain [Tue, 26 May 2015 14:02:07 +0000 (15:02 +0100)]
Fix a few literals and assertions.

Change-Id: I0a1e9db607ec7325e17568b034ba90e68d2298f9

9 years agoam 9ba92a0d: am ce63cf65: Merge "ART: Update graph\'s exit block field if removed"
David Brazdil [Tue, 26 May 2015 13:47:28 +0000 (13:47 +0000)]
am 9ba92a0d: am ce63cf65: Merge "ART: Update graph\'s exit block field if removed"

* commit '9ba92a0d9a37f11f414ea737eb481e56769fd7ae':
  ART: Update graph's exit block field if removed

9 years agoMake inlining deterministic.
Nicolas Geoffray [Tue, 26 May 2015 13:35:06 +0000 (14:35 +0100)]
Make inlining deterministic.

Only the case where two methods are not in the same dex
file could lead to undeterministic behavior.

bug:20037935

Change-Id: I1a7642a979302b17e76d196894437c1aacbbbe9d

9 years agoam ce63cf65: Merge "ART: Update graph\'s exit block field if removed"
David Brazdil [Tue, 26 May 2015 13:34:44 +0000 (13:34 +0000)]
am ce63cf65: Merge "ART: Update graph\'s exit block field if removed"

* commit 'ce63cf656bb5b25051d580a58086f4bf15fb878b':
  ART: Update graph's exit block field if removed

9 years agoMerge "ART: Update graph's exit block field if removed"
David Brazdil [Tue, 26 May 2015 13:23:51 +0000 (13:23 +0000)]
Merge "ART: Update graph's exit block field if removed"

9 years agoam 619c0184: am 092a5656: Merge "JDWP: fix breakpoint on catch statement"
Sebastien Hertz [Tue, 26 May 2015 13:22:30 +0000 (13:22 +0000)]
am 619c0184: am 092a5656: Merge "JDWP: fix breakpoint on catch statement"

* commit '619c01846f6a046ff32f7dfdd5f3b97d98263cf8':
  JDWP: fix breakpoint on catch statement

9 years agoam 092a5656: Merge "JDWP: fix breakpoint on catch statement"
Sebastien Hertz [Tue, 26 May 2015 13:10:55 +0000 (13:10 +0000)]
am 092a5656: Merge "JDWP: fix breakpoint on catch statement"

* commit '092a5656937a319449346e8c356f3f4c2870d81c':
  JDWP: fix breakpoint on catch statement

9 years agoMerge "JDWP: fix breakpoint on catch statement"
Sebastien Hertz [Tue, 26 May 2015 13:00:34 +0000 (13:00 +0000)]
Merge "JDWP: fix breakpoint on catch statement"

9 years agoART: Update graph's exit block field if removed
David Brazdil [Tue, 26 May 2015 11:05:55 +0000 (12:05 +0100)]
ART: Update graph's exit block field if removed

Running DCE on an infinite loop will delete the exit block but the
corresponding field is currently not cleared in the parent graph.
This does not cause any problems at the moment as that information is
only used in codegens to DCHECK that a block is not the exit block.
However, it will be necessary to update the inliner once we start to
inline methods with loops.

With this patch, DCE will update the HGraph::exit_block_ field. DCHECK
was also added to HGraph::InlineInto to make sure that the inlined
graph does have an exit block.

Change-Id: Ia8ddca375bbc6830cd919af6059a52cc9b73a023

9 years agoJDWP: fix breakpoint on catch statement
Sebastien Hertz [Tue, 26 May 2015 09:53:39 +0000 (11:53 +0200)]
JDWP: fix breakpoint on catch statement

Setting a breakpoint on a catch statement in the source actually
installs the breakpoint on a DEX move-exception instruction. At this
point, an exception is pending in the current thread.

The issue is no exception must be pending in the current thread to
report the breakpoint event. This is required to be able to call JNI
functions to create JDWP ids.

This CL fixes it by clearing the pending exception before reporting
event and restore it after reporting the event.

Bug: 21382373
Change-Id: Id3c60cca398135a3e0859a1ccb645b9c99d5ca76

9 years agoam 1883964f: am 8a8d8252: Merge "Do not use dex_compilation_unit after inlining."
Nicolas Geoffray [Tue, 26 May 2015 10:25:24 +0000 (10:25 +0000)]
am 1883964f: am 8a8d8252: Merge "Do not use dex_compilation_unit after inlining."

* commit '1883964f521d01bf841f762d3008b5e17fcf7a50':
  Do not use dex_compilation_unit after inlining.