OSDN Git Service

android-x86/art.git
10 years agoam 31029988: Merge "ART: Make a soft failure in method verifier hard, add check"
Andreas Gampe [Fri, 18 Jul 2014 01:37:58 +0000 (01:37 +0000)]
am 31029988: Merge "ART: Make a soft failure in method verifier hard, add check"

* commit '31029988d48074b4193e44856eb863305a2658fb':
  ART: Make a soft failure in method verifier hard, add check

10 years agoam 9cd20b21: Merge "ART: Use array-inl.h in reference_table_test"
Andreas Gampe [Fri, 18 Jul 2014 01:37:57 +0000 (01:37 +0000)]
am 9cd20b21: Merge "ART: Use array-inl.h in reference_table_test"

* commit '9cd20b21c78a85c0ec01a6e282d23a2b2b5df0c5':
  ART: Use array-inl.h in reference_table_test

10 years agoam b12d6055: Merge "Fix two read barrier bugs introduced in CL 97882."
Hiroshi Yamauchi [Fri, 18 Jul 2014 00:24:34 +0000 (00:24 +0000)]
am b12d6055: Merge "Fix two read barrier bugs introduced in CL 97882."

* commit 'b12d6055432f6974317ca1b5c9260db0d410df3e':
  Fix two read barrier bugs introduced in CL 97882.

10 years agoMerge "Fix two read barrier bugs introduced in CL 97882."
Hiroshi Yamauchi [Fri, 18 Jul 2014 00:16:30 +0000 (00:16 +0000)]
Merge "Fix two read barrier bugs introduced in CL 97882."

10 years agoFix two read barrier bugs introduced in CL 97882.
Hiroshi Yamauchi [Thu, 17 Jul 2014 23:16:31 +0000 (16:16 -0700)]
Fix two read barrier bugs introduced in CL 97882.

Bug: 12687968
Change-Id: Ib28da4c33977cc58b09913ef5b738dec75365714

10 years agoMerge "ART: Make a soft failure in method verifier hard, add check"
Andreas Gampe [Fri, 18 Jul 2014 01:32:01 +0000 (01:32 +0000)]
Merge "ART: Make a soft failure in method verifier hard, add check"

10 years agoART: Make a soft failure in method verifier hard, add check
Andreas Gampe [Thu, 17 Jul 2014 23:13:35 +0000 (16:13 -0700)]
ART: Make a soft failure in method verifier hard, add check

Make the soft error of using a primitive type in an instanceof a
hard verifier error.

Add a check when doing check_cast peep-hole optimization to check
whether the cast type is valid.

Bug: 16020300
Change-Id: Icaea560d17804f24a13dc09c115e9ec7039cb472

10 years agoMerge "ART: Use array-inl.h in reference_table_test"
Andreas Gampe [Fri, 18 Jul 2014 01:31:36 +0000 (01:31 +0000)]
Merge "ART: Use array-inl.h in reference_table_test"

10 years agoART: Use array-inl.h in reference_table_test
Andreas Gampe [Thu, 17 Jul 2014 21:52:06 +0000 (14:52 -0700)]
ART: Use array-inl.h in reference_table_test

The test allocates arrays, which is an inline definition.

Change-Id: I1423c5419949d7c352ed0e614d4f9c5920831deb

10 years agoam 031ddea2: Merge "Fix identifier size in the heap dump."
Calin Juravle [Thu, 17 Jul 2014 21:47:41 +0000 (21:47 +0000)]
am 031ddea2: Merge "Fix identifier size in the heap dump."

* commit '031ddea20cb311dfdb3bd16a13750f9cb426b299':
  Fix identifier size in the heap dump.

10 years agoam d07c9cdd: ART: Lock an arg reg in GenInlinedGet
Andreas Gampe [Thu, 17 Jul 2014 20:57:05 +0000 (20:57 +0000)]
am d07c9cdd: ART: Lock an arg reg in GenInlinedGet

* commit 'd07c9cddccd0476456a5340b716bce3f107013b0':
  ART: Lock an arg reg in GenInlinedGet

10 years agoresolved conflicts for merge of d8561422 to lmp-dev-plus-aosp
Fred Shih [Thu, 17 Jul 2014 20:35:11 +0000 (13:35 -0700)]
resolved conflicts for merge of d8561422 to lmp-dev-plus-aosp

Change-Id: I5e379c083a08051909a8ddf5ff1c158ce9e7ee9a

10 years agoMerge "Fix identifier size in the heap dump."
Calin Juravle [Thu, 17 Jul 2014 20:08:08 +0000 (20:08 +0000)]
Merge "Fix identifier size in the heap dump."

10 years agoFix identifier size in the heap dump.
Calin Juravle [Fri, 4 Jul 2014 15:24:03 +0000 (16:24 +0100)]
Fix identifier size in the heap dump.

We're using addresses as IDs and previously we would have written
sizeof(void*) as the identifier size in the header. Heap references
are actually uint32_t so writting 4 bytes should be enough.

Bug: 16016862
Change-Id: I785abf5030681b6009370b7b2d7552e8b4b54e67

10 years agoam 6dfa4188: Merge "Avoid direct use of QuasiAtomic by using Atomic."
Ian Rogers [Thu, 17 Jul 2014 18:57:17 +0000 (18:57 +0000)]
am 6dfa4188: Merge "Avoid direct use of QuasiAtomic by using Atomic."

* commit '6dfa4188d5cbe7cb1c89011cda80e1c261ae30f0':
  Avoid direct use of QuasiAtomic by using Atomic.

10 years agoam fb8a07bd: Merge "ART: Refactor GenSelect, refactor gen_common accordingly"
Andreas Gampe [Thu, 17 Jul 2014 18:09:56 +0000 (18:09 +0000)]
am fb8a07bd: Merge "ART: Refactor GenSelect, refactor gen_common accordingly"

* commit 'fb8a07bdf92ab097c1d309a8a6b70dacc81f4478':
  ART: Refactor GenSelect, refactor gen_common accordingly

10 years agoMerge "Avoid direct use of QuasiAtomic by using Atomic."
Ian Rogers [Thu, 17 Jul 2014 18:49:18 +0000 (18:49 +0000)]
Merge "Avoid direct use of QuasiAtomic by using Atomic."

10 years agoAvoid direct use of QuasiAtomic by using Atomic.
Ian Rogers [Thu, 17 Jul 2014 18:25:30 +0000 (11:25 -0700)]
Avoid direct use of QuasiAtomic by using Atomic.

Change-Id: I92d0f822cddb2085de7cbb4c44c3a429081892a2

10 years agoART: Lock an arg reg in GenInlinedGet
Andreas Gampe [Thu, 17 Jul 2014 07:12:32 +0000 (00:12 -0700)]
ART: Lock an arg reg in GenInlinedGet

Must lock an explicit target register so that it doesn't get used
for a temp and clobbered.

Bug: 16352802

(cherry picked from commit 30ab8a8a6597962adf63f3a438ec34b754cc117e)

Change-Id: Ie478ee42732d439c2a41aac48d15e3c2e71e3fee

10 years agoRevert "Revert "Revert "Revert "Add intrinsic for Reference.get()""""
Fred Shih [Fri, 11 Jul 2014 16:59:27 +0000 (09:59 -0700)]
Revert "Revert "Revert "Revert "Add intrinsic for Reference.get()""""

Fixed TargetReg issue causing build failure for x86.
This reverts commit 9e82bd3f0ce9e5f5777bea2f752ff3e251d32f9f.

(cherry picked from commit 4ee7a665e7f9cd2c5ace2d6304e33f64067b209f)

Change-Id: I555f4e06955711262e6b37ffbeabee9698ec695c

10 years agoam 62327cda: Fix class initialization checks in interpreter
Sebastien Hertz [Thu, 17 Jul 2014 17:06:16 +0000 (17:06 +0000)]
am 62327cda: Fix class initialization checks in interpreter

* commit '62327cda9a75e9d15daab0749b37257a146631f4':
  Fix class initialization checks in interpreter

10 years agoam be0562fb: Disable adding main and non moving spaces to immune region in GSS
Mathieu Chartier [Thu, 17 Jul 2014 17:00:46 +0000 (17:00 +0000)]
am be0562fb: Disable adding main and non moving spaces to immune region in GSS

* commit 'be0562fb14e6754ee932b8d9c97e2a6df3a91119':
  Disable adding main and non moving spaces to immune region in GSS

10 years agoam de0aafe2: Merge "Remove some to-done TODOs."
Ian Rogers [Thu, 17 Jul 2014 16:09:28 +0000 (16:09 +0000)]
am de0aafe2: Merge "Remove some to-done TODOs."

* commit 'de0aafe25a25455cbe930b46a43904125bfa6299':
  Remove some to-done TODOs.

10 years agoam 18179818: Merge "ART: Lock an arg reg in GenInlinedGet"
Andreas Gampe [Thu, 17 Jul 2014 15:33:11 +0000 (15:33 +0000)]
am 18179818: Merge "ART: Lock an arg reg in GenInlinedGet"

* commit '1817981832a531580c83f7d71f745da4e06889c3':
  ART: Lock an arg reg in GenInlinedGet

10 years agoam b2a59010: Merge "Fix lint errors."
Nicolas Geoffray [Thu, 17 Jul 2014 12:59:47 +0000 (12:59 +0000)]
am b2a59010: Merge "Fix lint errors."

* commit 'b2a59010b787bd9d5d9bf36d32682faa5ad8da24':
  Fix lint errors.

10 years agoam b0777f04: Merge "Use the thumb2 assembler for the optimizing compiler."
Nicolas Geoffray [Thu, 17 Jul 2014 12:59:46 +0000 (12:59 +0000)]
am b0777f04: Merge "Use the thumb2 assembler for the optimizing compiler."

* commit 'b0777f04c9d79a43c2e490716fe4300f1fb68df7':
  Use the thumb2 assembler for the optimizing compiler.

10 years agoam 3a07c04d: Merge "Fix test 304-method-tracing failure for Mips."
Ian Rogers [Thu, 17 Jul 2014 12:59:45 +0000 (12:59 +0000)]
am 3a07c04d: Merge "Fix test 304-method-tracing failure for Mips."

* commit '3a07c04d2e6feec188994f73a3e6f48c6c4c49d6':
  Fix test 304-method-tracing failure for Mips.

10 years agoFix class initialization checks in interpreter
Sebastien Hertz [Wed, 16 Jul 2014 18:00:11 +0000 (20:00 +0200)]
Fix class initialization checks in interpreter

Check field's class initialization after handling null pointer exception.

Bug: 16324235

(cherry picked from commit 1edbd8e5405486a96d69481f5f30a8ca16d510b5)

Change-Id: I31ef07a08ff70c5695dda1079afea5b2579bb8e3

10 years agoMerge "Fix lint errors."
Nicolas Geoffray [Thu, 17 Jul 2014 08:17:12 +0000 (08:17 +0000)]
Merge "Fix lint errors."

10 years agoFix lint errors.
Nicolas Geoffray [Thu, 17 Jul 2014 08:16:19 +0000 (09:16 +0100)]
Fix lint errors.

Change-Id: I7bbaad590d84db97acfa7f8c4d093bc40e64684a

10 years agoMerge "Use the thumb2 assembler for the optimizing compiler."
Nicolas Geoffray [Thu, 17 Jul 2014 08:00:17 +0000 (08:00 +0000)]
Merge "Use the thumb2 assembler for the optimizing compiler."

10 years agoam 81457a3c: Merge "Add back a deleted check related to verification."
Stephen Hines [Thu, 17 Jul 2014 00:01:05 +0000 (00:01 +0000)]
am 81457a3c: Merge "Add back a deleted check related to verification."

* commit '81457a3cd8fca14396b5785a4e4c8070c259b07a':
  Add back a deleted check related to verification.

10 years agoam 233b0e37: Merge "Remove errors/warnings from tautological comparisons."
Stephen Hines [Thu, 17 Jul 2014 00:01:04 +0000 (00:01 +0000)]
am 233b0e37: Merge "Remove errors/warnings from tautological comparisons."

* commit '233b0e37b463ba3e880262f6fea255b95f0f89c1':
  Remove errors/warnings from tautological comparisons.

10 years agoMerge "ART: Refactor GenSelect, refactor gen_common accordingly"
Andreas Gampe [Thu, 17 Jul 2014 17:03:43 +0000 (17:03 +0000)]
Merge "ART: Refactor GenSelect, refactor gen_common accordingly"

10 years agoART: Refactor GenSelect, refactor gen_common accordingly
Andreas Gampe [Wed, 16 Jul 2014 06:02:11 +0000 (23:02 -0700)]
ART: Refactor GenSelect, refactor gen_common accordingly

This adds a GenSelect method meant for selection of constants. The
general-purpose GenInstanceof code is refactored to take advantage of
this. This cleans up code and squashes a branch-over on ARM64 to a
cset.

Also add a slow-path for type initialization in GenInstanceof.

Change-Id: Ie4494858bb8c26d386cf2e628172b81bba911ae5

10 years agoMerge "ART: Lock an arg reg in GenInlinedGet"
Andreas Gampe [Thu, 17 Jul 2014 15:25:04 +0000 (15:25 +0000)]
Merge "ART: Lock an arg reg in GenInlinedGet"

10 years agoART: Lock an arg reg in GenInlinedGet
Andreas Gampe [Thu, 17 Jul 2014 07:12:32 +0000 (00:12 -0700)]
ART: Lock an arg reg in GenInlinedGet

Must lock an explicit target register so that it doesn't get used
for a temp and clobbered.

Bug: 16352802
Change-Id: I9e4ac76f92460cdbe59392989d12f8d0321cc624

10 years agoMerge "Remove some to-done TODOs."
Ian Rogers [Thu, 17 Jul 2014 16:03:17 +0000 (16:03 +0000)]
Merge "Remove some to-done TODOs."

10 years agoRemove some to-done TODOs.
Ian Rogers [Thu, 17 Jul 2014 15:34:21 +0000 (08:34 -0700)]
Remove some to-done TODOs.

Change-Id: I976d35b1aa79f4dded86502a18bc679ba232d664

10 years agoMerge "Add back a deleted check related to verification."
Stephen Hines [Wed, 16 Jul 2014 23:50:39 +0000 (23:50 +0000)]
Merge "Add back a deleted check related to verification."

10 years agoam 9791bb42: Merge "Fix art test failures for Mips."
Jeff Hao [Wed, 16 Jul 2014 23:41:20 +0000 (23:41 +0000)]
am 9791bb42: Merge "Fix art test failures for Mips."

* commit '9791bb427fd812c1268edab6fb3ac7b82ad9fb93':
  Fix art test failures for Mips.

10 years agoMerge "Fix test 304-method-tracing failure for Mips."
Ian Rogers [Thu, 17 Jul 2014 05:49:49 +0000 (05:49 +0000)]
Merge "Fix test 304-method-tracing failure for Mips."

10 years agoFix test 304-method-tracing failure for Mips.
Douglas Leung [Thu, 17 Jul 2014 00:32:41 +0000 (17:32 -0700)]
Fix test 304-method-tracing failure for Mips.

Change-Id: Id5ce9fd3c880dd568b11a1deea7e42ea587934ba
Signed-off-by: Douglas Leung <douglas@mips.com>
10 years agoMerge "Remove errors/warnings from tautological comparisons."
Stephen Hines [Wed, 16 Jul 2014 23:50:34 +0000 (23:50 +0000)]
Merge "Remove errors/warnings from tautological comparisons."

10 years agoam ebe8f799: Merge "Revert "Revert "Revert "Revert "Add implicit null and stack check...
Dave Allison [Wed, 16 Jul 2014 22:12:00 +0000 (22:12 +0000)]
am ebe8f799: Merge "Revert "Revert "Revert "Revert "Add implicit null and stack checks for x86"""""

* commit 'ebe8f799c5053f85adffee23cb46851efebbfd92':
  Revert "Revert "Revert "Revert "Add implicit null and stack checks for x86""""

10 years agoam 403ef95b: Merge "Add another test to the trace test black list."
Ian Rogers [Wed, 16 Jul 2014 22:01:36 +0000 (22:01 +0000)]
am 403ef95b: Merge "Add another test to the trace test black list."

* commit '403ef95be8c2a91bf73b133cede8ecd2a146cec6':
  Add another test to the trace test black list.

10 years agoam 479f131d: Merge "Disable adding main and non moving spaces to immune region in...
Mathieu Chartier [Wed, 16 Jul 2014 19:59:19 +0000 (19:59 +0000)]
am 479f131d: Merge "Disable adding main and non moving spaces to immune region in GSS"

* commit '479f131d4bd3829dd512312020808b05f5a591f1':
  Disable adding main and non moving spaces to immune region in GSS

10 years agoDisable adding main and non moving spaces to immune region in GSS
Mathieu Chartier [Mon, 14 Jul 2014 21:57:16 +0000 (14:57 -0700)]
Disable adding main and non moving spaces to immune region in GSS

Disabled adding the main and non moving space to the immune region.
This will enable us to recycle bump pointer spaces for malloc space
-> malloc space compaction as well as collector transitions.

Also added logic for falling back to the non moving space, we may
copy objects there.

Refactored mod union table logic into MarkReachableObjects.

No measurable performance benefit or regression.

Bug: 14059466
Bug: 16291259

(cherry picked from commit 4c13a3ff475f206c4d0a86ee2595c45392fd942f)

Change-Id: I858b4fbddca888e164052ad247565a0bdbea68b5

10 years agoam e66f6318: Merge "Fix x86 build."
Ian Rogers [Wed, 16 Jul 2014 19:21:02 +0000 (19:21 +0000)]
am e66f6318: Merge "Fix x86 build."

* commit 'e66f6318635c49313f796e62170fa8f59340e926':
  Fix x86 build.

10 years agoam 792f5967: Merge "Fix class initialization checks in interpreter"
Sebastien Hertz [Wed, 16 Jul 2014 19:08:49 +0000 (19:08 +0000)]
am 792f5967: Merge "Fix class initialization checks in interpreter"

* commit '792f596728d6bfb78546020a326927285aeeaad4':
  Fix class initialization checks in interpreter

10 years agoam aab012d6: Merge "Add --trace variants of the run-test testing rules."
Ian Rogers [Wed, 16 Jul 2014 18:33:29 +0000 (18:33 +0000)]
am aab012d6: Merge "Add --trace variants of the run-test testing rules."

* commit 'aab012d6196bd29b3167963ec8acb0b9780672b2':
  Add --trace variants of the run-test testing rules.

10 years agoAdd back a deleted check related to verification.
Stephen Hines [Wed, 16 Jul 2014 18:03:43 +0000 (11:03 -0700)]
Add back a deleted check related to verification.

Change-Id: Ib939d1a7395a4b6cc9a7256cfb0a3498ba296744

10 years agoUse the thumb2 assembler for the optimizing compiler.
Nicolas Geoffray [Wed, 16 Jul 2014 15:23:40 +0000 (16:23 +0100)]
Use the thumb2 assembler for the optimizing compiler.

Change-Id: I2b058f4433504dc3299c06f5cb0b5ab12f34aa82

10 years agoMerge "Fix art test failures for Mips."
Jeff Hao [Wed, 16 Jul 2014 23:28:05 +0000 (23:28 +0000)]
Merge "Fix art test failures for Mips."

10 years agoMerge "Revert "Revert "Revert "Revert "Add implicit null and stack checks for x86...
Dave Allison [Wed, 16 Jul 2014 22:00:14 +0000 (22:00 +0000)]
Merge "Revert "Revert "Revert "Revert "Add implicit null and stack checks for x86"""""

10 years agoRevert "Revert "Revert "Revert "Add implicit null and stack checks for x86""""
Dave Allison [Fri, 11 Jul 2014 17:11:58 +0000 (17:11 +0000)]
Revert "Revert "Revert "Revert "Add implicit null and stack checks for x86""""

This reverts commit 0025a86411145eb7cd4971f9234fc21c7b4aced1.

Bug: 16256184
Change-Id: Ie0760a0c293aa3b62e2885398a8c512b7a946a73

10 years agoMerge "Disable adding main and non moving spaces to immune region in GSS"
Mathieu Chartier [Wed, 16 Jul 2014 19:55:08 +0000 (19:55 +0000)]
Merge "Disable adding main and non moving spaces to immune region in GSS"

10 years agoDisable adding main and non moving spaces to immune region in GSS
Mathieu Chartier [Mon, 14 Jul 2014 21:57:16 +0000 (14:57 -0700)]
Disable adding main and non moving spaces to immune region in GSS

Disabled adding the main and non moving space to the immune region.
This will enable us to recycle bump pointer spaces for malloc space
-> malloc space compaction as well as collector transitions.

Also added logic for falling back to the non moving space, we may
copy objects there.

Refactored mod union table logic into MarkReachableObjects.

No measurable performance benefit or regression.

Bug: 14059466
Bug: 16291259

Change-Id: If663d9fdbde943b988173b7f6ac844e5f78a0327

10 years agoam ea1a9bdc: Merge "Remove object_utils.h."
Ian Rogers [Wed, 16 Jul 2014 15:32:35 +0000 (15:32 +0000)]
am ea1a9bdc: Merge "Remove object_utils.h."

* commit 'ea1a9bdce403524d19f80095e7d51d5f714f20ff':
  Remove object_utils.h.

10 years agoam a4fe789a: Merge "Make ART fail gracefully when it can\'t update the desired code."
Calin Juravle [Wed, 16 Jul 2014 15:11:56 +0000 (15:11 +0000)]
am a4fe789a: Merge "Make ART fail gracefully when it can\'t update the desired code."

* commit 'a4fe789a74d2eb0f1d14ab971103feacef02620c':
  Make ART fail gracefully when it can't update the desired code.

10 years agoRemove errors/warnings from tautological comparisons.
Stephen Hines [Wed, 16 Jul 2014 04:41:06 +0000 (21:41 -0700)]
Remove errors/warnings from tautological comparisons.

Change-Id: I2728b08d55abccd14c111c6c9da93068d4e14275

10 years agoam b960cd73: Use sched_yield in Monitor::MonitorEnter.
Mathieu Chartier [Wed, 16 Jul 2014 02:55:15 +0000 (02:55 +0000)]
am b960cd73: Use sched_yield in Monitor::MonitorEnter.

* commit 'b960cd7342cd68a614bb0c54d0d676cc2b8caf29':
  Use sched_yield in Monitor::MonitorEnter.

10 years agoam fbde4dd1: Merge "Use sched_yield in Monitor::MonitorEnter."
Mathieu Chartier [Wed, 16 Jul 2014 02:52:48 +0000 (02:52 +0000)]
am fbde4dd1: Merge "Use sched_yield in Monitor::MonitorEnter."

* commit 'fbde4dd1cb6db729e3f3ee5bdae0cdd824d73054':
  Use sched_yield in Monitor::MonitorEnter.

10 years agoMerge "Add another test to the trace test black list."
Ian Rogers [Wed, 16 Jul 2014 21:51:58 +0000 (21:51 +0000)]
Merge "Add another test to the trace test black list."

10 years agoAdd another test to the trace test black list.
Ian Rogers [Wed, 16 Jul 2014 21:49:34 +0000 (14:49 -0700)]
Add another test to the trace test black list.

Change-Id: Ib2266b4fa2684e477791fe317a598c22d79e3400

10 years agoUse sched_yield in Monitor::MonitorEnter.
Mathieu Chartier [Wed, 16 Jul 2014 01:10:25 +0000 (18:10 -0700)]
Use sched_yield in Monitor::MonitorEnter.

Previously we used NanoSleep(1000), but this was unreliable. It could
result in waiting for >= 40ms instead of 1us. Since this was in a loop
it was especially bad if the GC was trying to suspend all the
threads when we were sleeping. This resulted in thread suspension
occasionally taking longer than a second.
Results on the provided picasso-sample app on Nexus 5:
Longest GC pause before: ~1.5s.
Longest GC pause after: <5ms.

Also added a warning if thread suspension takes longer than a
threshold (currently 5ms).

Bug: 16307460
External bug: https://code.google.com/p/android-developer-preview/issues/detail?id=367

(cherry picked from commit 251755cd511463260e60be98bf138b6aa1c14bf3)

Change-Id: I491c0799cc23ee6e68abc1bf77d1f0f4263e8ef5

10 years agoFix art test failures for Mips.
Douglas Leung [Wed, 9 Jul 2014 21:28:35 +0000 (14:28 -0700)]
Fix art test failures for Mips.

This patch fixes the following art test failures for Mips:
003-omnibus-opcodes
030-bad-finalizer
041-narrowing
059-finalizer-throw

Change-Id: I4e0e9ff75f949c92059dd6b8d579450dc15f4467
Signed-off-by: Douglas Leung <douglas@mips.com>
10 years agoMerge "Make ART fail gracefully when it can't update the desired code."
Calin Juravle [Wed, 16 Jul 2014 15:04:20 +0000 (15:04 +0000)]
Merge "Make ART fail gracefully when it can't update the desired code."

10 years agoMake ART fail gracefully when it can't update the desired code.
Calin Juravle [Wed, 16 Jul 2014 13:45:03 +0000 (14:45 +0100)]
Make ART fail gracefully when it can't update the desired code.

ART was exiting with a fatal error when it couldn't clean an obsolete
file. Relaxing this and failing gracefully preserves the behaviour that
Dalvik had.

Bug: 15313272
Change-Id: I8d0d6d374c90d2a434909dd4ae56f0799f30134d

10 years agoMerge "Fix class initialization checks in interpreter"
Sebastien Hertz [Wed, 16 Jul 2014 19:03:36 +0000 (19:03 +0000)]
Merge "Fix class initialization checks in interpreter"

10 years agoFix class initialization checks in interpreter
Sebastien Hertz [Wed, 16 Jul 2014 18:00:11 +0000 (20:00 +0200)]
Fix class initialization checks in interpreter

Check field's class initialization after handling null pointer exception.

Bug: 16324235
Change-Id: I33d537168e068b7fb51ddf97bc5aadee9dd65f67

10 years agoam ebaca192: Merge "Revert "Revert "Revert "Revert "Add intrinsic for Reference.get...
Mathieu Chartier [Wed, 16 Jul 2014 01:06:48 +0000 (01:06 +0000)]
am ebaca192: Merge "Revert "Revert "Revert "Revert "Add intrinsic for Reference.get()"""""

* commit 'ebaca192314e21d26b97646fa962e468ff07b893':
  Revert "Revert "Revert "Revert "Add intrinsic for Reference.get()""""

10 years agoam 0e359ef6: Merge "Break apart header files."
Ian Rogers [Wed, 16 Jul 2014 00:26:43 +0000 (00:26 +0000)]
am 0e359ef6: Merge "Break apart header files."

* commit '0e359ef64546e472ed7e2292c8a48354f9907a37':
  Break apart header files.

10 years agoMerge "Add --trace variants of the run-test testing rules."
Ian Rogers [Wed, 16 Jul 2014 18:23:06 +0000 (18:23 +0000)]
Merge "Add --trace variants of the run-test testing rules."

10 years agoAdd --trace variants of the run-test testing rules.
Ian Rogers [Wed, 16 Jul 2014 18:18:03 +0000 (11:18 -0700)]
Add --trace variants of the run-test testing rules.

Only for host and the default compiler at the moment.
Also, fix test-art-host32 and test-art-host64.

Change-Id: Ic13190e766aca522de95d2b5b12926c906ba8fb8

10 years agoMerge "Fix x86 build."
Ian Rogers [Wed, 16 Jul 2014 19:12:11 +0000 (19:12 +0000)]
Merge "Fix x86 build."

10 years agoFix x86 build.
Ian Rogers [Wed, 16 Jul 2014 19:06:35 +0000 (12:06 -0700)]
Fix x86 build.

Also fix attributes/annotalysis on entrypoint_utils functions now we have
clang that is smarter wrt warnings than GCC.

Change-Id: I69257b4ad9a27d07acbc973d21a1cfa4260a8ed6

10 years agoMerge "Use sched_yield in Monitor::MonitorEnter."
Mathieu Chartier [Wed, 16 Jul 2014 01:44:49 +0000 (01:44 +0000)]
Merge "Use sched_yield in Monitor::MonitorEnter."

10 years agoUse sched_yield in Monitor::MonitorEnter.
Mathieu Chartier [Wed, 16 Jul 2014 01:10:25 +0000 (18:10 -0700)]
Use sched_yield in Monitor::MonitorEnter.

Previously we used NanoSleep(1000), but this was unreliable. It could
result in waiting for >= 40ms instead of 1us. Since this was in a loop
it was especially bad if the GC was trying to suspend all the
threads when we were sleeping. This resulted in thread suspension
occasionally taking longer than a second.
Results on the provided picasso-sample app on Nexus 5:
Longest GC pause before: ~1.5s.
Longest GC pause after: <5ms.

Also added a warning if thread suspension takes longer than a
threshold (currently 5ms).

Bug: 16307460
External bug: https://code.google.com/p/android-developer-preview/issues/detail?id=367

Change-Id: I3c2a9636357e255f38634615101eff8ca84e632f

10 years agoMerge "Remove object_utils.h."
Ian Rogers [Wed, 16 Jul 2014 15:27:47 +0000 (15:27 +0000)]
Merge "Remove object_utils.h."

10 years agoRemove object_utils.h.
Ian Rogers [Wed, 16 Jul 2014 05:23:51 +0000 (22:23 -0700)]
Remove object_utils.h.

Break into object_lock, field_helper and method_helper.
Clean up header files following this.
Also tidy some of the Handle code in response to compiler errors when resolving
the changes in this CL.

Change-Id: I73e63015a0f02a754d0866bfaf58208aebcaa295

10 years agoam 76e6773d: Merge "AArch64: improve usage of TargetReg() and friends."
Andreas Gampe [Tue, 15 Jul 2014 19:04:11 +0000 (19:04 +0000)]
am 76e6773d: Merge "AArch64: improve usage of TargetReg() and friends."

* commit '76e6773dfed9e9bf382bbb8d6c8654525fa44b0c':
  AArch64: improve usage of TargetReg() and friends.

10 years agoam 524e5e38: Merge "ART: Squash a cmp w/ zero and b.ls to cbz (ARM/ARM64)"
Andreas Gampe [Tue, 15 Jul 2014 18:54:04 +0000 (18:54 +0000)]
am 524e5e38: Merge "ART: Squash a cmp w/ zero and b.ls to cbz (ARM/ARM64)"

* commit '524e5e3815d2b16ee77beda9976b7ec3aa54aba6':
  ART: Squash a cmp w/ zero and b.ls to cbz (ARM/ARM64)

10 years agoam 07b84413: Merge "Fix a braino in the stack layout."
Nicolas Geoffray [Tue, 15 Jul 2014 13:34:17 +0000 (13:34 +0000)]
am 07b84413: Merge "Fix a braino in the stack layout."

* commit '07b8441303ea82fca3cb85d71ecf8752d73cedd7':
  Fix a braino in the stack layout.

10 years agoMerge "ART: Squash a cmp w/ zero and b.ls to cbz (ARM/ARM64)"
Andreas Gampe [Tue, 15 Jul 2014 17:44:31 +0000 (17:44 +0000)]
Merge "ART: Squash a cmp w/ zero and b.ls to cbz (ARM/ARM64)"

10 years agoART: Squash a cmp w/ zero and b.ls to cbz (ARM/ARM64)
Andreas Gampe [Tue, 15 Jul 2014 03:16:59 +0000 (20:16 -0700)]
ART: Squash a cmp w/ zero and b.ls to cbz (ARM/ARM64)

In case of array bounds checks at constant index 0 we generate a
compare and a branch. Squash into a cbz.

Change-Id: I1c6a6e37a7a2356b2c4580a3387cedb55436e251

10 years agoMerge "Revert "Revert "Revert "Revert "Add intrinsic for Reference.get()"""""
Mathieu Chartier [Wed, 16 Jul 2014 00:59:09 +0000 (00:59 +0000)]
Merge "Revert "Revert "Revert "Revert "Add intrinsic for Reference.get()"""""

10 years agoRevert "Revert "Revert "Revert "Add intrinsic for Reference.get()""""
Fred Shih [Fri, 11 Jul 2014 16:59:27 +0000 (09:59 -0700)]
Revert "Revert "Revert "Revert "Add intrinsic for Reference.get()""""

Fixed TargetReg issue causing build failure for x86.
This reverts commit 9e82bd3f0ce9e5f5777bea2f752ff3e251d32f9f.

Change-Id: I7e6a526954467aaf68deeed999880dfe9aa5f06e

10 years agoMerge "Break apart header files."
Ian Rogers [Wed, 16 Jul 2014 00:11:29 +0000 (00:11 +0000)]
Merge "Break apart header files."

10 years agoBreak apart header files.
Ian Rogers [Tue, 15 Jul 2014 22:36:11 +0000 (15:36 -0700)]
Break apart header files.

Create libart-gtest for common runtime and compiler gtest routines.
Rename CompilerCallbacksImpl that is quick compiler specific.
Rename trace clock source constants to not use the overloaded profiler term.

Change-Id: I4aac4bdc7e7850c68335f81e59a390133b54e933

10 years agoMerge "AArch64: improve usage of TargetReg() and friends."
Andreas Gampe [Tue, 15 Jul 2014 18:52:36 +0000 (18:52 +0000)]
Merge "AArch64: improve usage of TargetReg() and friends."

10 years agoAArch64: improve usage of TargetReg() and friends.
Matteo Franchin [Tue, 10 Jun 2014 18:23:45 +0000 (19:23 +0100)]
AArch64: improve usage of TargetReg() and friends.

TargetReg(arg1) does now always return a 32-bit register. We also avoid
using this function directly and rather use the two-arguments overload
or TargetPtrReg().

Change-Id: I746b3c29a2a2553b399b5c3e7ee3887c7e7c52c3

10 years agoam 59fe711f: Fix infinite loop when calling SetStatus after OOM.
Mathieu Chartier [Mon, 14 Jul 2014 21:39:29 +0000 (21:39 +0000)]
am 59fe711f: Fix infinite loop when calling SetStatus after OOM.

* commit '59fe711f88191cd8ca1a386c4fa0d2f9e484af50':
  Fix infinite loop when calling SetStatus after OOM.

10 years agoam 635561b8: Merge "Add read barriers for the roots in Runtime."
Hiroshi Yamauchi [Mon, 14 Jul 2014 21:38:51 +0000 (21:38 +0000)]
am 635561b8: Merge "Add read barriers for the roots in Runtime."

* commit '635561b86ac03f5562bdb779baa6db12f31b3cae':
  Add read barriers for the roots in Runtime.

10 years agoMerge "Fix a braino in the stack layout."
Nicolas Geoffray [Tue, 15 Jul 2014 12:40:27 +0000 (12:40 +0000)]
Merge "Fix a braino in the stack layout."

10 years agoFix a braino in the stack layout.
Nicolas Geoffray [Tue, 15 Jul 2014 11:55:21 +0000 (12:55 +0100)]
Fix a braino in the stack layout.

Also do some refactoring to have this code be just in CodeGenerator.

Change-Id: I88de109889138af8d60027973c12a64bee813cb7

10 years agoam 63c8d355: am 0b316726: am cf90ba7e: Merge "ART: Add another special case to GenSel...
Andreas Gampe [Mon, 14 Jul 2014 20:41:10 +0000 (20:41 +0000)]
am 63c8d355: am 0b316726: am cf90ba7e: Merge "ART: Add another special case to GenSelect for ARM64"

* commit '63c8d355a13f62a1e4becb04c8f2cc0eccf849d0':

10 years agoam c9d58c54: am ccdaa5ea: am 6ef2aa67: Merge "ART: Rework TargetReg(symbolic_reg...
Andreas Gampe [Mon, 14 Jul 2014 20:41:09 +0000 (20:41 +0000)]
am c9d58c54: am ccdaa5ea: am 6ef2aa67: Merge "ART: Rework TargetReg(symbolic_reg, wide)"

* commit 'c9d58c54017312f702f2592d987a3854552ff5ed':

10 years agoam 999d0ca1: am 87354a55: am 3b7da819: Merge "ART: Correct disassembling of regs...
Ian Rogers [Mon, 14 Jul 2014 20:41:08 +0000 (20:41 +0000)]
am 999d0ca1: am 87354a55: am 3b7da819: Merge "ART: Correct disassembling of regs from opcodes"

* commit '999d0ca1981fc7d0202e6c8ccc6a58d2fdfe1ece':

10 years agoam a4f12f78: am 949e5980: am b7e78cb6: Merge "AArch64: Fix and enable reverseBytes...
Andreas Gampe [Mon, 14 Jul 2014 20:41:07 +0000 (20:41 +0000)]
am a4f12f78: am 949e5980: am b7e78cb6: Merge "AArch64: Fix and enable reverseBytes intrinsic."

* commit 'a4f12f78d8bb6b1e92ff7154884e9c07e702d9d5':