OSDN Git Service

android-x86/art.git
8 years agoAdd VLOG(collector) to reduce log spam
Mathieu Chartier [Fri, 19 Feb 2016 18:25:39 +0000 (10:25 -0800)]
Add VLOG(collector) to reduce log spam

VLOG(gc) is enabled from AndroidRuntime, using it too much produces
log spam.

Bug: 22858531
Change-Id: I5306c512eb7f55a178fa607d4b211ef25246e300

8 years agoUse image oat file instead of image header for immune spaces
Mathieu Chartier [Thu, 18 Feb 2016 00:19:53 +0000 (16:19 -0800)]
Use image oat file instead of image header for immune spaces

The old immune spaces logic used the oat file information in the
image header instead of the actual oat file pointer. This was
incorrect for the app image case since the app image oat file is
not necessarily at the address specified in the header. This bug
could cause an incorrect immune region that caused large objects
to get freed if they were within this immune region.

Added test.

Bug: 22858531

(cherry picked from commit 5351da0225d027a19420153615634a1c78966bca)

Change-Id: Ibf41b0c0a9a7b0d093146311e2603a186033e339

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

8 years agoAdd custom arena deleter for RegisterLine
Mathieu Chartier [Tue, 16 Feb 2016 22:06:35 +0000 (14:06 -0800)]
Add custom arena deleter for RegisterLine

Previously it protected by using sizeof(RegisterLine) but this was
not accurate due to register lines being variable sized.

Bug: 27156726
Change-Id: Ia4b134b85a2e61993d17bd4f0eff60c89c164dc3

8 years agoahat: annotate char[] objects with their string values.
Richard Uhler [Thu, 11 Feb 2016 16:48:24 +0000 (08:48 -0800)]
ahat: annotate char[] objects with their string values.

Bug: 26987597
Change-Id: I1b0bf711c642f4b8a7fe56f0cd27496761db4147
(cherry picked from commit c7f7712a3808b8e3046eae8a4dbb7f6a7fc6faf2)

8 years agoMerge "ahat: annotate char[] objects with their string values."
Richard Uhler [Tue, 16 Feb 2016 17:11:45 +0000 (17:11 +0000)]
Merge "ahat: annotate char[] objects with their string values."
am: 88f38e9b4e

* commit '88f38e9b4e9ba0aca3d6fd4823be3a7226c87f33':
  ahat: annotate char[] objects with their string values.

8 years agoMerge "Refactor the inliner."
Nicolas Geoffray [Tue, 16 Feb 2016 17:11:30 +0000 (17:11 +0000)]
Merge "Refactor the inliner."
am: 4a69a30120

* commit '4a69a30120ecba9431246938e124d56213447137':
  Refactor the inliner.

8 years agoMerge "X86: Allow long compares to stack operands"
Nicolas Geoffray [Tue, 16 Feb 2016 17:11:14 +0000 (17:11 +0000)]
Merge "X86: Allow long compares to stack operands"
am: ce053b20e8

* commit 'ce053b20e87f33b4417b8f21bb6f2ec4feb3104e':
  X86: Allow long compares to stack operands

8 years agoMerge "ahat: annotate char[] objects with their string values."
Richard Uhler [Tue, 16 Feb 2016 16:56:10 +0000 (16:56 +0000)]
Merge "ahat: annotate char[] objects with their string values."

8 years agoMerge "Refactor the inliner."
Nicolas Geoffray [Tue, 16 Feb 2016 16:54:19 +0000 (16:54 +0000)]
Merge "Refactor the inliner."

8 years agoMerge "X86: Allow long compares to stack operands"
Nicolas Geoffray [Tue, 16 Feb 2016 16:54:00 +0000 (16:54 +0000)]
Merge "X86: Allow long compares to stack operands"

8 years agoahat: annotate char[] objects with their string values.
Richard Uhler [Thu, 11 Feb 2016 16:48:24 +0000 (08:48 -0800)]
ahat: annotate char[] objects with their string values.

Bug: 26987597
Change-Id: I1b0bf711c642f4b8a7fe56f0cd27496761db4147

8 years agoRemove some outdated comments in art tests
Yohann Roussel [Tue, 16 Feb 2016 16:43:40 +0000 (16:43 +0000)]
Remove some outdated comments in art tests
am: 5527ea8235

* commit '5527ea823585aa61d12c8226ec131d7962d3d1c1':
  Remove some outdated comments in art tests

8 years agoRemove usages of jill.jar, use jack instead
Yohann Roussel [Tue, 16 Feb 2016 16:43:31 +0000 (16:43 +0000)]
Remove usages of jill.jar, use jack instead
am: 51e4d44178  -s ours

* commit '51e4d44178919bf717e58365ce52a3c852d28465':
  Remove usages of jill.jar, use jack instead

8 years agoRefactor the inliner.
Nicolas Geoffray [Tue, 16 Feb 2016 15:37:12 +0000 (15:37 +0000)]
Refactor the inliner.

In preparation for more polymorphic inlining, refactor the inliner
a bit.

Change-Id: Ie3fd6c1ef205f1089989c67a527e6f57ff3c8b5d

8 years agoMerge "HInvokeStaticOrDirect may not have a special input."
Nicolas Geoffray [Tue, 16 Feb 2016 15:57:35 +0000 (15:57 +0000)]
Merge "HInvokeStaticOrDirect may not have a special input."
am: a1f1296d83

* commit 'a1f1296d8353c22b43cb2c5437a3ef5b747f7a87':
  HInvokeStaticOrDirect may not have a special input.

8 years agoMerge "Remove some outdated comments in art tests"
Yohann Roussel [Tue, 16 Feb 2016 15:51:04 +0000 (15:51 +0000)]
Merge "Remove some outdated comments in art tests"
am: 8ea957f846

* commit '8ea957f846c2f0a0eaf3ac5c138942d2ed079b37':
  Remove some outdated comments in art tests

8 years agoMerge "HInvokeStaticOrDirect may not have a special input."
Nicolas Geoffray [Tue, 16 Feb 2016 15:43:27 +0000 (15:43 +0000)]
Merge "HInvokeStaticOrDirect may not have a special input."

8 years agoX86: Allow long compares to stack operands
Mark Mendell [Tue, 16 Feb 2016 15:41:46 +0000 (10:41 -0500)]
X86: Allow long compares to stack operands

There is no need to force the RHS stack operand into a register for a
long comparison.

Change-Id: Ie86851a54ec2dc9a9f61443e59219a8994dc01bb
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoRemove some outdated comments in art tests
Yohann Roussel [Tue, 16 Feb 2016 15:25:09 +0000 (16:25 +0100)]
Remove some outdated comments in art tests

(cherry picked from commit 6b9508d537560ed41d91879839d2ec90945eca99)

Change-Id: I354c45ad56d3f4b66ed55e6effccb0be6f1fc994

8 years agoMerge "Remove some outdated comments in art tests"
Yohann Roussel [Tue, 16 Feb 2016 15:37:09 +0000 (15:37 +0000)]
Merge "Remove some outdated comments in art tests"

8 years agoHInvokeStaticOrDirect may not have a special input.
Nicolas Geoffray [Tue, 16 Feb 2016 15:33:54 +0000 (15:33 +0000)]
HInvokeStaticOrDirect may not have a special input.

For irreducible loops, we disable the generation of
HX86ComputeBaseMethodAddress, so intrinsics code should not assume
it's there.

bug:27149923

Change-Id: I78ba0ca7aefa4033227c77ba438b6eaca53dadd9

8 years agoRemove some outdated comments in art tests
Yohann Roussel [Tue, 16 Feb 2016 15:25:09 +0000 (16:25 +0100)]
Remove some outdated comments in art tests

Change-Id: I5604bd8d9a433eb513a516b1839b55c88c329329

8 years agoMerge "Remove usages of jill.jar, use jack instead"
Yohann Roussel [Tue, 16 Feb 2016 15:24:30 +0000 (15:24 +0000)]
Merge "Remove usages of jill.jar, use jack instead"
am: 01ba22a3d5

* commit '01ba22a3d52e5359256adcbbb2cf9aa85ed5df51':
  Remove usages of jill.jar, use jack instead

8 years agoSupport CMOV for x86 Select
Mark Mendell [Sat, 6 Feb 2016 18:58:35 +0000 (13:58 -0500)]
Support CMOV for x86 Select

If possible, generate CMOV to implement HSelect.  Tricky cases are a
long or FP condition (no single CC generated), FP inputs (no FP CMOV)
and when the condition is a boolean or not emitted at the use site.
In these cases, keep using the existing HSelect code.

Change-Id: I4ff1e152b8ef126fbbabeb3316e9e2b6a6b74aeb
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoMerge "Remove usages of jill.jar, use jack instead"
Yohann Roussel [Tue, 16 Feb 2016 15:10:35 +0000 (15:10 +0000)]
Merge "Remove usages of jill.jar, use jack instead"

8 years agoRemove usages of jill.jar, use jack instead
Yohann Roussel [Tue, 19 Jan 2016 16:07:18 +0000 (17:07 +0100)]
Remove usages of jill.jar, use jack instead

(cherry picked from commit aaa779a0a5f7afc23814728de68c6fe3ae1450bf)

Change-Id: I87fc0cdd34cf8107601af38f2559597200908173

8 years agoRemove usages of jill.jar, use jack instead
Yohann Roussel [Tue, 19 Jan 2016 16:07:18 +0000 (17:07 +0100)]
Remove usages of jill.jar, use jack instead

Change-Id: Icb403ee6fb5bf287d2b72bb253b683b1d95f4e07

8 years agoMerge "Follow-up to OSR change."
Nicolas Geoffray [Tue, 16 Feb 2016 14:11:31 +0000 (14:11 +0000)]
Merge "Follow-up to OSR change."
am: 7eca244e79

* commit '7eca244e79480f2ecea341598524a53273959c2b':
  Follow-up to OSR change.

8 years agoMerge "Follow-up to OSR change."
Nicolas Geoffray [Tue, 16 Feb 2016 13:53:53 +0000 (13:53 +0000)]
Merge "Follow-up to OSR change."

8 years agoMerge "Remove code cache check from native bridge run-test"
Calin Juravle [Tue, 16 Feb 2016 12:07:04 +0000 (12:07 +0000)]
Merge "Remove code cache check from native bridge run-test"
am: 5322e55ab9

* commit '5322e55ab9a15996a197456ca39d9c77488cd5c1':
  Remove code cache check from native bridge run-test

8 years agoFollow-up to OSR change.
Nicolas Geoffray [Tue, 16 Feb 2016 12:06:05 +0000 (12:06 +0000)]
Follow-up to OSR change.

Change-Id: I99677697178273490201a22aba21dfe5b8e2c8ba

8 years agoMerge "Change how DWARF detects end of prologue."
David Srbecky [Tue, 16 Feb 2016 11:54:12 +0000 (11:54 +0000)]
Merge "Change how DWARF detects end of prologue."
am: db65d7453c

* commit 'db65d7453ce559dd01cf73df8832833c33949a80':
  Change how DWARF detects end of prologue.

8 years agoMerge "Remove code cache check from native bridge run-test"
Calin Juravle [Tue, 16 Feb 2016 11:54:11 +0000 (11:54 +0000)]
Merge "Remove code cache check from native bridge run-test"

8 years agoMerge "Fix test by checking if we\'re using JIT."
Nicolas Geoffray [Tue, 16 Feb 2016 11:47:20 +0000 (11:47 +0000)]
Merge "Fix test by checking if we\'re using JIT."
am: 01298eec8f

* commit '01298eec8f988ce0f98651f89723ed4f0061b43e':
  Fix test by checking if we're using JIT.

8 years agoRemove code cache check from native bridge run-test
Calin Juravle [Mon, 15 Feb 2016 18:35:22 +0000 (18:35 +0000)]
Remove code cache check from native bridge run-test

Every now and them the native bridge run-test failed because the code
cache cannot be found. I suspect a temporary I/O issue when stat-ing the
directory. However I could not verify yet that's actually the cause.

Native bridge can work without a code_cache so we can relax the test
until we figure out the flakiness.

Bug: 27189715
Change-Id: I2ad3f93e80c0e2df89adf1d9d2afe1087c10af08

8 years agoMerge "Change how DWARF detects end of prologue."
David Srbecky [Tue, 16 Feb 2016 11:37:37 +0000 (11:37 +0000)]
Merge "Change how DWARF detects end of prologue."

8 years agoMerge "Fix test by checking if we're using JIT."
Nicolas Geoffray [Tue, 16 Feb 2016 11:31:24 +0000 (11:31 +0000)]
Merge "Fix test by checking if we're using JIT."

8 years agoFix test by checking if we're using JIT.
Nicolas Geoffray [Tue, 16 Feb 2016 11:30:48 +0000 (11:30 +0000)]
Fix test by checking if we're using JIT.

Change-Id: Ifa98815ee2f8af4f338c9469f5afd74fc01022eb

8 years agoChange how DWARF detects end of prologue.
David Srbecky [Tue, 9 Feb 2016 18:16:35 +0000 (18:16 +0000)]
Change how DWARF detects end of prologue.

Instead of ignoring stack map without dex register maps altogether,
explicitly calculate end of prologue as first stack map which has
dex register maps. This gives us more line number mappings.

Change-Id: I643cf0f9daf9762d894fbc94f5ff981ef6c0583b

8 years agoMerge "Revert "Revert "Make it possible to enable native debugging through debug...
Tamas Berghammer [Tue, 16 Feb 2016 11:20:54 +0000 (11:20 +0000)]
Merge "Revert "Revert "Make it possible to enable native debugging through debug flags"""
am: c017318a7c

* commit 'c017318a7c5a9142b1fff9f57eb4105b1d397bbd':
  Revert "Revert "Make it possible to enable native debugging through debug flags""

8 years agoMerge "Fill some gaps in .debug_loc."
David Srbecky [Tue, 16 Feb 2016 11:14:18 +0000 (11:14 +0000)]
Merge "Fill some gaps in .debug_loc."
am: 2a776e1228

* commit '2a776e1228bd6d1e9f86a898f408d593c9017b80':
  Fill some gaps in .debug_loc.

8 years agoMerge "Temporarily disable compressed CFI tests."
David Srbecky [Tue, 16 Feb 2016 11:14:07 +0000 (11:14 +0000)]
Merge "Temporarily disable compressed CFI tests."
am: 3694e91faa

* commit '3694e91faa11567b568ddafab162d172503415b3':
  Temporarily disable compressed CFI tests.

8 years agoMerge "Re-enable OSR."
Nicolas Geoffray [Tue, 16 Feb 2016 11:07:55 +0000 (11:07 +0000)]
Merge "Re-enable OSR."
am: 707954befd

* commit '707954befd63af9d970cc3f697dd9bfbdcbcf37b':
  Re-enable OSR.

8 years agoMerge "Revert "Revert "Make it possible to enable native debugging through debug...
Tamas Berghammer [Tue, 16 Feb 2016 11:04:37 +0000 (11:04 +0000)]
Merge "Revert "Revert "Make it possible to enable native debugging through debug flags"""

8 years agoMerge "Fill some gaps in .debug_loc."
David Srbecky [Tue, 16 Feb 2016 11:00:39 +0000 (11:00 +0000)]
Merge "Fill some gaps in .debug_loc."

8 years agoMerge "Temporarily disable compressed CFI tests."
David Srbecky [Tue, 16 Feb 2016 10:59:16 +0000 (10:59 +0000)]
Merge "Temporarily disable compressed CFI tests."

8 years agoMerge "Re-enable OSR."
Nicolas Geoffray [Tue, 16 Feb 2016 10:53:02 +0000 (10:53 +0000)]
Merge "Re-enable OSR."

8 years agoRe-enable OSR.
Nicolas Geoffray [Tue, 16 Feb 2016 10:03:44 +0000 (10:03 +0000)]
Re-enable OSR.

1) Fix flaky test by doing explicit ProfilingInfo allocation,
   and OSR compilation instead of relying on the system. Also
   make sure the method $noinline$inlineCache always starts
   with the interpreter, as otherwise we would infinite loop.

2) Ensure the thread doing the OSR cannot be suspended once it
   holds an OSR method, as otherwise the jit code cache could
   delete the method before the thread had a chance to jump to it.

Change-Id: Ic0dee181a7b23260419a94a7d7405f150433d31a

8 years agoTemporarily disable compressed CFI tests.
David Srbecky [Tue, 16 Feb 2016 09:56:41 +0000 (09:56 +0000)]
Temporarily disable compressed CFI tests.

Since the support in libunwind has been temporarily disabled.

The non-compressed CFI test still works.

Bug: 27172087
Change-Id: Ic0e088827122014f13ae2086c766fc7c01b21ea1

8 years agoMerge "Optimizing: Use range-based loops in BCE."
Vladimir Marko [Tue, 16 Feb 2016 09:54:40 +0000 (09:54 +0000)]
Merge "Optimizing: Use range-based loops in BCE."
am: 7dc277b171

* commit '7dc277b171b4d8294c4d152d8a6020995dc95f98':
  Optimizing: Use range-based loops in BCE.

8 years agoMerge "Let the CFI test communicate via stdout rather than arbitrary sleep."
David Srbecky [Tue, 16 Feb 2016 09:48:09 +0000 (09:48 +0000)]
Merge "Let the CFI test communicate via stdout rather than arbitrary sleep."
am: dd867c87f3

* commit 'dd867c87f32022e2bd8198bb1c294a611d81de50':
  Let the CFI test communicate via stdout rather than arbitrary sleep.

8 years agoMerge "Optimizing: Use range-based loops in BCE."
Vladimir Marko [Tue, 16 Feb 2016 09:42:31 +0000 (09:42 +0000)]
Merge "Optimizing: Use range-based loops in BCE."

8 years agoMerge "Let the CFI test communicate via stdout rather than arbitrary sleep."
David Srbecky [Tue, 16 Feb 2016 09:34:44 +0000 (09:34 +0000)]
Merge "Let the CFI test communicate via stdout rather than arbitrary sleep."

8 years agoOptimizing: Use range-based loops in BCE.
Vladimir Marko [Mon, 15 Feb 2016 17:54:56 +0000 (17:54 +0000)]
Optimizing: Use range-based loops in BCE.

Change-Id: Ib7cbc6dcbdf61d0b115e6b872914cff3687ad6e4

8 years agoMerge "Optimizing: Remove unnecessary And before TypeConversion."
Vladimir Marko [Mon, 15 Feb 2016 18:53:12 +0000 (18:53 +0000)]
Merge "Optimizing: Remove unnecessary And before TypeConversion."
am: afd33d77f2

* commit 'afd33d77f2df61467dae38cfd59b8e8e6a490058':
  Optimizing: Remove unnecessary And before TypeConversion.

8 years agoMerge "Optimizing: Remove unnecessary And before TypeConversion."
Vladimir Marko [Mon, 15 Feb 2016 18:39:47 +0000 (18:39 +0000)]
Merge "Optimizing: Remove unnecessary And before TypeConversion."

8 years agoMerge "Fix broken tests"
David Brazdil [Mon, 15 Feb 2016 18:39:36 +0000 (18:39 +0000)]
Merge "Fix broken tests"
am: e8e3d9253f

* commit 'e8e3d9253fefffd843b42b1da76b37ef65bc100c':
  Fix broken tests

8 years agoRevert "Revert "Make it possible to enable native debugging through debug flags""
Tamas Berghammer [Fri, 12 Feb 2016 16:29:00 +0000 (16:29 +0000)]
Revert "Revert "Make it possible to enable native debugging through debug flags""

This reverts commit 3a98aae1b9b20bc78dc5e05d2e60cb1d0072db02.

* Add support for a new debug flag disabling the optimizations in
  the compiler and enable the generation of some additional debug
  info (--native-debuggable).
* Ignore the content of the oat files if force JIT is enabled so
  the runtime ignores the AOT-ed code what doesn't contain any
  debug info.

Time measurements on a Nexus 5 with running:
am start -n com.facebook.katana/com.facebook.katana.LoginActivity -W

Before change:             | AVG | DEV
--------------------------------------
ThisTime:  549 492 512 511 | 516 | 24
TotalTime: 549 492 512 511 | 516 | 24
WaitTime:  662 511 528 526 | 557 | 71

After change:              | AVG | DEV
--------------------------------------
ThisTime:  530 467 503 544 | 511 | 34
TotalTime: 530 467 503 544 | 511 | 34
WaitTime:  551 497 536 583 | 541 | 36

Based on the numbers the speed impact of the change is less then the
accuracy of the measurement and it is also negligible.

The minor speed improvement displayed in the measurements are just
the cause of the variance of the measurement and not caused by this
change.

Change-Id: Ibf7294bfd14f8632a0fdeb27a5b90bfe5037d085

8 years agoMerge "Fix broken tests"
David Brazdil [Mon, 15 Feb 2016 18:24:16 +0000 (18:24 +0000)]
Merge "Fix broken tests"

8 years agoFix broken tests
David Brazdil [Mon, 15 Feb 2016 18:20:01 +0000 (18:20 +0000)]
Fix broken tests

Change-Id: I9d0f1064e8cd63045283445946c46594a50d4b84

8 years agoMerge "ART: Fix ArenaStack::AllocWithMemoryTool()."
Vladimir Marko [Mon, 15 Feb 2016 17:50:58 +0000 (17:50 +0000)]
Merge "ART: Fix ArenaStack::AllocWithMemoryTool()."
am: b3871cd241

* commit 'b3871cd241eed77bfdd83c36182c19273c351da6':
  ART: Fix ArenaStack::AllocWithMemoryTool().

8 years agoMerge "ART: Fix ArenaStack::AllocWithMemoryTool()."
Vladimir Marko [Mon, 15 Feb 2016 17:33:36 +0000 (17:33 +0000)]
Merge "ART: Fix ArenaStack::AllocWithMemoryTool()."

8 years agoMerge "Fix lint error"
David Brazdil [Mon, 15 Feb 2016 17:30:29 +0000 (17:30 +0000)]
Merge "Fix lint error"
am: af5b2a28ab

* commit 'af5b2a28ab0b35276fe6e527820ecccc350843bb':
  Fix lint error

8 years agoART: Fix ArenaStack::AllocWithMemoryTool().
Vladimir Marko [Mon, 15 Feb 2016 10:13:11 +0000 (10:13 +0000)]
ART: Fix ArenaStack::AllocWithMemoryTool().

MEMORY_TOOL_MAKE_NOACCESS() takes the size of the address
range as the second argument, not the end the range.

Bug: 27156726
Change-Id: I05c8224a1d3c619919b203f407fb770c7c49cc9f

8 years agoMerge "Fix lint error"
David Brazdil [Mon, 15 Feb 2016 17:15:21 +0000 (17:15 +0000)]
Merge "Fix lint error"

8 years agoLet the CFI test communicate via stdout rather than arbitrary sleep.
David Srbecky [Mon, 15 Feb 2016 16:54:34 +0000 (16:54 +0000)]
Let the CFI test communicate via stdout rather than arbitrary sleep.

I suspect the gcstress test might have been flaky due to the sleep not
being long enough and I would like to avoid just arbitrarily increasing it.

Change-Id: I5d4e0be35aa9f48b66167df04b8a539b21787053

8 years agoFix lint error
David Brazdil [Mon, 15 Feb 2016 17:14:31 +0000 (17:14 +0000)]
Fix lint error

Change-Id: I6f7785abece7ead31b4737fc6b54712c26582e2b

8 years agoMerge "Expect less in the presence of a string init call."
Nicolas Geoffray [Mon, 15 Feb 2016 16:48:15 +0000 (16:48 +0000)]
Merge "Expect less in the presence of a string init call."
am: 26962cc2a1

* commit '26962cc2a1e773e99c1711bef9b36e199fdc8989':
  Expect less in the presence of a string init call.

8 years agoMerge "Add an option to disable native stack dumping on SIGQUIT."
Nicolas Geoffray [Mon, 15 Feb 2016 16:41:12 +0000 (16:41 +0000)]
Merge "Add an option to disable native stack dumping on SIGQUIT."
am: c86382a7d1

* commit 'c86382a7d1685728fe000df43dd8ba7bc22278a5':
  Add an option to disable native stack dumping on SIGQUIT.

8 years agoMerge "Expect less in the presence of a string init call."
Nicolas Geoffray [Mon, 15 Feb 2016 16:32:16 +0000 (16:32 +0000)]
Merge "Expect less in the presence of a string init call."

8 years agoMerge "Add an option to disable native stack dumping on SIGQUIT."
Nicolas Geoffray [Mon, 15 Feb 2016 16:29:37 +0000 (16:29 +0000)]
Merge "Add an option to disable native stack dumping on SIGQUIT."

8 years agoMerge "ART: Run SsaBuilder from HGraphBuilder"
David Brazdil [Mon, 15 Feb 2016 16:27:37 +0000 (16:27 +0000)]
Merge "ART: Run SsaBuilder from HGraphBuilder"
am: b01e0e2e93

* commit 'b01e0e2e931b9670690a9eeffdbee73db588715d':
  ART: Run SsaBuilder from HGraphBuilder

8 years agoAdd an option to disable native stack dumping on SIGQUIT.
Nicolas Geoffray [Mon, 15 Feb 2016 13:05:16 +0000 (13:05 +0000)]
Add an option to disable native stack dumping on SIGQUIT.

Some of our (stress) run-tests do ANR dumping, which end up
stressing libunwind, that has known problems. To avoid getting
flakes due to libunwind, disable native stack dumping on SIGQUIT
for our run-tests.

bug:27185632
bug:24664297
Change-Id: I69085e48db903d6240448d71666ae2dcd091922e

8 years agoExpect less in the presence of a string init call.
Nicolas Geoffray [Mon, 15 Feb 2016 15:56:11 +0000 (15:56 +0000)]
Expect less in the presence of a string init call.

The compiler currently relies on the dex cache being populated
for doing proper type propagation. If it hasn't, we may end up in the
situation where the DexMethodInliner has recognized a String.<init> call
(because DexMethodInliner only looks at signatures, and does not resolve
types), but the graph builder doesn't see a type and assume it needs
to do access checks and clinit checks on it.

Change-Id: Id79313b0610b127909e3e057305b6632b0b172f7

8 years agoMerge "ART: Run SsaBuilder from HGraphBuilder"
David Brazdil [Mon, 15 Feb 2016 16:12:32 +0000 (16:12 +0000)]
Merge "ART: Run SsaBuilder from HGraphBuilder"

8 years agoMerge "ART: Implement HSelect with CSEL/FCSEL on arm64"
David Brazdil [Mon, 15 Feb 2016 16:08:08 +0000 (16:08 +0000)]
Merge "ART: Implement HSelect with CSEL/FCSEL on arm64"
am: 9b8beaa5d0

* commit '9b8beaa5d04afcab0e3ddb6306ed610c0d11da8d':
  ART: Implement HSelect with CSEL/FCSEL on arm64

8 years agoMerge "Optimizing: Simplify consecutive type conversions."
Vladimir Marko [Mon, 15 Feb 2016 15:55:35 +0000 (15:55 +0000)]
Merge "Optimizing: Simplify consecutive type conversions."
am: ccf88e56ff

* commit 'ccf88e56ff4e30b14aba8d4de0ae67aa9c178e5a':
  Optimizing: Simplify consecutive type conversions.

8 years agoMerge "ART: Implement HSelect with CSEL/FCSEL on arm64"
David Brazdil [Mon, 15 Feb 2016 15:53:55 +0000 (15:53 +0000)]
Merge "ART: Implement HSelect with CSEL/FCSEL on arm64"

8 years agoMerge "Optimizing: Simplify consecutive type conversions."
Vladimir Marko [Mon, 15 Feb 2016 15:39:47 +0000 (15:39 +0000)]
Merge "Optimizing: Simplify consecutive type conversions."

8 years agoOptimizing: Remove unnecessary And before TypeConversion.
Vladimir Marko [Fri, 12 Feb 2016 16:53:57 +0000 (16:53 +0000)]
Optimizing: Remove unnecessary And before TypeConversion.

For example `(byte) (x & 0xff)` doesn't need the `& 0xff`.

Bug: 23965701
Change-Id: I5fc8419491aff2cdc7074451e74e873b5f582d41

8 years agoOptimizing: Simplify consecutive type conversions.
Vladimir Marko [Fri, 12 Feb 2016 12:06:05 +0000 (12:06 +0000)]
Optimizing: Simplify consecutive type conversions.

Merge two consecutive type conversions to one if the result
of such merged conversion is guaranteed to be the same and
remove all implicit conversions, not just conversions to the
same type. Improve codegens to handle conversions from long
to integral types smaller than int.

This will make it easier to simplify `(byte) (x & 0xffL)` to
`(byte) x` where the conversion from long to byte is done by
two dex instructions, long-to-int and in int-to-byte.

Bug: 23965701
Change-Id: I833f193556671136ad2cd3f5b31cdfbc2d99c19d

8 years agoMerge "Switch the tests to using Jack for compilation"
Neil Fuller [Mon, 15 Feb 2016 13:31:15 +0000 (13:31 +0000)]
Merge "Switch the tests to using Jack for compilation"
am: b6de3d92e9

* commit 'b6de3d92e932c0cded1c2e208f6b8fa4eebe6f02':
  Switch the tests to using Jack for compilation

8 years agoMerge "Switch the tests to using Jack for compilation"
Neil Fuller [Mon, 15 Feb 2016 13:17:04 +0000 (13:17 +0000)]
Merge "Switch the tests to using Jack for compilation"