OSDN Git Service

android-x86/art.git
8 years agoMerge "Fix rosalloc issues with valgrind." am: ad736f19b4
Hiroshi Yamauchi [Fri, 19 Feb 2016 04:49:46 +0000 (04:49 +0000)]
Merge "Fix rosalloc issues with valgrind." am: ad736f19b4
am: 880744da14

* commit '880744da142f955a16148aad486fd743934a5723':
  Fix rosalloc issues with valgrind.

8 years agoMerge "Don\'t pass in oat file name to NativeLocationInImage" am: 5532365a28
Mathieu Chartier [Fri, 19 Feb 2016 04:49:37 +0000 (04:49 +0000)]
Merge "Don\'t pass in oat file name to NativeLocationInImage" am: 5532365a28
am: 378f1bf1c2

* commit '378f1bf1c2c27a32f137f4e78c4267ee28b2ecbc':
  Don't pass in oat file name to NativeLocationInImage

8 years agoMerge "Fix rosalloc issues with valgrind."
Hiroshi Yamauchi [Fri, 19 Feb 2016 02:34:00 +0000 (02:34 +0000)]
Merge "Fix rosalloc issues with valgrind."
am: ad736f19b4

* commit 'ad736f19b4ab0b1767fba9ed124f12e74313fcbb':
  Fix rosalloc issues with valgrind.

8 years agoMerge "Don\'t pass in oat file name to NativeLocationInImage"
Mathieu Chartier [Fri, 19 Feb 2016 02:33:49 +0000 (02:33 +0000)]
Merge "Don\'t pass in oat file name to NativeLocationInImage"
am: 5532365a28

* commit '5532365a289c8c2e8cb827c07058d72eb38f2e1c':
  Don't pass in oat file name to NativeLocationInImage

8 years agoDon\'t pass in oat file name to NativeLocationInImage
Mathieu Chartier [Fri, 19 Feb 2016 01:55:06 +0000 (01:55 +0000)]
Don\'t pass in oat file name to NativeLocationInImage
am: 4ba85a6b88

* commit '4ba85a6b887d3ffc1627ba3e7e9b74522ba926bb':
  Don't pass in oat file name to NativeLocationInImage

8 years agoDon't pass in oat file name to NativeLocationInImage
Mathieu Chartier [Thu, 18 Feb 2016 02:02:40 +0000 (18:02 -0800)]
Don't pass in oat file name to NativeLocationInImage

We already have the oat file name stored in the relocation, using
the one passed in for the image info can cause a mismatch.

I suspect this fixes a bug repated to copied methods where there
was a oat file name mismatch. When we assign the native object
relocation for the methods of a class, we use the dex cache from
that class.

However, we use method's declaring class in NativeLocationVisitor
by using ArtMethod::GetDexCache. This could result in using the
wrong ImageInfo if the declaring class is in another image.

Bug: 27216437

(cherry picked from commit e8bf134734ee7de8b89e6d3e3648de6548d8e627)

Change-Id: I9c764800370d50b2f1f121415a68fa8f25d22e63

8 years agoMerge "Fix rosalloc issues with valgrind."
Hiroshi Yamauchi [Fri, 19 Feb 2016 01:52:38 +0000 (01:52 +0000)]
Merge "Fix rosalloc issues with valgrind."

8 years agoMerge "Don't pass in oat file name to NativeLocationInImage"
Mathieu Chartier [Fri, 19 Feb 2016 01:16:50 +0000 (01:16 +0000)]
Merge "Don't pass in oat file name to NativeLocationInImage"

8 years agoDon't pass in oat file name to NativeLocationInImage
Mathieu Chartier [Thu, 18 Feb 2016 02:02:40 +0000 (18:02 -0800)]
Don't pass in oat file name to NativeLocationInImage

We already have the oat file name stored in the relocation, using
the one passed in for the image info can cause a mismatch.

I suspect this fixes a bug repated to copied methods where there
was a oat file name mismatch. When we assign the native object
relocation for the methods of a class, we use the dex cache from
that class.

However, we use method's declaring class in NativeLocationVisitor
by using ArtMethod::GetDexCache. This could result in using the
wrong ImageInfo if the declaring class is in another image.

Change-Id: I753207f7b773fac182f84ba57c640c09f9ce911f

8 years agoMerge "Disable read barriers in GC VisitReferences calls." am: 6a6a75305d
Hiroshi Yamauchi [Fri, 19 Feb 2016 00:32:16 +0000 (00:32 +0000)]
Merge "Disable read barriers in GC VisitReferences calls." am: 6a6a75305d
am: ebff0807de

* commit 'ebff0807def92ac23ec3672e4ea4a61b5b6c9daf':
  Disable read barriers in GC VisitReferences calls.

8 years agoMerge "Disable read barriers in GC VisitReferences calls."
Hiroshi Yamauchi [Fri, 19 Feb 2016 00:25:11 +0000 (00:25 +0000)]
Merge "Disable read barriers in GC VisitReferences calls."
am: 6a6a75305d

* commit '6a6a75305dcc3344eb51e342e84f32fce9421522':
  Disable read barriers in GC VisitReferences calls.

8 years agoMerge "Disable read barriers in GC VisitReferences calls."
Hiroshi Yamauchi [Fri, 19 Feb 2016 00:17:37 +0000 (00:17 +0000)]
Merge "Disable read barriers in GC VisitReferences calls."

8 years agoDisable read barriers in GC VisitReferences calls.
Hiroshi Yamauchi [Wed, 17 Feb 2016 21:29:59 +0000 (13:29 -0800)]
Disable read barriers in GC VisitReferences calls.

It's safe to disable read barriers in the CC collector's
VisitReferences calls. It speeds up the collector by some amount,
eg. Ritzperf EAAC GC time on N5 decreases by ~4.2%.

This is based on Mathieu Chartier's idea.

Bug: 12687968

Change-Id: I884dee7018f92761fad54269f4cd01db4fa82f2a

8 years agoFix rosalloc issues with valgrind.
Hiroshi Yamauchi [Thu, 18 Feb 2016 23:01:17 +0000 (15:01 -0800)]
Fix rosalloc issues with valgrind.

The issue was that the MemoryToolMallocSpace constructor was
explicitly undefining the tail of the mem map, and when RosAlloc
expanded the space beyond the initial size, it gets errors from using
the zero but undefined (due to the above undefining) memory
content. RosAlloc zeroes memory on free (as opposed to zeroes on
allocation) and relied on the zero-initialized (hence defined in terms
of valgrind) mem map at the initialization time.

Change RosAlloc so that it does explicitly zeroes the entire mem map at
the initialization time and it does not rely on the zero-initialized of
the mem map.

Also, avoid explicitly changing the valgrind state in the
MemoryToolMallocSpace constructor, which happens after the allocator is
initialized because that may interfere with the allocator internal
initialization.

Bug: 27156726
Bug: 9986565

Change-Id: I3b36d2d987c25ce9ff5213278109c425f480b0d9

8 years agoFix issue with copied methods not being checked.
Alex Light [Thu, 18 Feb 2016 21:31:37 +0000 (21:31 +0000)]
Fix issue with copied methods not being checked.
am: d07e1b338d

* commit 'd07e1b338ddedd03728136f136a2c4cb6df50dc4':
  Fix issue with copied methods not being checked.

8 years agoMerge "Fix issue with copied methods not being checked." am: 70e2d7e52a
Alex Light [Thu, 18 Feb 2016 21:24:04 +0000 (21:24 +0000)]
Merge "Fix issue with copied methods not being checked." am: 70e2d7e52a
am: b3dbcb8524

* commit 'b3dbcb852443964f55cfcde960d534dea48e23eb':
  Fix issue with copied methods not being checked.

8 years agoFix issue with copied methods not being checked.
Alex Light [Wed, 17 Feb 2016 19:59:05 +0000 (11:59 -0800)]
Fix issue with copied methods not being checked.

In several places we were using IsMiranda to check if a method is
copied. This misses cases involving default methods.

(cherrypicked commit fcea56f9cc51957161fe7a6e35e895fd8c4c4a7f)

Bug: 27216437

Change-Id: I8c800e3e622a9c0ca0f8752c3d5202f433af9a1c

8 years agoMerge "Fix issue with copied methods not being checked."
Alex Light [Thu, 18 Feb 2016 21:15:40 +0000 (21:15 +0000)]
Merge "Fix issue with copied methods not being checked."
am: 70e2d7e52a

* commit '70e2d7e52ad1ed3226fdfcd3a2439c837f39c334':
  Fix issue with copied methods not being checked.

8 years agoMerge "Fix issue with copied methods not being checked."
Alex Light [Thu, 18 Feb 2016 21:13:19 +0000 (21:13 +0000)]
Merge "Fix issue with copied methods not being checked."

8 years agoMerge "Fix build aflter conflicting changes got in." am: 07f7affb33
Nicolas Geoffray [Thu, 18 Feb 2016 18:55:01 +0000 (18:55 +0000)]
Merge "Fix build aflter conflicting changes got in." am: 07f7affb33
am: f9a5965a2a

* commit 'f9a5965a2ad38ba6d615646d01db14372fb714b3':
  Fix build aflter conflicting changes got in.

8 years agoMerge "Small inlining improvements." am: 1d01ef7f0f
Nicolas Geoffray [Thu, 18 Feb 2016 18:54:53 +0000 (18:54 +0000)]
Merge "Small inlining improvements." am: 1d01ef7f0f
am: 66b6ce3a10

* commit '66b6ce3a1052e9dc55167b3852004e7ebe7f62f6':
  Small inlining improvements.

8 years agoMerge "Add statistics support for some optimizations" am: afe8400458
Calin Juravle [Thu, 18 Feb 2016 18:54:44 +0000 (18:54 +0000)]
Merge "Add statistics support for some optimizations" am: afe8400458
am: ef770285f7

* commit 'ef770285f7dfc2758e47d1258bb0e57a3b5b8bf5':
  Add statistics support for some optimizations

8 years agoMerge "Implement polymorphic inlining." am: f8a08735f6
Nicolas Geoffray [Thu, 18 Feb 2016 18:54:36 +0000 (18:54 +0000)]
Merge "Implement polymorphic inlining." am: f8a08735f6
am: a452c73456

* commit 'a452c734564664379a027909cba26829cdbe5fca':
  Implement polymorphic inlining.

8 years agoMerge "Implement Optimizing\'s constant folding as a visitor." am: 99da8cd881
Roland Levillain [Thu, 18 Feb 2016 18:54:28 +0000 (18:54 +0000)]
Merge "Implement Optimizing\'s constant folding as a visitor." am: 99da8cd881
am: 21f59029cf

* commit '21f59029cfe345c6a6985c7a7b9a31477fe9bc81':
  Implement Optimizing's constant folding as a visitor.

8 years agoMerge "Mark __jit_debug_register_code as a unique symbol on aarch64" am: d9c05309e8
Tamas Berghammer [Thu, 18 Feb 2016 18:54:20 +0000 (18:54 +0000)]
Merge "Mark __jit_debug_register_code as a unique symbol on aarch64" am: d9c05309e8
am: 4797e3298f

* commit '4797e3298fafc4987d5df137b7531a43987ba049':
  Mark __jit_debug_register_code as a unique symbol on aarch64

8 years agoMerge "Remove string init map." am: 7d9ddcc909
Nicolas Geoffray [Thu, 18 Feb 2016 18:54:13 +0000 (18:54 +0000)]
Merge "Remove string init map." am: 7d9ddcc909
am: 1bbfb96fee

* commit '1bbfb96fee16e67eabd63dd4ccdc480b4dcd34c2':
  Remove string init map.

8 years agoMerge "Fix build aflter conflicting changes got in."
Nicolas Geoffray [Thu, 18 Feb 2016 18:23:52 +0000 (18:23 +0000)]
Merge "Fix build aflter conflicting changes got in."
am: 07f7affb33

* commit '07f7affb338b529d34e4e18b7e8a631c16bd9765':
  Fix build aflter conflicting changes got in.

8 years agoMerge "Small inlining improvements."
Nicolas Geoffray [Thu, 18 Feb 2016 18:23:42 +0000 (18:23 +0000)]
Merge "Small inlining improvements."
am: 1d01ef7f0f

* commit '1d01ef7f0f79b032449c35203ca9543fb8a0b22f':
  Small inlining improvements.

8 years agoMerge "Add statistics support for some optimizations"
Calin Juravle [Thu, 18 Feb 2016 18:23:32 +0000 (18:23 +0000)]
Merge "Add statistics support for some optimizations"
am: afe8400458

* commit 'afe84004583488ded7f99bb703ed4c1a601ff034':
  Add statistics support for some optimizations

8 years agoMerge "Implement polymorphic inlining."
Nicolas Geoffray [Thu, 18 Feb 2016 18:23:21 +0000 (18:23 +0000)]
Merge "Implement polymorphic inlining."
am: f8a08735f6

* commit 'f8a08735f6c60ddee2bb5646dcad561361cce079':
  Implement polymorphic inlining.

8 years agoMerge "Implement Optimizing\'s constant folding as a visitor."
Roland Levillain [Thu, 18 Feb 2016 18:23:12 +0000 (18:23 +0000)]
Merge "Implement Optimizing\'s constant folding as a visitor."
am: 99da8cd881

* commit '99da8cd8818e015b21d1c2af73ac40749698c930':
  Implement Optimizing's constant folding as a visitor.

8 years agoMerge "Mark __jit_debug_register_code as a unique symbol on aarch64"
Tamas Berghammer [Thu, 18 Feb 2016 18:23:03 +0000 (18:23 +0000)]
Merge "Mark __jit_debug_register_code as a unique symbol on aarch64"
am: d9c05309e8

* commit 'd9c05309e8fab26a6087abd5773859f112cdefe9':
  Mark __jit_debug_register_code as a unique symbol on aarch64

8 years agoMerge "Remove string init map."
Nicolas Geoffray [Thu, 18 Feb 2016 18:22:54 +0000 (18:22 +0000)]
Merge "Remove string init map."
am: 7d9ddcc909

* commit '7d9ddcc909e3a76ce516649c93a8d854b1cf2fb4':
  Remove string init map.

8 years agoMerge "Fix build aflter conflicting changes got in."
Nicolas Geoffray [Thu, 18 Feb 2016 16:56:42 +0000 (16:56 +0000)]
Merge "Fix build aflter conflicting changes got in."

8 years agoFix build aflter conflicting changes got in.
Nicolas Geoffray [Thu, 18 Feb 2016 16:55:42 +0000 (16:55 +0000)]
Fix build aflter conflicting changes got in.

Change-Id: Ia3846e9a0dad137fe797bf3f2ece0cb78c106ec0

8 years agoMerge "Small inlining improvements."
Nicolas Geoffray [Thu, 18 Feb 2016 16:33:37 +0000 (16:33 +0000)]
Merge "Small inlining improvements."

8 years agoMerge "Add statistics support for some optimizations"
Calin Juravle [Thu, 18 Feb 2016 16:16:34 +0000 (16:16 +0000)]
Merge "Add statistics support for some optimizations"

8 years agoAdd statistics support for some optimizations
Jean-Philippe Halimi [Thu, 18 Feb 2016 15:42:03 +0000 (16:42 +0100)]
Add statistics support for some optimizations

This patch adds support for the --dump-stats facility with some
optimizations
and fixes all build issues introduced by the patch:
I68751b119a030952a11057cb651a3c63e87e73ea (which got reverted)

Change-Id: I5af1f2a8cced0a1a55c2bb4d8c88e6f0a24ec879
Signed-off-by: Jean-Philippe Halimi <jean-philippe.halimi@intel.com>
8 years agoMerge "Implement polymorphic inlining."
Nicolas Geoffray [Thu, 18 Feb 2016 15:56:59 +0000 (15:56 +0000)]
Merge "Implement polymorphic inlining."

8 years agoSmall inlining improvements.
Nicolas Geoffray [Thu, 18 Feb 2016 14:43:42 +0000 (14:43 +0000)]
Small inlining improvements.

- Use the type_index in the current dex file for classes not
  defined in the current dex file.
- Make the loading of the vtable field of a class have no side effects
  to enable gvn'ing it.

Note that those improvements only affect the JIT, where we don't have
checker support.

Change-Id: I519f52bd8270f2b828f0920a1214da33cf788f41

8 years agoImplement polymorphic inlining.
Nicolas Geoffray [Thu, 18 Feb 2016 11:12:31 +0000 (11:12 +0000)]
Implement polymorphic inlining.

For example, before:
HInvokeVirtual

After:
If (receiver == Foo) {
  // inlined code.
} else if (receiver == Bar) {
  // inlined code
} else {
  // HInvokeVirtual or HDeoptimize(receiver != Baz)
}

Change-Id: I5ce305aef8f39f8294bf2b2bcfe60e0dddcfdbec

8 years agoMerge "Implement Optimizing's constant folding as a visitor."
Roland Levillain [Thu, 18 Feb 2016 11:23:43 +0000 (11:23 +0000)]
Merge "Implement Optimizing's constant folding as a visitor."

8 years agoMerge "Mark __jit_debug_register_code as a unique symbol on aarch64"
Tamas Berghammer [Thu, 18 Feb 2016 10:40:13 +0000 (10:40 +0000)]
Merge "Mark __jit_debug_register_code as a unique symbol on aarch64"

8 years agoMerge "Remove string init map."
Nicolas Geoffray [Thu, 18 Feb 2016 10:37:33 +0000 (10:37 +0000)]
Merge "Remove string init map."

8 years agoRemove string init map.
Nicolas Geoffray [Tue, 16 Feb 2016 18:42:15 +0000 (18:42 +0000)]
Remove string init map.

Partial revert of the String init change.

- Make Quick bailout in the presence of String allocation.
- Rely on the compiler for knowing when dex registers alias.

bug:27173201

Change-Id: I0bf58ba3825c71cef110b53f3a0a6f567cb2ef9a

8 years agoMerge "Set bias on != comparison for isNaN." am: a1f65135cd
Aart Bik [Thu, 18 Feb 2016 01:50:45 +0000 (01:50 +0000)]
Merge "Set bias on != comparison for isNaN." am: a1f65135cd
am: 91b11baf5c

* commit '91b11baf5cf401594b24813b43a9f11db19ad630':
  Set bias on != comparison for isNaN.

8 years agoMerge "Set bias on != comparison for isNaN."
Aart Bik [Thu, 18 Feb 2016 00:13:38 +0000 (00:13 +0000)]
Merge "Set bias on != comparison for isNaN."
am: a1f65135cd

* commit 'a1f65135cd2315159ac302f904ba0c5ba0d7fd0e':
  Set bias on != comparison for isNaN.

8 years agoMerge "Set bias on != comparison for isNaN."
Aart Bik [Thu, 18 Feb 2016 00:06:17 +0000 (00:06 +0000)]
Merge "Set bias on != comparison for isNaN."

8 years agoSet bias on != comparison for isNaN.
Aart Bik [Wed, 17 Feb 2016 23:13:56 +0000 (15:13 -0800)]
Set bias on != comparison for isNaN.

Change-Id: I83969ecf7252b5e001bdd501c4ca31e7d0608854

8 years agoMerge "Clean up register line" am: f598e2f183
Mathieu Chartier [Wed, 17 Feb 2016 22:26:53 +0000 (22:26 +0000)]
Merge "Clean up register line" am: f598e2f183
am: 7dc6c62b68

* commit '7dc6c62b6819c51deb7f8e1e58ba94ed361a3798':
  Clean up register line

8 years agoMerge "Implement isNaN intrinsic through HIR equivalent." am: 293a79e89c
Aart Bik [Wed, 17 Feb 2016 22:19:08 +0000 (22:19 +0000)]
Merge "Implement isNaN intrinsic through HIR equivalent." am: 293a79e89c
am: a10548141b

* commit 'a10548141b728b6cf0c380ca9ae87f5bf0babfe4':
  Implement isNaN intrinsic through HIR equivalent.

8 years agoMerge "Clean up register line"
Mathieu Chartier [Wed, 17 Feb 2016 22:18:33 +0000 (22:18 +0000)]
Merge "Clean up register line"
am: f598e2f183

* commit 'f598e2f183f496065597267a6fc142aa9a56e7c4':
  Clean up register line

8 years agoMerge "Clean up register line"
Mathieu Chartier [Wed, 17 Feb 2016 22:13:46 +0000 (22:13 +0000)]
Merge "Clean up register line"

8 years agoMerge "Implement isNaN intrinsic through HIR equivalent."
Aart Bik [Wed, 17 Feb 2016 22:08:32 +0000 (22:08 +0000)]
Merge "Implement isNaN intrinsic through HIR equivalent."
am: 293a79e89c

* commit '293a79e89c9dbdb63932bf2444d991fd6901a7a1':
  Implement isNaN intrinsic through HIR equivalent.

8 years agoMerge "Implement isNaN intrinsic through HIR equivalent."
Aart Bik [Wed, 17 Feb 2016 22:03:15 +0000 (22:03 +0000)]
Merge "Implement isNaN intrinsic through HIR equivalent."

8 years agoMerge commit \'dfd4a9e8d36ad791505c6d80c0f627e6a0a764bf\' into HEAD
Bill Yi [Wed, 17 Feb 2016 21:08:38 +0000 (21:08 +0000)]
Merge commit \'dfd4a9e8d36ad791505c6d80c0f627e6a0a764bf\' into HEAD
am: 8db2931650

* commit '8db293165032bd0b1fcb7eea5547f01b4808a149':

8 years agoFix issue with copied methods not being checked.
Alex Light [Wed, 17 Feb 2016 19:59:05 +0000 (11:59 -0800)]
Fix issue with copied methods not being checked.

In several places we were using IsMiranda to check if a method is
copied. This misses cases involving default methods.

Bug: 27216437
Change-Id: I8c800e3e622a9c0ca0f8752c3d5202f433af9a1c

8 years agoImplement isNaN intrinsic through HIR equivalent.
Aart Bik [Wed, 17 Feb 2016 18:41:50 +0000 (10:41 -0800)]
Implement isNaN intrinsic through HIR equivalent.

Rationale:
Efficient implementation on all platforms.
Subject to better compiler optimizations.

Change-Id: Ie8876bf5943cbe1138491a25d32ee9fee554043c

8 years agoClean up register line
Mathieu Chartier [Wed, 17 Feb 2016 19:04:20 +0000 (11:04 -0800)]
Clean up register line

Fixed formatting and style. Also added proper null handling for arena
deleter.

Change-Id: I6a44cb29ca6ad17b35e18dc6be1d12416f211631

8 years agoMerge commit 'dfd4a9e8d36ad791505c6d80c0f627e6a0a764bf' into HEAD
Bill Yi [Wed, 17 Feb 2016 19:36:56 +0000 (11:36 -0800)]
Merge commit 'dfd4a9e8d36ad791505c6d80c0f627e6a0a764bf' into HEAD

8 years agoOnly visit pointer arrays once during image relocation
Mathieu Chartier [Wed, 17 Feb 2016 19:14:32 +0000 (19:14 +0000)]
Only visit pointer arrays once during image relocation
am: d12513f7e5

* commit 'd12513f7e57fec32729f1922f9c84f812ad0d0e7':
  Only visit pointer arrays once during image relocation

8 years agoMerge "ahat: annotate char[] objects with their string values." into nyc-dev
Richard Uhler [Wed, 17 Feb 2016 18:57:55 +0000 (18:57 +0000)]
Merge "ahat: annotate char[] objects with their string values." into nyc-dev
am: 79486c1682

* commit '79486c168237a193f1165e014028bf2727991620':
  ahat: annotate char[] objects with their string values.

8 years agoMerge "Only visit pointer arrays once during image relocation"
Mathieu Chartier [Wed, 17 Feb 2016 18:57:44 +0000 (18:57 +0000)]
Merge "Only visit pointer arrays once during image relocation"
am: aaf56c4c95

* commit 'aaf56c4c95331d4dd8ac298e6c234d4d58d28308':
  Only visit pointer arrays once during image relocation

8 years agoOnly visit pointer arrays once during image relocation
Mathieu Chartier [Wed, 17 Feb 2016 01:16:01 +0000 (17:16 -0800)]
Only visit pointer arrays once during image relocation

Previously they could get visited twice, this caused corruption of
the app image if a pointer was updated twice.

Bug: 22858531

(cherry picked from commit 91edc62a9d8d4d8153b6b04140b50a3724cd3597)

Change-Id: I27aea3322ce925909e7ace59d91fc9299f2549ba

8 years agoMerge "Only visit pointer arrays once during image relocation"
Mathieu Chartier [Wed, 17 Feb 2016 18:45:26 +0000 (18:45 +0000)]
Merge "Only visit pointer arrays once during image relocation"

8 years agoMerge "ahat: annotate char[] objects with their string values." into nyc-dev
Richard Uhler [Wed, 17 Feb 2016 18:44:48 +0000 (18:44 +0000)]
Merge "ahat: annotate char[] objects with their string values." into nyc-dev

8 years agoOnly visit pointer arrays once during image relocation
Mathieu Chartier [Wed, 17 Feb 2016 01:16:01 +0000 (17:16 -0800)]
Only visit pointer arrays once during image relocation

Previously they could get visited twice, this caused corruption of
the app image if a pointer was updated twice.

Bug: 22858531
Change-Id: I1f1ba1ba5dc205be07dba51bc6ce7a825c82b33a

8 years agoImplement Optimizing's constant folding as a visitor.
Roland Levillain [Thu, 6 Aug 2015 14:46:02 +0000 (15:46 +0100)]
Implement Optimizing's constant folding as a visitor.

Refactor the logic of art::HConstantFolding::Run into a new
visitor, art::HConstantFoldingVisitor.

Change-Id: Id8d3c3826f6dff6cc2d18a01f6c48d79bde483b3

8 years agoMerge "Revert "Allow method references across oat files for multi-image.""
Vladimir Marko [Wed, 17 Feb 2016 17:59:41 +0000 (17:59 +0000)]
Merge "Revert "Allow method references across oat files for multi-image.""
am: f0b04803ec

* commit 'f0b04803ec4cdd8d76aadb6f02ae2511c46b20b5':
  Revert "Allow method references across oat files for multi-image."

8 years agoMerge "Revert "Allow method references across oat files for multi-image.""
Vladimir Marko [Wed, 17 Feb 2016 17:46:30 +0000 (17:46 +0000)]
Merge "Revert "Allow method references across oat files for multi-image.""

8 years agoRevert "Allow method references across oat files for multi-image."
Vladimir Marko [Wed, 17 Feb 2016 17:46:10 +0000 (17:46 +0000)]
Revert "Allow method references across oat files for multi-image."

Breaks Quick tests.

This reverts commit 6065402316da2b51eed5fc34cffbd991766bd408.

Change-Id: I8a5469ba7cea5f46b85cb489b3e0ef06ed548f03

8 years agoMerge "Fix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64."
Roland Levillain [Wed, 17 Feb 2016 17:10:47 +0000 (17:10 +0000)]
Merge "Fix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64."
am: 9ee1f0c6a6

* commit '9ee1f0c6a67729cabcf3697fc68fe4e98da55f64':
  Fix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64.

8 years agoMerge "Allow method references across oat files for multi-image."
Vladimir Marko [Wed, 17 Feb 2016 17:04:49 +0000 (17:04 +0000)]
Merge "Allow method references across oat files for multi-image."
am: 631d9ef435

* commit '631d9ef435d3015b2d14ef5a47fff68c2431c126':
  Allow method references across oat files for multi-image.

8 years agoMerge "Fix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64."
Roland Levillain [Wed, 17 Feb 2016 16:56:49 +0000 (16:56 +0000)]
Merge "Fix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64."

8 years agoFix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64.
Roland Levillain [Wed, 17 Feb 2016 16:49:37 +0000 (16:49 +0000)]
Fix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64.

Do not call this method on non floating-point HCompare
instructions.

Change-Id: I262ab23f48d32295641063f897dca02cb92eb2e2

8 years agoMerge "Allow method references across oat files for multi-image."
Vladimir Marko [Wed, 17 Feb 2016 16:50:13 +0000 (16:50 +0000)]
Merge "Allow method references across oat files for multi-image."

8 years agoAllow method references across oat files for multi-image.
Vladimir Marko [Tue, 16 Feb 2016 12:50:23 +0000 (12:50 +0000)]
Allow method references across oat files for multi-image.

These were disabled because we didn't have sufficient
information about the multi-image layout when processing
link-time patches in OatWriter. This CL refactors the
ELF file creation so that the information is available.

Change-Id: I6f2e8dc8572d143c72cc2693bb0ba4fd76f889ab

8 years agoMerge "Build jdwp tests with Jack in vogar"
Sebastien Hertz [Wed, 17 Feb 2016 16:33:01 +0000 (16:33 +0000)]
Merge "Build jdwp tests with Jack in vogar"
am: dbe186044b

* commit 'dbe186044b966521187ccff018750317efffb2e3':
  Build jdwp tests with Jack in vogar

8 years agoMerge "Build jdwp tests with Jack in vogar"
Sebastien Hertz [Wed, 17 Feb 2016 16:24:52 +0000 (16:24 +0000)]
Merge "Build jdwp tests with Jack in vogar"

8 years agoBuild jdwp tests with Jack in vogar
Sebastien Hertz [Wed, 17 Feb 2016 16:05:52 +0000 (17:05 +0100)]
Build jdwp tests with Jack in vogar

These tests are compiled with Jack in the CTS so we do the same
with vogar now.

Bug: 27218415
Change-Id: I69b86e02a6532c1885c4d40f0768bf2b353c9569

8 years agoMerge "Extend constant folding to float and double operations."
Roland Levillain [Wed, 17 Feb 2016 15:52:41 +0000 (15:52 +0000)]
Merge "Extend constant folding to float and double operations."
am: d99073f2a5

* commit 'd99073f2a57929b5baeb4ed2b80556f0a2aa1284':
  Extend constant folding to float and double operations.

8 years agoMerge "Add simple deduplication for .debug_ranges."
David Srbecky [Wed, 17 Feb 2016 15:46:21 +0000 (15:46 +0000)]
Merge "Add simple deduplication for .debug_ranges."
am: 3ce0bfa174

* commit '3ce0bfa17450cedc341d1a159204f1d8245baa02':
  Add simple deduplication for .debug_ranges.

8 years agoMerge "Extend constant folding to float and double operations."
Roland Levillain [Wed, 17 Feb 2016 15:44:04 +0000 (15:44 +0000)]
Merge "Extend constant folding to float and double operations."

8 years agoMerge "Add simple deduplication for .debug_ranges."
David Srbecky [Wed, 17 Feb 2016 15:34:16 +0000 (15:34 +0000)]
Merge "Add simple deduplication for .debug_ranges."

8 years agoMerge "MIPS32: peek*/poke*, and String.charAt intrinsics."
Roland Levillain [Wed, 17 Feb 2016 14:57:26 +0000 (14:57 +0000)]
Merge "MIPS32: peek*/poke*, and String.charAt intrinsics."
am: 936d5dc60f

* commit '936d5dc60fa3f4dadf3654db04d2b361dc0b745c':
  MIPS32: peek*/poke*, and String.charAt intrinsics.

8 years agoMerge "MIPS32: peek*/poke*, and String.charAt intrinsics."
Roland Levillain [Wed, 17 Feb 2016 14:47:03 +0000 (14:47 +0000)]
Merge "MIPS32: peek*/poke*, and String.charAt intrinsics."

8 years agoExtend constant folding to float and double operations.
Roland Levillain [Tue, 16 Feb 2016 12:21:02 +0000 (12:21 +0000)]
Extend constant folding to float and double operations.

Change-Id: I2837064b2ceea587bc171fc520507f13355292c6

8 years agoMerge remote-tracking branch 'goog/master' into nyc-dev
Nicolas Geoffray [Wed, 17 Feb 2016 12:43:15 +0000 (12:43 +0000)]
Merge remote-tracking branch 'goog/master' into nyc-dev

bug:27094810
bug:27149923
bug:27019403
bug:23128949
Change-Id: Iff7685a5000653a3c87d8ba8d316965b9592a594

8 years agoMerge "Be a bit smarter with JIT code triggering deoptimization."
Nicolas Geoffray [Wed, 17 Feb 2016 12:15:26 +0000 (12:15 +0000)]
Merge "Be a bit smarter with JIT code triggering deoptimization."
am: 39e4fab868

* commit '39e4fab868a6052e0fab75e2668600b0e26daa42':
  Be a bit smarter with JIT code triggering deoptimization.

8 years agoMerge "Be a bit smarter with JIT code triggering deoptimization."
Nicolas Geoffray [Wed, 17 Feb 2016 12:09:53 +0000 (12:09 +0000)]
Merge "Be a bit smarter with JIT code triggering deoptimization."

8 years agoBe a bit smarter with JIT code triggering deoptimization.
Nicolas Geoffray [Wed, 17 Feb 2016 11:31:49 +0000 (11:31 +0000)]
Be a bit smarter with JIT code triggering deoptimization.

Do not re-use an OSR method that triggered deoptimization.
Also add a stack overflow check before doing OSR.

bug:27094810
Change-Id: I6ff6a7fb9b3df9b7c0ff37e3610595efa70ad067

8 years agoMerge "Support CMOV for x86 Select"
David Brazdil [Wed, 17 Feb 2016 11:15:33 +0000 (11:15 +0000)]
Merge "Support CMOV for x86 Select"
am: 442643920a

* commit '442643920a6c539e98aad76594e99b932b5631ba':
  Support CMOV for x86 Select

8 years agoMerge "Support CMOV for x86 Select"
David Brazdil [Wed, 17 Feb 2016 11:06:40 +0000 (11:06 +0000)]
Merge "Support CMOV for x86 Select"

8 years agoMerge "We also need to delete osr entries when deleting ArtMethod."
Nicolas Geoffray [Wed, 17 Feb 2016 10:23:42 +0000 (10:23 +0000)]
Merge "We also need to delete osr entries when deleting ArtMethod."
am: 0723a61dd0

* commit '0723a61dd00fcc7072d82407e0d4a40a8b141d43':
  We also need to delete osr entries when deleting ArtMethod.

8 years agoMerge "dex2oat: Show memory usage values in bytes"
Vladimir Marko [Wed, 17 Feb 2016 10:19:05 +0000 (10:19 +0000)]
Merge "dex2oat: Show memory usage values in bytes"
am: 908cb978e8

* commit '908cb978e81cdde9c0c02d131acbb3ff35aaf3db':
  dex2oat: Show memory usage values in bytes

8 years agoMerge "We also need to delete osr entries when deleting ArtMethod."
Nicolas Geoffray [Wed, 17 Feb 2016 10:17:18 +0000 (10:17 +0000)]
Merge "We also need to delete osr entries when deleting ArtMethod."

8 years agoMerge "dex2oat: Show memory usage values in bytes"
Vladimir Marko [Wed, 17 Feb 2016 10:09:00 +0000 (10:09 +0000)]
Merge "dex2oat: Show memory usage values in bytes"

8 years agoWe also need to delete osr entries when deleting ArtMethod.
Nicolas Geoffray [Wed, 17 Feb 2016 09:49:19 +0000 (09:49 +0000)]
We also need to delete osr entries when deleting ArtMethod.

In the unfortunate event an ArtMethod gets allocated at the
same location as an old (deleted) ArtMethod, the osr_code_map_
lookup will succeed and return garbage. So we need to delete
entries in the osr_code_map_ when an ArtMethod gets deleted.

This should finally fix:
dalvik.system.DexClassLoaderTest#test_twoJar_diff_getResourceAsStream

Change-Id: I7c8b775c3376a6cfcb907f09b783e393967ad82d

8 years agoMerge "Add custom arena deleter for RegisterLine"
Mathieu Chartier [Tue, 16 Feb 2016 23:56:40 +0000 (23:56 +0000)]
Merge "Add custom arena deleter for RegisterLine"
am: b93c21e83c

* commit 'b93c21e83c8fbf0191093c01a8951adb5be9010b':
  Add custom arena deleter for RegisterLine

8 years agoMerge "Add custom arena deleter for RegisterLine"
Mathieu Chartier [Tue, 16 Feb 2016 23:12:02 +0000 (23:12 +0000)]
Merge "Add custom arena deleter for RegisterLine"