OSDN Git Service

android-x86/art.git
9 years agoam b5c5646b: Merge "Use the uncached form of BacktraceMap::Create."
Christopher Ferris [Tue, 5 Aug 2014 03:03:50 +0000 (03:03 +0000)]
am b5c5646b: Merge "Use the uncached form of BacktraceMap::Create."

* commit 'b5c5646b5ffd3d451af5e8d52b50743bf61d4c40':
  Use the uncached form of BacktraceMap::Create.

9 years agoam 27a10f61: Use the uncached form of BacktraceMap::Create.
Christopher Ferris [Tue, 5 Aug 2014 02:28:01 +0000 (02:28 +0000)]
am 27a10f61: Use the uncached form of BacktraceMap::Create.

* commit '27a10f618357cf85cc0677a04f0a5a3a8a437aed':
  Use the uncached form of BacktraceMap::Create.

9 years agoam c52361cf: Merge "ART: Refactor long ops in quick compiler"
Andreas Gampe [Tue, 5 Aug 2014 01:51:21 +0000 (01:51 +0000)]
am c52361cf: Merge "ART: Refactor long ops in quick compiler"

* commit 'c52361cfaae8be2fbaa25b175d4f6c37d4110764':
  ART: Refactor long ops in quick compiler

9 years agoMerge "ART: Refactor long ops in quick compiler"
Andreas Gampe [Tue, 5 Aug 2014 01:44:22 +0000 (01:44 +0000)]
Merge "ART: Refactor long ops in quick compiler"

9 years agoART: Refactor long ops in quick compiler
Andreas Gampe [Mon, 4 Aug 2014 23:30:03 +0000 (16:30 -0700)]
ART: Refactor long ops in quick compiler

Make GenArithOpLong virtual. Let the implementation in gen_common be
very basic, without instruction-set checks, and meant as a fall-back.
Backends should implement and dispatch to code for better implementations.
This allows to remove the GenXXXLong virtual methods from Mir2Lir, and
clean up the backends (especially removing some LOG(FATAL) implementations).

Change-Id: I6366443c0c325c1999582d281608b4fa229343cf

9 years agoMerge "Use the uncached form of BacktraceMap::Create."
Christopher Ferris [Tue, 5 Aug 2014 02:56:06 +0000 (02:56 +0000)]
Merge "Use the uncached form of BacktraceMap::Create."

9 years agoUse the uncached form of BacktraceMap::Create.
Christopher Ferris [Tue, 5 Aug 2014 00:15:21 +0000 (17:15 -0700)]
Use the uncached form of BacktraceMap::Create.

The code assumes that calling BacktraceMap::Create creates a map based
on the current state of the maps. This is not true by default, so
call the Create function indicating we want an uncached BacktraceMap object.

(cherry picked from 27a10f618357cf85cc0677a04f0a5a3a8a437aed)

Change-Id: Ic7a2dedaea9950174b24ede4dcda30ffe036fe93

9 years agoUse the uncached form of BacktraceMap::Create.
Christopher Ferris [Tue, 5 Aug 2014 00:15:21 +0000 (17:15 -0700)]
Use the uncached form of BacktraceMap::Create.

The code assumes that calling BacktraceMap::Create creates a map based
on the current state of the maps. This is not true by default, so
call the Create function indicating we want an uncached BacktraceMap object.

Change-Id: I2c35149ba43db29ef0a9411fa5d9267d7c4dcbb3

9 years agoam 9e9b15dd: Merge "Add trampoline invoke and ART callback tests for native-bridge"
Andreas Gampe [Mon, 4 Aug 2014 23:41:31 +0000 (23:41 +0000)]
am 9e9b15dd: Merge "Add trampoline invoke and ART callback tests for native-bridge"

* commit '9e9b15dd29ff4d91f31ed1063561963b2f99ad1c':
  Add trampoline invoke and ART callback tests for native-bridge

9 years agoam 1a09d286: Merge "AArch64: Implement InexpensiveConstant methods."
Andreas Gampe [Mon, 4 Aug 2014 23:27:13 +0000 (23:27 +0000)]
am 1a09d286: Merge "AArch64: Implement InexpensiveConstant methods."

* commit '1a09d286bdb4abc9aae06dcf4a8b052648816e2b':
  AArch64: Implement InexpensiveConstant methods.

9 years agoam c7975a33: Merge "AArch64: Add inlining support for ceil(), floor(), rint(), round()"
Andreas Gampe [Mon, 4 Aug 2014 23:03:23 +0000 (23:03 +0000)]
am c7975a33: Merge "AArch64: Add inlining support for ceil(), floor(), rint(), round()"

* commit 'c7975a33b9c8fb36e85c41162462aeec8e76232a':
  AArch64: Add inlining support for ceil(), floor(), rint(), round()

9 years agoMerge "AArch64: Implement InexpensiveConstant methods."
Andreas Gampe [Mon, 4 Aug 2014 23:22:12 +0000 (23:22 +0000)]
Merge "AArch64: Implement InexpensiveConstant methods."

9 years agoAArch64: Implement InexpensiveConstant methods.
Matteo Franchin [Fri, 4 Jul 2014 11:53:27 +0000 (12:53 +0100)]
AArch64: Implement InexpensiveConstant methods.

Implement IsInexpensiveConstant and friends for A64.
Also extending the methods to take the opcode with respect to which
the constant is inexpensive. Additionally, logical operations (i.e.
and, or, xor) can now handle the immediates 0 and ~0 (which are not
logical immediates).

Change-Id: I46ce1287703765c5ab54983d13c1b3a1f5838622

9 years agoam 316fb6e4: Merge "Make verifier identify unresolved methods as constructors by...
Jeff Hao [Mon, 4 Aug 2014 22:25:52 +0000 (22:25 +0000)]
am 316fb6e4: Merge "Make verifier identify unresolved methods as constructors by <init>."

* commit '316fb6e4992f41fa0742f1360c6497787c9433e3':
  Make verifier identify unresolved methods as constructors by <init>.

9 years agoam 04ce1134: Make verifier identify unresolved methods as constructors by <init>.
Jeff Hao [Mon, 4 Aug 2014 22:10:56 +0000 (22:10 +0000)]
am 04ce1134: Make verifier identify unresolved methods as constructors by <init>.

* commit '04ce113458b6b01f96d58dbb4c41682ee22d8b5d':
  Make verifier identify unresolved methods as constructors by <init>.

9 years agoMake verifier identify unresolved methods as constructors by <init>.
Jeff Hao [Mon, 4 Aug 2014 21:47:17 +0000 (14:47 -0700)]
Make verifier identify unresolved methods as constructors by <init>.

Check was previously missing brackets in the method name.

Bug: 16560516
Change-Id: I6b28f8413f3d4c14269a6de38731213d7c964af6

9 years agoam 7aaa8dbf: Merge "ART: Implement the easy long division/remainder by a constant"
Andreas Gampe [Mon, 4 Aug 2014 20:24:30 +0000 (20:24 +0000)]
am 7aaa8dbf: Merge "ART: Implement the easy long division/remainder by a constant"

* commit '7aaa8dbfbcde7f58564b42044892891559669838':
  ART: Implement the easy long division/remainder by a constant

9 years agoam 4e97f656: Merge "Move image classes options from art to AndroidRuntime [art]"
Brian Carlstrom [Mon, 4 Aug 2014 19:26:35 +0000 (19:26 +0000)]
am 4e97f656: Merge "Move image classes options from art to AndroidRuntime [art]"

* commit '4e97f6564fa51609d5651374dcdd2a8f4e79f272':
  Move image classes options from art to AndroidRuntime [art]

9 years agoam dc3ca147: Merge "Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat...
Brian Carlstrom [Mon, 4 Aug 2014 19:26:34 +0000 (19:26 +0000)]
am dc3ca147: Merge "Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [art]"

* commit 'dc3ca147ee880088eb2f52b7b0355062ba5749be':
  Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [art]

9 years agoam 77a5b501: Merge "AArch64: Remove unnecessary work around for sp."
Andreas Gampe [Mon, 4 Aug 2014 17:52:59 +0000 (17:52 +0000)]
am 77a5b501: Merge "AArch64: Remove unnecessary work around for sp."

* commit '77a5b50148633c2651edb7f35f5254e40cc878dc':
  AArch64: Remove unnecessary work around for sp.

9 years agoam f7f6c978: Merge "Inform about System.exit() call in logcat"
Narayan Kamath [Mon, 4 Aug 2014 17:38:47 +0000 (17:38 +0000)]
am f7f6c978: Merge "Inform about System.exit() call in logcat"

* commit 'f7f6c978d44a785d4c12879c6ca20ca1832d3217':
  Inform about System.exit() call in logcat

9 years agoam 7906b25f: Merge "ART: Rework ARM64 entry sequence"
Andreas Gampe [Mon, 4 Aug 2014 16:40:46 +0000 (16:40 +0000)]
am 7906b25f: Merge "ART: Rework ARM64 entry sequence"

* commit '7906b25f79f24af3a8b8eee0454b4db1278b9b77':
  ART: Rework ARM64 entry sequence

9 years agoam d4c3c62c: Fix broken JNI IsAssignableFrom.
Narayan Kamath [Mon, 4 Aug 2014 12:17:41 +0000 (12:17 +0000)]
am d4c3c62c: Fix broken JNI IsAssignableFrom.

* commit 'd4c3c62cc68296fbaf35e7b37108c2fde2278a3b':
  Fix broken JNI IsAssignableFrom.

9 years agoam 43c63b5a: Merge "Fix broken JNI IsAssignableFrom."
Narayan Kamath [Mon, 4 Aug 2014 11:39:30 +0000 (11:39 +0000)]
am 43c63b5a: Merge "Fix broken JNI IsAssignableFrom."

* commit '43c63b5aaa7cd1c6d0ca13b7ea28cc321848d127':
  Fix broken JNI IsAssignableFrom.

9 years agoFix broken JNI IsAssignableFrom.
Narayan Kamath [Fri, 11 Jul 2014 18:15:11 +0000 (19:15 +0100)]
Fix broken JNI IsAssignableFrom.

The expected argument order was the opposite of what the spec
dictated.

Reported-By: Mikhail Naganov <mnaganov@google.com>
bug: 16531674

(cherry picked from commit 1268b742c8cff7318dc0b5b283cbaeabfe0725ba)

Change-Id: I2b6636998c4e15c1eb10dc96a57940aca56c4d0d

9 years agoMerge "Inform about System.exit() call in logcat"
Narayan Kamath [Mon, 4 Aug 2014 17:31:49 +0000 (17:31 +0000)]
Merge "Inform about System.exit() call in logcat"

9 years agoInform about System.exit() call in logcat
Dmitry Petrochenko [Thu, 3 Jul 2014 10:07:45 +0000 (17:07 +0700)]
Inform about System.exit() call in logcat

This diagnostic message helps to filter out crashes during System.exit()
when thread's behaviour is undefined.

Change-Id: I772932a35b503b1efca695e7da7bf2e562c03a7c
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
9 years agoMerge "Fix broken JNI IsAssignableFrom."
Narayan Kamath [Mon, 4 Aug 2014 11:24:20 +0000 (11:24 +0000)]
Merge "Fix broken JNI IsAssignableFrom."

9 years agoFix broken JNI IsAssignableFrom.
Narayan Kamath [Fri, 11 Jul 2014 18:15:11 +0000 (19:15 +0100)]
Fix broken JNI IsAssignableFrom.

The expected argument order was the opposite of what the spec
dictated.

Reported-By: Mikhail Naganov <mnaganov@google.com>
bug: 16531674

Change-Id: I1ebc6d5814ebb4feeb96f3ecdf1a4602da4ba7ce

9 years agoMerge "Make verifier identify unresolved methods as constructors by <init>."
Jeff Hao [Mon, 4 Aug 2014 22:17:40 +0000 (22:17 +0000)]
Merge "Make verifier identify unresolved methods as constructors by <init>."

9 years agoMake verifier identify unresolved methods as constructors by <init>.
Jeff Hao [Mon, 4 Aug 2014 21:47:17 +0000 (14:47 -0700)]
Make verifier identify unresolved methods as constructors by <init>.

Check was previously missing brackets in the method name.

Bug: 16560516

(cherry picked from commit 04ce113458b6b01f96d58dbb4c41682ee22d8b5d)

Change-Id: Ie98c5b84e73ffc43ea08e1b08ae9c6e41bcd5891

9 years agoMerge "ART: Implement the easy long division/remainder by a constant"
Andreas Gampe [Mon, 4 Aug 2014 19:36:53 +0000 (19:36 +0000)]
Merge "ART: Implement the easy long division/remainder by a constant"

9 years agoART: Implement the easy long division/remainder by a constant
Alexei Zavjalov [Mon, 14 Jul 2014 19:19:41 +0000 (02:19 +0700)]
ART: Implement the easy long division/remainder by a constant

Also optimizes long/int divisions by power-of-two values.

Also do some clean-up.

Change-Id: Ie414e64aac251c81361ae107d157c14439e6dab5
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
9 years agoMerge "Move image classes options from art to AndroidRuntime [art]"
Brian Carlstrom [Mon, 4 Aug 2014 18:27:31 +0000 (18:27 +0000)]
Merge "Move image classes options from art to AndroidRuntime [art]"

9 years agoMerge "Add trampoline invoke and ART callback tests for native-bridge"
Andreas Gampe [Mon, 4 Aug 2014 23:32:31 +0000 (23:32 +0000)]
Merge "Add trampoline invoke and ART callback tests for native-bridge"

9 years agoAdd trampoline invoke and ART callback tests for native-bridge
Yong WU [Sun, 3 Aug 2014 08:06:52 +0000 (16:06 +0800)]
Add trampoline invoke and ART callback tests for native-bridge

Create trampolines for JNI functions in native-bridge. Test trampoline
invoking from ART side.

Add tests for ART callbacks which called from native-bridge. In this test
they are invoked from the trampoline of JNI_OnLoad.

Change-Id: Ibaa5103fdf49a6b29a1c12f45410fe5f82d46b1e

9 years agoMerge "Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [art]"
Brian Carlstrom [Mon, 4 Aug 2014 18:27:30 +0000 (18:27 +0000)]
Merge "Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [art]"

9 years agoMerge "ART: Rework ARM64 entry sequence"
Andreas Gampe [Mon, 4 Aug 2014 16:32:25 +0000 (16:32 +0000)]
Merge "ART: Rework ARM64 entry sequence"

9 years agoART: Rework ARM64 entry sequence
Andreas Gampe [Tue, 29 Jul 2014 07:35:00 +0000 (00:35 -0700)]
ART: Rework ARM64 entry sequence

Try to fold one sub of SP in the ARM64 entry sequence. When the
framesize is small, generate a sub over the full frame-size, and
adjust the spill offsets accordingly. If the framesize is too
large, use a pre-indexed store and fill upwards from there.

Change-Id: I1c15ac6276fb62b8164372de02fd92437f605938

9 years agoMerge "AArch64: Add inlining support for ceil(), floor(), rint(), round()"
Andreas Gampe [Mon, 4 Aug 2014 22:56:32 +0000 (22:56 +0000)]
Merge "AArch64: Add inlining support for ceil(), floor(), rint(), round()"

9 years agoAArch64: Add inlining support for ceil(), floor(), rint(), round()
Serban Constantinescu [Thu, 31 Jul 2014 18:07:17 +0000 (19:07 +0100)]
AArch64: Add inlining support for ceil(), floor(), rint(), round()

This patch adds inlining support for the following Math, StrictMath
methods in the ARM64 backend:
  * double ceil(double)
  * double floor(double)
  * double rint(double)
  * long round(double)
  * int round(float)

Also some cleanup.

Change-Id: I9f5a2f4065b1313649f4b0c4380b8176703c3fe1
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
9 years agoMerge "AArch64: Remove unnecessary work around for sp."
Andreas Gampe [Mon, 4 Aug 2014 17:46:05 +0000 (17:46 +0000)]
Merge "AArch64: Remove unnecessary work around for sp."

9 years agoAArch64: Remove unnecessary work around for sp.
Zheng Xu [Tue, 1 Jul 2014 01:53:22 +0000 (09:53 +0800)]
AArch64: Remove unnecessary work around for sp.

Use RegRegRegExtend to encode instruction for "sub/add sp, sp, Xm".

Change-Id: I13d3d2d386a7bd827e1396f291a7dcb9bffd5a29

9 years agoam 89c210bf: Merge "Revert "Revert "Enable Load Store Elimination for ARM and ARM64"""
Bill Buzbee [Thu, 31 Jul 2014 22:29:01 +0000 (22:29 +0000)]
am 89c210bf: Merge "Revert "Revert "Enable Load Store Elimination for ARM and ARM64"""

* commit '89c210bf418a152ccabfbbf853ddcce33aea450d':
  Revert "Revert "Enable Load Store Elimination for ARM and ARM64""

9 years agoam 59a5525e: Merge "Add read barriers for the roots in the verifier."
Hiroshi Yamauchi [Thu, 31 Jul 2014 22:28:53 +0000 (22:28 +0000)]
am 59a5525e: Merge "Add read barriers for the roots in the verifier."

* commit '59a5525e72d723c8598b6271c7b09845999beeb0':
  Add read barriers for the roots in the verifier.

9 years agoMerge "Revert "Revert "Enable Load Store Elimination for ARM and ARM64"""
Bill Buzbee [Thu, 31 Jul 2014 21:02:56 +0000 (21:02 +0000)]
Merge "Revert "Revert "Enable Load Store Elimination for ARM and ARM64"""

9 years agoam 2eb3769c: Merge "Make ImageSpace skip validation if we are using a relocated image"
Narayan Kamath [Thu, 31 Jul 2014 18:14:23 +0000 (18:14 +0000)]
am 2eb3769c: Merge "Make ImageSpace skip validation if we are using a relocated image"

* commit '2eb3769cf75724ce84dcb1b11bddcc1247444799':
  Make ImageSpace skip validation if we are using a relocated image

9 years agoam 1175aec5: Merge "Fix image not regenerating on changes to bootclasspath"
Narayan Kamath [Thu, 31 Jul 2014 17:18:41 +0000 (17:18 +0000)]
am 1175aec5: Merge "Fix image not regenerating on changes to bootclasspath"

* commit '1175aec5f686b9e3d429282d7d4022c39436f71f':
  Fix image not regenerating on changes to bootclasspath

9 years agoam 07206af3: Reduce time and memory usage of GVN.
Vladimir Marko [Thu, 31 Jul 2014 14:28:47 +0000 (14:28 +0000)]
am 07206af3: Reduce time and memory usage of GVN.

* commit '07206af370746e6d7cf528e655b4854e7a865cfa':
  Reduce time and memory usage of GVN.

9 years agoam 00d1ef41: Merge "ART: LoadConstWide should clobber temp reg"
Bill Buzbee [Thu, 31 Jul 2014 14:15:48 +0000 (14:15 +0000)]
am 00d1ef41: Merge "ART: LoadConstWide should clobber temp reg"

* commit '00d1ef41d0d0d438d604d102183a6bfac58643e7':
  ART: LoadConstWide should clobber temp reg

9 years agoam 70f7d48b: Merge "Reduce time and memory usage of GVN."
Vladimir Marko [Thu, 31 Jul 2014 13:26:38 +0000 (13:26 +0000)]
am 70f7d48b: Merge "Reduce time and memory usage of GVN."

* commit '70f7d48b9f2ad768c1e1a5bd96979870379f05e2':
  Reduce time and memory usage of GVN.

9 years agoam 36b111c7: Merge "ART: Build fix"
Andreas Gampe [Thu, 31 Jul 2014 13:26:31 +0000 (13:26 +0000)]
am 36b111c7: Merge "ART: Build fix"

* commit '36b111c7d3d635e262114dabde4c26952c7dcbe6':
  ART: Build fix

9 years agoam cc75c1b3: Merge "1. Fix CFI for quick compiled code in x86 & x86_64; 2. Emit CFI...
Ian Rogers [Thu, 31 Jul 2014 13:26:15 +0000 (13:26 +0000)]
am cc75c1b3: Merge "1. Fix CFI for quick compiled code in x86 & x86_64; 2. Emit CFI in .eh_frame instead of .debug_frame."

* commit 'cc75c1b38e811cc1cb93ce8f8fcc9a83e20844fb':
  1. Fix CFI for quick compiled code in x86 & x86_64; 2. Emit CFI in .eh_frame instead of .debug_frame.

9 years agoam 9900a610: Merge "Add --always-clean flag to run-test."
Ian Rogers [Thu, 31 Jul 2014 13:26:14 +0000 (13:26 +0000)]
am 9900a610: Merge "Add --always-clean flag to run-test."

* commit '9900a610fbb40c49b0503183b79c4bbb376c4128':
  Add --always-clean flag to run-test.

9 years agoReduce time and memory usage of GVN.
Vladimir Marko [Tue, 29 Jul 2014 11:04:10 +0000 (12:04 +0100)]
Reduce time and memory usage of GVN.

Filter out dead sregs in GVN. Reclaim memory after each LVN
in the GVN modification phase.

Bug: 16398693

(cherry picked from commit b19955d3c8fbd9588f7e17299e559d02938154b6)

Change-Id: I33c7912258a768b4c99d787056979fbc3b023b3b

9 years agoam b99b8d6c: ART: Fix verifier mishandling erroneous array component types
Andreas Gampe [Thu, 31 Jul 2014 03:59:42 +0000 (03:59 +0000)]
am b99b8d6c: ART: Fix verifier mishandling erroneous array component types

* commit 'b99b8d6cffe08d8c9d30175c936e5c88d3101802':
  ART: Fix verifier mishandling erroneous array component types

9 years agoam e34e467f: Merge "ART: Fix verifier mishandling erroneous array component types"
Andreas Gampe [Thu, 31 Jul 2014 03:48:14 +0000 (03:48 +0000)]
am e34e467f: Merge "ART: Fix verifier mishandling erroneous array component types"

* commit 'e34e467f9adf59ba7febdc22b6329ef4b853e123':
  ART: Fix verifier mishandling erroneous array component types

9 years agoART: Fix verifier mishandling erroneous array component types
Andreas Gampe [Thu, 31 Jul 2014 01:59:05 +0000 (18:59 -0700)]
ART: Fix verifier mishandling erroneous array component types

The verifier must not assume that component types are not erroneous.

Bug: 16661259

(cherry picked from commit aa910d5ef43256102809e397de305c23f1c315e6)

Change-Id: I6d607310593ac337616581bfdff5eb29a8dd1b9d

9 years agoam 6bff7130: Add support for bump pointer spaces to DdmSendHeapSegments.
Mathieu Chartier [Thu, 31 Jul 2014 00:39:58 +0000 (00:39 +0000)]
am 6bff7130: Add support for bump pointer spaces to DdmSendHeapSegments.

* commit '6bff7130878128c9836a21ae58d0cfdb0075b1b5':
  Add support for bump pointer spaces to DdmSendHeapSegments.

9 years agoam da4a1264: Merge "Add support for bump pointer spaces to DdmSendHeapSegments."
Mathieu Chartier [Thu, 31 Jul 2014 00:26:19 +0000 (00:26 +0000)]
am da4a1264: Merge "Add support for bump pointer spaces to DdmSendHeapSegments."

* commit 'da4a1264cd7d5db9ed01cfd1eeaed71cb11c6c71':
  Add support for bump pointer spaces to DdmSendHeapSegments.

9 years agoAdd support for bump pointer spaces to DdmSendHeapSegments.
Mathieu Chartier [Wed, 30 Jul 2014 21:59:56 +0000 (14:59 -0700)]
Add support for bump pointer spaces to DdmSendHeapSegments.

Added support for bump pointer spaces as well as
differentiating between DlMallocSpaces and RosAllocSpaces.
Added logic to reset the start of next chunk to prevent
inbetween space regions counted as free.

Fixed a debug build bug where we were doing an mprotect after
creating a rosalloc space. In debug builds, this writes a magic
value in the page. This was faulting since it was set to PROT_NONE.
The fix moves the mprotect before the RosAlloc space creation.

Bug: 16408851

(cherry picked from commit 36dab3607e77505ce139eacef1c62a1c4bc4affd)

Change-Id: I5095feb01fa7e248178a2833da7f821f4fd52c89

9 years agoMove image classes options from art to AndroidRuntime [art]
Brian Carlstrom [Wed, 30 Jul 2014 22:13:25 +0000 (15:13 -0700)]
Move image classes options from art to AndroidRuntime [art]

Bug: 15165413
Change-Id: I3dfa702ac29279cf76d4cc451138c03a5158ac3a

9 years agoMove from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [art]
Brian Carlstrom [Tue, 29 Jul 2014 02:13:27 +0000 (19:13 -0700)]
Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [art]

This will allow us to conditionally change the compiler-filter based on other properties.

Bug: 15165413
Change-Id: I6877a6eab221ab142909b595fd28191b5d3a095b

9 years agoMerge "ART: Build fix"
Andreas Gampe [Thu, 31 Jul 2014 06:24:06 +0000 (06:24 +0000)]
Merge "ART: Build fix"

9 years agoART: Build fix
Andreas Gampe [Thu, 31 Jul 2014 06:21:36 +0000 (23:21 -0700)]
ART: Build fix

Make lint happy, as comments should be separated from code.

Change-Id: I4bfd88357302be9a6a104f1152e3b1fda386371e

9 years agoMerge "ART: Fix verifier mishandling erroneous array component types"
Andreas Gampe [Thu, 31 Jul 2014 03:39:34 +0000 (03:39 +0000)]
Merge "ART: Fix verifier mishandling erroneous array component types"

9 years agoART: Fix verifier mishandling erroneous array component types
Andreas Gampe [Thu, 31 Jul 2014 01:59:05 +0000 (18:59 -0700)]
ART: Fix verifier mishandling erroneous array component types

The verifier must not assume that component types are not erroneous.

Bug: 16661259
Change-Id: I23b2f517259ca9c0b8a1aa38f6348fcd61e0b22e

9 years agoMerge "Add support for bump pointer spaces to DdmSendHeapSegments."
Mathieu Chartier [Thu, 31 Jul 2014 00:15:37 +0000 (00:15 +0000)]
Merge "Add support for bump pointer spaces to DdmSendHeapSegments."

9 years agoAdd support for bump pointer spaces to DdmSendHeapSegments.
Mathieu Chartier [Wed, 30 Jul 2014 21:59:56 +0000 (14:59 -0700)]
Add support for bump pointer spaces to DdmSendHeapSegments.

Added support for bump pointer spaces as well as
differentiating between DlMallocSpaces and RosAllocSpaces.
Added logic to reset the start of next chunk to prevent
inbetween space regions counted as free.

Fixed a debug build bug where we were doing an mprotect after
creating a rosalloc space. In debug builds, this writes a magic
value in the page. This was faulting since it was set to PROT_NONE.
The fix moves the mprotect before the RosAlloc space creation.

Bug: 16408851
Change-Id: Ibe18198d05ff353fbb57d10b2f7719fdcbf1c5f0

9 years agoam 01a0ebb6: Merge "Make 32bit run-tests work correctly on 64bit default devices."
Brian Carlstrom [Wed, 30 Jul 2014 17:49:42 +0000 (17:49 +0000)]
am 01a0ebb6: Merge "Make 32bit run-tests work correctly on 64bit default devices."

* commit '01a0ebb6b96c32879dcad99d515fc0cd8de2a266':
  Make 32bit run-tests work correctly on 64bit default devices.

9 years agoam c7c6d18a: Stop thread from reattaching during runtime shutdown while tracing.
Jeff Hao [Wed, 30 Jul 2014 16:42:18 +0000 (16:42 +0000)]
am c7c6d18a: Stop thread from reattaching during runtime shutdown while tracing.

* commit 'c7c6d18a90079b67a7592d3f2cb3d4c6f0081512':
  Stop thread from reattaching during runtime shutdown while tracing.

9 years agoam 78b367a6: Merge "Submitted wrong changelist!" into lmp-dev
Jeff Hao [Wed, 30 Jul 2014 16:41:54 +0000 (16:41 +0000)]
am 78b367a6: Merge "Submitted wrong changelist!" into lmp-dev

* commit '78b367a666deb0325b5f509021b14a53625d3786':
  Submitted wrong changelist!

9 years agoam fb74d873: Merge "Stop thread from reattaching during runtime shutdown while tracin...
Jeff Hao [Wed, 30 Jul 2014 16:41:54 +0000 (16:41 +0000)]
am fb74d873: Merge "Stop thread from reattaching during runtime shutdown while tracing." into lmp-dev

* commit 'fb74d873bde1ea396f5e8603f2c193e7b539345f':
  Stop thread from reattaching during runtime shutdown while tracing.

9 years agoam 5cac343e: ART: Check for duplicate class definitions in dex file verifier
Andreas Gampe [Wed, 30 Jul 2014 16:38:51 +0000 (16:38 +0000)]
am 5cac343e: ART: Check for duplicate class definitions in dex file verifier

* commit '5cac343e28fe28d4bc9ccc6db5cab38db1f2b59d':
  ART: Check for duplicate class definitions in dex file verifier

9 years agoam ef57ed72: Merge "ART: Remove bogus dcheck"
Andreas Gampe [Wed, 30 Jul 2014 15:31:53 +0000 (15:31 +0000)]
am ef57ed72: Merge "ART: Remove bogus dcheck"

* commit 'ef57ed72a3ac856f6115ae89c609d4fd892e8c41':
  ART: Remove bogus dcheck

9 years agoam eaa6da1b: ART: Bump oat version for embedded vtable
Andreas Gampe [Wed, 30 Jul 2014 14:14:58 +0000 (14:14 +0000)]
am eaa6da1b: ART: Bump oat version for embedded vtable

* commit 'eaa6da1b8381bc7cb9076e90b7ec06812b9d0d2d':
  ART: Bump oat version for embedded vtable

9 years agoam 9854fe24: Fix build, missing spaces around =/<.
Mingyao Yang [Wed, 30 Jul 2014 14:14:57 +0000 (14:14 +0000)]
am 9854fe24: Fix build, missing spaces around =/<.

* commit '9854fe24d3e22a2e232597b4334ac93205ff17ed':
  Fix build, missing spaces around =/<.

9 years agoresolved conflicts for merge of e19f2b00 to lmp-dev-plus-aosp
Mingyao Yang [Wed, 30 Jul 2014 04:47:26 +0000 (21:47 -0700)]
resolved conflicts for merge of e19f2b00 to lmp-dev-plus-aosp

Change-Id: I678a541f0bcef726db44ccb50cb6feb71ec498e5

9 years agoStop thread from reattaching during runtime shutdown while tracing.
Jeff Hao [Tue, 29 Jul 2014 01:35:38 +0000 (18:35 -0700)]
Stop thread from reattaching during runtime shutdown while tracing.

Bug: 16024763

(cherry picked from commit c5d824a20c225763761a6dff43294b229ff35469)

Change-Id: Ideab9adedabf3c58f5162e43e79c72af0642bdfa

9 years agoam f90283f6: Merge "ART: Check for duplicate class definitions in dex file verifier"
Andreas Gampe [Tue, 29 Jul 2014 23:26:04 +0000 (23:26 +0000)]
am f90283f6: Merge "ART: Check for duplicate class definitions in dex file verifier"

* commit 'f90283f61d6ca37abf3a9fb8447d05e79caf0160':
  ART: Check for duplicate class definitions in dex file verifier

9 years agoART: Check for duplicate class definitions in dex file verifier
Andreas Gampe [Tue, 29 Jul 2014 08:22:07 +0000 (01:22 -0700)]
ART: Check for duplicate class definitions in dex file verifier

Reject dex files that try to define two classes with the same type id.

Bug: 16016492

(cherry picked from commit 0ba238dcc21ae3544e1e8cb5d108725db8a1c134)

Change-Id: Ie04a684b41b50313449b87c5c3574e89f800e254

9 years agoMerge "Make ImageSpace skip validation if we are using a relocated image"
Narayan Kamath [Thu, 31 Jul 2014 18:06:57 +0000 (18:06 +0000)]
Merge "Make ImageSpace skip validation if we are using a relocated image"

9 years agoMake ImageSpace skip validation if we are using a relocated image
Alex Light [Thu, 31 Jul 2014 17:48:46 +0000 (10:48 -0700)]
Make ImageSpace skip validation if we are using a relocated image

Change-Id: I0682d1870f5b3e27adb9c9de803fbb7d364ad00d

9 years agoMerge "Fix image not regenerating on changes to bootclasspath"
Narayan Kamath [Thu, 31 Jul 2014 16:56:26 +0000 (16:56 +0000)]
Merge "Fix image not regenerating on changes to bootclasspath"

9 years agoFix image not regenerating on changes to bootclasspath
Alex Light [Thu, 31 Jul 2014 16:32:13 +0000 (09:32 -0700)]
Fix image not regenerating on changes to bootclasspath

Bug: 16367410
Change-Id: I10e81d068ffc2ab712a287f88ef67f6a1be4df4c

9 years agoam 58e17cea: Merge "Stop thread from reattaching during runtime shutdown while tracing."
Jeff Hao [Tue, 29 Jul 2014 22:21:52 +0000 (22:21 +0000)]
am 58e17cea: Merge "Stop thread from reattaching during runtime shutdown while tracing."

* commit '58e17cea2da3e541610e9bcdf8ef3efd983e1390':
  Stop thread from reattaching during runtime shutdown while tracing.

9 years agoam f2e92073: Merge "Add GcRoot to clean up and enforce read barriers."
Hiroshi Yamauchi [Tue, 29 Jul 2014 22:21:51 +0000 (22:21 +0000)]
am f2e92073: Merge "Add GcRoot to clean up and enforce read barriers."

* commit 'f2e920734dddbc0eee35c3ba27b88b732df4f82c':
  Add GcRoot to clean up and enforce read barriers.

9 years agoART: Bump oat version for embedded vtable
Andreas Gampe [Tue, 29 Jul 2014 21:45:33 +0000 (14:45 -0700)]
ART: Bump oat version for embedded vtable

Change-Id: Ieb84a8d9486a3d99d48e8395ef3634a365142f2f

9 years agoFix build, missing spaces around =/<.
Mingyao Yang [Wed, 23 Jul 2014 00:33:25 +0000 (17:33 -0700)]
Fix build, missing spaces around =/<.

(cherry picked from commit 1a12858eb15a14788478c4aca82c052bc84fcafa)

Change-Id: Id2d276cd1fb8bb95c46ff5ceacc7cfe1f5acf192

9 years agoSet vtable in class object to null after linking.
Mingyao Yang [Wed, 16 Jul 2014 17:44:41 +0000 (10:44 -0700)]
Set vtable in class object to null after linking.

This is follow-up work of embedding imt and vtable for
faster interface/virtual call dispatching.
Once vtable becomes embedded, the original vtable is nulled.

(cherry picked from commit 2cdbad7c62f126581ec5177104de961c4d71adaa)

Change-Id: I6acdcd1ee560d387fb77c55c58bbe3598c197ba1

9 years agoMerge "ART: LoadConstWide should clobber temp reg"
Bill Buzbee [Thu, 31 Jul 2014 14:08:33 +0000 (14:08 +0000)]
Merge "ART: LoadConstWide should clobber temp reg"

9 years agoART: LoadConstWide should clobber temp reg
Alexei Zavjalov [Wed, 30 Jul 2014 12:31:04 +0000 (19:31 +0700)]
ART: LoadConstWide should clobber temp reg

If we have 2+ LoadConstWide(FP) calls in one method it is possible
that LoadConstWide will load the method poiner only once. In some
cases, for example, if we have branches, initialization might not be
done and it may lead to a segmentation fault.

Change-Id: If45fc2d1109d7ce9bd272f5c56446b2a6884daac
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
9 years agoMerge "Add read barriers for the roots in the verifier."
Hiroshi Yamauchi [Thu, 31 Jul 2014 18:32:43 +0000 (18:32 +0000)]
Merge "Add read barriers for the roots in the verifier."

9 years agoAdd read barriers for the roots in the verifier.
Hiroshi Yamauchi [Wed, 30 Jul 2014 21:26:22 +0000 (14:26 -0700)]
Add read barriers for the roots in the verifier.

Note: Because the roots (the class references in RegType objects) can
be updated by the read barriers, a lot of uses of type "const RegType"
were replaced with "RegType".

Bug: 12687968
Change-Id: I6cf37a87f352938d43fb51560a8d927ada104f50

9 years agoMerge "1. Fix CFI for quick compiled code in x86 & x86_64; 2. Emit CFI in .eh_frame...
Ian Rogers [Thu, 31 Jul 2014 04:21:44 +0000 (04:21 +0000)]
Merge "1. Fix CFI for quick compiled code in x86 & x86_64; 2. Emit CFI in .eh_frame instead of .debug_frame."

9 years ago1. Fix CFI for quick compiled code in x86 & x86_64;
Tong Shen [Wed, 30 Jul 2014 16:31:22 +0000 (09:31 -0700)]
1. Fix CFI for quick compiled code in x86 & x86_64;
2. Emit CFI in .eh_frame instead of .debug_frame.

With CFI, we can correctly unwind past quick generated code.
Now gdb should unwind to main() for both x86 & x86_64 host-side ART.

Note that it does not work with relocation yet.

Testing:
1. art/test/run-test --host --gdb [--64] --no-relocate 005
2. In gdb, run 'b art_quick_invoke_stub', then 'r', then 'c' a few times
3. In gdb, run 'bt'. You should see stack frames down to main()

Change-Id: I5350d4097dc3d360a60cb17c94f1d02b99bc58bb

9 years agoMerge "Add --always-clean flag to run-test."
Ian Rogers [Thu, 31 Jul 2014 03:56:05 +0000 (03:56 +0000)]
Merge "Add --always-clean flag to run-test."

9 years agoAdd --always-clean flag to run-test.
Alex Light [Wed, 30 Jul 2014 16:41:21 +0000 (09:41 -0700)]
Add --always-clean flag to run-test.

This flag makes run-test remove the test-artifacts even if it fails. Also
enable this option by default when doing run-tests with make. Add
a ART_TEST_RUN_TEST_ALWAYS_CLEAN environment variable to control this
option.

Change-Id: I7867b400d570d8d679d9822d1fa65f49eb3522ae

9 years agoMerge "Make 32bit run-tests work correctly on 64bit default devices."
Brian Carlstrom [Wed, 30 Jul 2014 17:41:27 +0000 (17:41 +0000)]
Merge "Make 32bit run-tests work correctly on 64bit default devices."

9 years agoMake 32bit run-tests work correctly on 64bit default devices.
Alex Light [Wed, 30 Jul 2014 01:31:18 +0000 (18:31 -0700)]
Make 32bit run-tests work correctly on 64bit default devices.

Change-Id: I7a5ca303ab91dec0df95358435e4a56c18a7fce3