OSDN Git Service

android-x86/art.git
9 years agoam 013bf973: Merge "Colorize warnings when building with clang."
Ian Rogers [Fri, 3 Oct 2014 16:53:34 +0000 (16:53 +0000)]
am 013bf973: Merge "Colorize warnings when building with clang."

* commit '013bf973fe1faf98f17ccfc4fbdae67e4bfdb696':
  Colorize warnings when building with clang.

9 years agoMerge "Colorize warnings when building with clang."
Ian Rogers [Thu, 2 Oct 2014 21:51:25 +0000 (21:51 +0000)]
Merge "Colorize warnings when building with clang."

9 years agoam 54e53789: Merge "More native bridge tests"
Calin Juravle [Thu, 2 Oct 2014 17:43:45 +0000 (17:43 +0000)]
am 54e53789: Merge "More native bridge tests"

* commit '54e53789549816a67484d8b5f493158ac72d05f8':
  More native bridge tests

9 years agoMerge "More native bridge tests"
Calin Juravle [Thu, 2 Oct 2014 17:28:21 +0000 (17:28 +0000)]
Merge "More native bridge tests"

9 years agoColorize warnings when building with clang.
Ian Rogers [Thu, 2 Oct 2014 16:41:44 +0000 (09:41 -0700)]
Colorize warnings when building with clang.

Change-Id: Icbb26779852d2fc2344bac597d43c4301646ac90

9 years agoam 6e301ec8: Merge "Fix build_all_egdes in MIRGraph::ProcessCanThrow()."
Vladimir Marko [Thu, 2 Oct 2014 10:30:48 +0000 (10:30 +0000)]
am 6e301ec8: Merge "Fix build_all_egdes in MIRGraph::ProcessCanThrow()."

* commit '6e301ec84ff8cd55a29386cff9b3b00d51675b64':
  Fix build_all_egdes in MIRGraph::ProcessCanThrow().

9 years agoMerge "Fix build_all_egdes in MIRGraph::ProcessCanThrow()."
Vladimir Marko [Thu, 2 Oct 2014 09:58:10 +0000 (09:58 +0000)]
Merge "Fix build_all_egdes in MIRGraph::ProcessCanThrow()."

9 years agoam 5be30072: ART: Remove wrong DCHECK
Andreas Gampe [Thu, 2 Oct 2014 05:57:03 +0000 (05:57 +0000)]
am 5be30072: ART: Remove wrong DCHECK

* commit '5be30072c5a750617dc3f9380776d074f26d9f32':
  ART: Remove wrong DCHECK

9 years agoART: Remove wrong DCHECK
Andreas Gampe [Thu, 2 Oct 2014 05:15:34 +0000 (22:15 -0700)]
ART: Remove wrong DCHECK

Bug: 17772057
Bug: 17763227
Bug: 17762845

Change-Id: If5d35b8e3e156173f2e47ae86ff48ebfc01ca02d

9 years agoam ba16b079: More native bridge tests
Calin Juravle [Wed, 1 Oct 2014 22:37:57 +0000 (22:37 +0000)]
am ba16b079: More native bridge tests

* commit 'ba16b0796aafb6ad4c96c5e10b713d73edc0b857':
  More native bridge tests

9 years agoam 228f9251: Merge "ART: Overflow of bound check in ArrayCopy intrinsic" into lmp-dev
Bill Buzbee [Wed, 1 Oct 2014 22:35:53 +0000 (22:35 +0000)]
am 228f9251: Merge "ART: Overflow of bound check in ArrayCopy intrinsic" into lmp-dev

* commit '228f9251668efe5ab303f9fb78841ed138954acb':
  ART: Overflow of bound check in ArrayCopy intrinsic

9 years agoam 95a93541: Add VMRuntime.isBootClassPathOnDisk
Brian Carlstrom [Wed, 1 Oct 2014 22:35:01 +0000 (22:35 +0000)]
am 95a93541: Add VMRuntime.isBootClassPathOnDisk

* commit '95a935415d44903b28326424beb4db5c013ef089':
  Add VMRuntime.isBootClassPathOnDisk

9 years agoMore native bridge tests
Calin Juravle [Wed, 1 Oct 2014 17:57:29 +0000 (18:57 +0100)]
More native bridge tests

Test for os.arch.

Bug: 17713104

(cherry picked from commit ba16b0796aafb6ad4c96c5e10b713d73edc0b857)

Change-Id: I45bde49c778f176cdfc779b211053a2747adb3fc

9 years agoMore native bridge tests
Calin Juravle [Wed, 1 Oct 2014 17:57:29 +0000 (18:57 +0100)]
More native bridge tests

Test for os.arch.

Bug: 17713104
Change-Id: I2d0f151c512857e4576fa186ce59c41b054bee75

9 years agoam 37241e5c: Merge "Quick: Fix LVN/GVN handling of acquire operations."
Vladimir Marko [Wed, 1 Oct 2014 17:56:27 +0000 (17:56 +0000)]
am 37241e5c: Merge "Quick: Fix LVN/GVN handling of acquire operations."

* commit '37241e5c70aa599ff7383ad18af5ddf5694a7144':
  Quick: Fix LVN/GVN handling of acquire operations.

9 years agoMerge "Quick: Fix LVN/GVN handling of acquire operations."
Vladimir Marko [Wed, 1 Oct 2014 17:45:38 +0000 (17:45 +0000)]
Merge "Quick: Fix LVN/GVN handling of acquire operations."

9 years agoFix build_all_egdes in MIRGraph::ProcessCanThrow().
Vladimir Marko [Wed, 1 Oct 2014 16:38:02 +0000 (17:38 +0100)]
Fix build_all_egdes in MIRGraph::ProcessCanThrow().

Calculate build_all_edges only after in_try_block has
received its final value. This was a minor omission in
  https://android-review.googlesource.com/100505

Change-Id: Icc9189d2092bbd29fcf1706e4d6074a6d915cebe

9 years agoQuick: Fix LVN/GVN handling of acquire operations.
Vladimir Marko [Mon, 29 Sep 2014 16:58:10 +0000 (17:58 +0100)]
Quick: Fix LVN/GVN handling of acquire operations.

Acquire operations, i.e. MONITOR_ENTER and volatile GETs,
change the thread's view of the memory, so subsequent loads
must get new value names in LVN/GVN. Release operations do
not affect this thread's view of the memory, they the only
push the modifications for other threads to see.

Bug: 17689750
Change-Id: I9442d89b1d2c5252b99b02851b71bb85f871d734

9 years agoam d25cee70: Merge "Revert "Introduce a class to implement optimization passes.""
Nicolas Geoffray [Wed, 1 Oct 2014 15:07:09 +0000 (15:07 +0000)]
am d25cee70: Merge "Revert "Introduce a class to implement optimization passes.""

* commit 'd25cee7088d03881265fe3d04c09ec2f798860f5':
  Revert "Introduce a class to implement optimization passes."

9 years agoMerge "Revert "Introduce a class to implement optimization passes.""
Nicolas Geoffray [Wed, 1 Oct 2014 14:59:51 +0000 (14:59 +0000)]
Merge "Revert "Introduce a class to implement optimization passes.""

9 years agoRevert "Introduce a class to implement optimization passes."
Nicolas Geoffray [Wed, 1 Oct 2014 14:59:23 +0000 (14:59 +0000)]
Revert "Introduce a class to implement optimization passes."

This reverts commit bf9cd7ba2118a75f5aa9b56241c4d5fa00dedeb8.

Change-Id: I0a483446666c9c24c45925a5fc199debdefd8b3e

9 years agoam bff187b5: Merge "Introduce a class to implement optimization passes."
Roland Levillain [Wed, 1 Oct 2014 14:45:40 +0000 (14:45 +0000)]
am bff187b5: Merge "Introduce a class to implement optimization passes."

* commit 'bff187b5079631a18288cd78d3dddafba9ca94e7':
  Introduce a class to implement optimization passes.

9 years agoMerge "Introduce a class to implement optimization passes."
Roland Levillain [Wed, 1 Oct 2014 14:38:10 +0000 (14:38 +0000)]
Merge "Introduce a class to implement optimization passes."

9 years agoMerge "ART: Overflow of bound check in ArrayCopy intrinsic" into lmp-dev
Bill Buzbee [Wed, 1 Oct 2014 13:41:48 +0000 (13:41 +0000)]
Merge "ART: Overflow of bound check in ArrayCopy intrinsic" into lmp-dev

9 years agoIntroduce a class to implement optimization passes.
Roland Levillain [Tue, 30 Sep 2014 15:15:14 +0000 (16:15 +0100)]
Introduce a class to implement optimization passes.

- Add art::HOptimization.
- Rename art::ConstantPropagation to art::HConstantFolding in
  compiler/optimizing/constant_folding.h to avoid name
  clashes with a class of the same name in
  compiler/dex/post_opt_passes.h.
- Rename art::DeadCodeElimination to
  art::HDeadCodeElimination for consistency reasons.
- Have art::HDeadCodeElimination and art::HConstantFolding
  derive from art::HOptimization.
- Start to use these optimizations in
  art:OptimizingCompiler::TryCompile.

Change-Id: Iaab350c122d87b2333b3760312b15c0592d7e010

9 years agoam 439bfb95: Merge "Add VMRuntime.isBootClassPathOnDisk"
Brian Carlstrom [Wed, 1 Oct 2014 05:33:40 +0000 (05:33 +0000)]
am 439bfb95: Merge "Add VMRuntime.isBootClassPathOnDisk"

* commit '439bfb95c06080ed921409a4b8aad33d0da86c16':
  Add VMRuntime.isBootClassPathOnDisk

9 years agoMerge "Add VMRuntime.isBootClassPathOnDisk"
Brian Carlstrom [Wed, 1 Oct 2014 05:06:24 +0000 (05:06 +0000)]
Merge "Add VMRuntime.isBootClassPathOnDisk"

9 years agoAdd VMRuntime.isBootClassPathOnDisk
Brian Carlstrom [Mon, 29 Sep 2014 18:22:54 +0000 (11:22 -0700)]
Add VMRuntime.isBootClassPathOnDisk

Bug: 17679443

(cherry picked from commit 95a935415d44903b28326424beb4db5c013ef089)

Change-Id: Iba40291dead3f0b6715903c986370fd0cf1e41e1

9 years agoam 8283e079: Merge "Enable -Wunreachable-code"
Ian Rogers [Tue, 30 Sep 2014 23:52:15 +0000 (23:52 +0000)]
am 8283e079: Merge "Enable -Wunreachable-code"

* commit '8283e079a209e81caafd123a12a525922368fd34':
  Enable -Wunreachable-code

9 years agoam f9098ea6: Merge "ART: Fix GenReduceVector and GenSetVector"
Bill Buzbee [Tue, 30 Sep 2014 23:52:06 +0000 (23:52 +0000)]
am f9098ea6: Merge "ART: Fix GenReduceVector and GenSetVector"

* commit 'f9098ea6d7326b4d8de2860d18adf74046b80855':
  ART: Fix GenReduceVector and GenSetVector

9 years agoam 955af682: Merge "ART: Reset bb id to the last list mir"
Bill Buzbee [Tue, 30 Sep 2014 23:52:05 +0000 (23:52 +0000)]
am 955af682: Merge "ART: Reset bb id to the last list mir"

* commit '955af682a64bcf4e66c33efc671325054c25a648':
  ART: Reset bb id to the last list mir

9 years agoam f4ae8d89: Merge "ART: Allow overridable calculation of basic block dataflow"
Bill Buzbee [Tue, 30 Sep 2014 23:52:02 +0000 (23:52 +0000)]
am f4ae8d89: Merge "ART: Allow overridable calculation of basic block dataflow"

* commit 'f4ae8d8976abd1dcbb33824ced27775bff73f600':
  ART: Allow overridable calculation of basic block dataflow

9 years agoam a2a91086: Merge "Update maximum number of reachable blocks in last step"
Bill Buzbee [Tue, 30 Sep 2014 23:52:01 +0000 (23:52 +0000)]
am a2a91086: Merge "Update maximum number of reachable blocks in last step"

* commit 'a2a91086feb01c1465f063e10da70b7fa37a19eb':
  Update maximum number of reachable blocks in last step

9 years agoam bafedc34: Merge "Get heap poisoning working in 64-bit."
Hiroshi Yamauchi [Tue, 30 Sep 2014 23:51:24 +0000 (23:51 +0000)]
am bafedc34: Merge "Get heap poisoning working in 64-bit."

* commit 'bafedc3424c3660d5d5e3ef190b3ac8313a5a59e':
  Get heap poisoning working in 64-bit.

9 years agoAdd VMRuntime.isBootClassPathOnDisk
Brian Carlstrom [Mon, 29 Sep 2014 18:22:54 +0000 (11:22 -0700)]
Add VMRuntime.isBootClassPathOnDisk

Bug: 17679443
Change-Id: I127ffdac3bfe731e9535dfe6a242eb950363d715

9 years agoMerge "Enable -Wunreachable-code"
Ian Rogers [Tue, 30 Sep 2014 23:10:02 +0000 (23:10 +0000)]
Merge "Enable -Wunreachable-code"

9 years agoEnable -Wunreachable-code
Ian Rogers [Tue, 30 Sep 2014 22:43:59 +0000 (15:43 -0700)]
Enable -Wunreachable-code

Caught bugs in DeoptimizeStackVisitor and assemble_x86 SIB encoding.
Add UNREACHABLE macro to document code expected to be unreachable.
Bug: 17731047

Change-Id: I2e363fe5b38a1246354d98be18c902a6031c0b9e

9 years agoMerge "ART: Fix GenReduceVector and GenSetVector"
Bill Buzbee [Tue, 30 Sep 2014 19:53:21 +0000 (19:53 +0000)]
Merge "ART: Fix GenReduceVector and GenSetVector"

9 years agoMerge "ART: Reset bb id to the last list mir"
Bill Buzbee [Tue, 30 Sep 2014 19:46:09 +0000 (19:46 +0000)]
Merge "ART: Reset bb id to the last list mir"

9 years agoMerge "ART: Allow overridable calculation of basic block dataflow"
Bill Buzbee [Tue, 30 Sep 2014 19:17:28 +0000 (19:17 +0000)]
Merge "ART: Allow overridable calculation of basic block dataflow"

9 years agoMerge "Update maximum number of reachable blocks in last step"
Bill Buzbee [Tue, 30 Sep 2014 19:16:40 +0000 (19:16 +0000)]
Merge "Update maximum number of reachable blocks in last step"

9 years agoART: Allow overridable calculation of basic block dataflow
Razvan A Lupusoru [Mon, 29 Sep 2014 18:59:12 +0000 (11:59 -0700)]
ART: Allow overridable calculation of basic block dataflow

Currently dataflow information is not calculated for catch blocks in order to
reduce overhead. However, this makes assumption that the lack of this
information is only preventing local optimizations to catch block. But in
reality this problematic for global optimizations.

However, since no optimizations need complete information for now, simply
leave logic same but factor it out in separate method.

Change-Id: I5c13344c18409bd172a5d9b07577b4a1353cc733
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
9 years agoMerge "Get heap poisoning working in 64-bit."
Hiroshi Yamauchi [Tue, 30 Sep 2014 17:11:27 +0000 (17:11 +0000)]
Merge "Get heap poisoning working in 64-bit."

9 years agoam cf447411: Merge "Disable ThreadStress."
Nicolas Geoffray [Tue, 30 Sep 2014 15:58:33 +0000 (15:58 +0000)]
am cf447411: Merge "Disable ThreadStress."

* commit 'cf447411f59a0cc34189ba486abea9c553151445':
  Disable ThreadStress.

9 years agoam 02ff2d41: AddIntrinsicSlowPath with resume requires clobbering
Serguei Katkov [Tue, 30 Sep 2014 15:54:57 +0000 (15:54 +0000)]
am 02ff2d41: AddIntrinsicSlowPath with resume requires clobbering

* commit '02ff2d4187249d26fabe8e5eacc27b99984ee353':
  AddIntrinsicSlowPath with resume requires clobbering

9 years agoMerge "Disable ThreadStress."
Nicolas Geoffray [Tue, 30 Sep 2014 15:52:05 +0000 (15:52 +0000)]
Merge "Disable ThreadStress."

9 years agoam 294f72c3: Merge "ART: Fix typo"
Andreas Gampe [Tue, 30 Sep 2014 15:49:02 +0000 (15:49 +0000)]
am 294f72c3: Merge "ART: Fix typo"

* commit '294f72c38dc615bccc3e741d4d3e83965d2f7163':
  ART: Fix typo

9 years agoMerge "ART: Fix typo"
Andreas Gampe [Tue, 30 Sep 2014 15:40:37 +0000 (15:40 +0000)]
Merge "ART: Fix typo"

9 years agoART: Fix typo
Andreas Gampe [Tue, 30 Sep 2014 15:39:37 +0000 (08:39 -0700)]
ART: Fix typo

Fixes a miss-translation in the pedantic change.

Change-Id: Ibdce896bf3667e06f10d60f160803451096b08ba

9 years agoam 00ade1e5: Merge "ART: Fix some -Wpedantic errors"
Andreas Gampe [Tue, 30 Sep 2014 14:57:33 +0000 (14:57 +0000)]
am 00ade1e5: Merge "ART: Fix some -Wpedantic errors"

* commit '00ade1e5eb76318790aad096ded1b7c4e9638785':
  ART: Fix some -Wpedantic errors

9 years agoMerge "ART: Fix some -Wpedantic errors"
Andreas Gampe [Tue, 30 Sep 2014 14:47:23 +0000 (14:47 +0000)]
Merge "ART: Fix some -Wpedantic errors"

9 years agoART: Overflow of bound check in ArrayCopy intrinsic
avignate [Wed, 17 Sep 2014 15:35:07 +0000 (22:35 +0700)]
ART: Overflow of bound check in ArrayCopy intrinsic

System.arraycopy method is implemented as intrinsic on x86. It has
bound check which has a bug to overflow in certain conditions
when summ of array offset and number elements to be copied are
more than MAX_INT. For the methods like CarArrayBuffer.get it
means no OutOfBound exception to be thrown. The proposed
solution fixed that.

b/17711775

Signed-off-by: avignate <aleksey.v.ignatenko@intel.com>
(cherry picked from commit f9f0ed401f7fe4138a71b36719423b908a3b7bfb)

Change-Id: I1d4ca900df262d483a94ebea8fa686ea361772c8

9 years agoDisable ThreadStress.
Nicolas Geoffray [Tue, 30 Sep 2014 14:05:13 +0000 (15:05 +0100)]
Disable ThreadStress.

Change-Id: Ieead69051687a8cc4687ab0c8c8879d780da01f3

9 years agoresolved conflicts for merge of 79705f99 to lmp-dev-plus-aosp
Vladimir Marko [Tue, 30 Sep 2014 13:26:27 +0000 (14:26 +0100)]
resolved conflicts for merge of 79705f99 to lmp-dev-plus-aosp

Change-Id: I6a87d6f2364ba3ac86d13faaf161dcc65990e4bb

9 years agoam 94114c1a: Merge "Remove selinux dependency."
Nicolas Geoffray [Tue, 30 Sep 2014 13:09:36 +0000 (13:09 +0000)]
am 94114c1a: Merge "Remove selinux dependency."

* commit '94114c1a87fb7993109ea3ba2e4d71bfbb530bf9':
  Remove selinux dependency.

9 years agoam fa94182c: Merge "Improve detection of lifetime holes."
Nicolas Geoffray [Tue, 30 Sep 2014 13:02:34 +0000 (13:02 +0000)]
am fa94182c: Merge "Improve detection of lifetime holes."

* commit 'fa94182ca34870522543d503839d9f22345de2c6':
  Improve detection of lifetime holes.

9 years agoMerge "AArch64: address some outstanding TODOs."
Vladimir Marko [Tue, 30 Sep 2014 13:00:02 +0000 (13:00 +0000)]
Merge "AArch64: address some outstanding TODOs."

9 years agoMerge "Remove selinux dependency."
Nicolas Geoffray [Tue, 30 Sep 2014 12:59:42 +0000 (12:59 +0000)]
Merge "Remove selinux dependency."

9 years agoMerge "Improve detection of lifetime holes."
Nicolas Geoffray [Tue, 30 Sep 2014 12:53:06 +0000 (12:53 +0000)]
Merge "Improve detection of lifetime holes."

9 years agoImprove detection of lifetime holes.
Nicolas Geoffray [Mon, 29 Sep 2014 11:00:40 +0000 (12:00 +0100)]
Improve detection of lifetime holes.

The check concluding that the next use was in a successor
was too conservative: two blocks following each other
in terms of liveness are not necessarily predecessor/sucessor.

Change-Id: Ideec98046c812aa5fb63781141b5fde24c706d6d

9 years agoRemove selinux dependency.
Nicolas Geoffray [Tue, 30 Sep 2014 12:48:16 +0000 (13:48 +0100)]
Remove selinux dependency.

Seems that the dependency was for the zygote code, which is
now in frameworks.

Change-Id: Id186d6ff794730e710628f275b258be499950051

9 years agoam b3cd8266: Merge "Revert "Enable computed goto interpreter on the host""
Sebastien Hertz [Tue, 30 Sep 2014 12:14:23 +0000 (12:14 +0000)]
am b3cd8266: Merge "Revert "Enable computed goto interpreter on the host""

* commit 'b3cd8266af5f108ac0570eb79f80d151fdc34d2b':
  Revert "Enable computed goto interpreter on the host"

9 years agoMerge "Revert "Enable computed goto interpreter on the host""
Sebastien Hertz [Tue, 30 Sep 2014 12:06:19 +0000 (12:06 +0000)]
Merge "Revert "Enable computed goto interpreter on the host""

9 years agoRevert "Enable computed goto interpreter on the host"
Sebastien Hertz [Tue, 30 Sep 2014 10:00:11 +0000 (12:00 +0200)]
Revert "Enable computed goto interpreter on the host"

This reverts commit 66d9bdb94f21106aaaa31a8fd686098672075e04.

Bug: 17716550
Change-Id: Ib404242c86e96e8edf019a2dcc14f0f8294b79e8

9 years agoAArch64: address some outstanding TODOs.
Matteo Franchin [Tue, 15 Jul 2014 14:20:27 +0000 (15:20 +0100)]
AArch64: address some outstanding TODOs.

Fix comments in arm64_lir.h. Rename Arm* to A64* and replace FWIDE,
FUNWIDE, ... with WIDE, UNWIDE, ...

Change-Id: I4900902e28463ea5e00e34ea40ddfc15704c0bfa

9 years agoam cc6b59ee: Merge "ART: Fix movnti assembler"
Ian Rogers [Tue, 30 Sep 2014 06:46:57 +0000 (06:46 +0000)]
am cc6b59ee: Merge "ART: Fix movnti assembler"

* commit 'cc6b59ee25d7b9782cc971687715d664a97b05bd':
  ART: Fix movnti assembler

9 years agoMerge "ART: Fix movnti assembler"
Ian Rogers [Tue, 30 Sep 2014 06:15:29 +0000 (06:15 +0000)]
Merge "ART: Fix movnti assembler"

9 years agoART: Fix some -Wpedantic errors
Andreas Gampe [Tue, 30 Sep 2014 03:07:43 +0000 (20:07 -0700)]
ART: Fix some -Wpedantic errors

Remove extra semicolons.

Dollar signs in C++ identifiers are an extension.

Named variadic macros are an extension.

Binary literals are a C++14 feature.

Enum re-declarations are not allowed.

Overflow.

Change-Id: I7d16b2217b2ef2959ca69de84eaecc754517714a

9 years agoGet heap poisoning working in 64-bit.
Hiroshi Yamauchi [Fri, 26 Sep 2014 21:55:38 +0000 (14:55 -0700)]
Get heap poisoning working in 64-bit.

This adds the reference negate code in arm64 and x86_64 that's used by
the jni compiler.

Bug: 12687968
Bug: 8367515
Change-Id: I28a44bcead1ee613866645620b4eaf54fad6a3aa

9 years agoam fcabfbe5: Merge "ART: Better IllegalAccessException message"
Andreas Gampe [Mon, 29 Sep 2014 20:56:00 +0000 (20:56 +0000)]
am fcabfbe5: Merge "ART: Better IllegalAccessException message"

* commit 'fcabfbe577c0fd40910b565beb681bd4b66f6c5d':
  ART: Better IllegalAccessException message

9 years agoam 1edf6380: Merge "ART: Deprecate CompilationUnit\'s code_item"
Ian Rogers [Mon, 29 Sep 2014 20:55:59 +0000 (20:55 +0000)]
am 1edf6380: Merge "ART: Deprecate CompilationUnit\'s code_item"

* commit '1edf638010c4b15b87f865d180c3b95026827e9a':
  ART: Deprecate CompilationUnit's code_item

9 years agoam f731a788: Merge "ART: More verifier error output"
Andreas Gampe [Mon, 29 Sep 2014 20:55:58 +0000 (20:55 +0000)]
am f731a788: Merge "ART: More verifier error output"

* commit 'f731a78809ac61a9085781370f0f38ef88305276':
  ART: More verifier error output

9 years agoam 59dce708: Merge "ART: Do a pre-pass for monitor_enter dex pc search"
Andreas Gampe [Mon, 29 Sep 2014 20:55:57 +0000 (20:55 +0000)]
am 59dce708: Merge "ART: Do a pre-pass for monitor_enter dex pc search"

* commit '59dce708c643fef943f8d1ce8cf9414d7bdba2e9':
  ART: Do a pre-pass for monitor_enter dex pc search

9 years agoam 1ee1458d: Merge "Reduce scope of MIR analysis attributes."
Ian Rogers [Mon, 29 Sep 2014 20:55:56 +0000 (20:55 +0000)]
am 1ee1458d: Merge "Reduce scope of MIR analysis attributes."

* commit '1ee1458dab818d5c44b7eba712918a5071df5d5b':
  Reduce scope of MIR analysis attributes.

9 years agoam c70535b4: Merge "Fix a bug in the insertion of parallel move."
Nicolas Geoffray [Mon, 29 Sep 2014 20:55:55 +0000 (20:55 +0000)]
am c70535b4: Merge "Fix a bug in the insertion of parallel move."

* commit 'c70535b4f9f1ff3e3da451734bb7d9601012ccc1':
  Fix a bug in the insertion of parallel move.

9 years agoam 13c4e8f4: Merge "Fix test now that instructions can die at instruction entry."
Nicolas Geoffray [Mon, 29 Sep 2014 20:55:54 +0000 (20:55 +0000)]
am 13c4e8f4: Merge "Fix test now that instructions can die at instruction entry."

* commit '13c4e8f4ef687f650aa76fb15ab12762d5a85602':
  Fix test now that instructions can die at instruction entry.

9 years agoAddIntrinsicSlowPath with resume requires clobbering
Serguei Katkov [Thu, 4 Sep 2014 08:21:32 +0000 (15:21 +0700)]
AddIntrinsicSlowPath with resume requires clobbering

AddIntrinsicSlowPath with resume results in a call.
So all temps must be clobbered at the point where
AddIntrinsicSlowPath returns.

(cherry-picked from 9863daf4fdc1a08339edac794452dbc719aef4f1)
Change-Id: If9eb887e295ff5e59920f4da1cef63258ad490b0
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoMerge "ART: Better IllegalAccessException message"
Andreas Gampe [Mon, 29 Sep 2014 18:40:54 +0000 (18:40 +0000)]
Merge "ART: Better IllegalAccessException message"

9 years agoART: Better IllegalAccessException message
Andreas Gampe [Tue, 23 Sep 2014 17:38:30 +0000 (10:38 -0700)]
ART: Better IllegalAccessException message

Bug: 17618578
Bug: 17614623
Change-Id: I0e3f15e676acd6ed5844fc86e136f75cc335372d

9 years agoMerge "ART: Deprecate CompilationUnit's code_item"
Ian Rogers [Mon, 29 Sep 2014 18:31:02 +0000 (18:31 +0000)]
Merge "ART: Deprecate CompilationUnit's code_item"

9 years agoMerge "ART: More verifier error output"
Andreas Gampe [Mon, 29 Sep 2014 18:29:17 +0000 (18:29 +0000)]
Merge "ART: More verifier error output"

9 years agoMerge "ART: Do a pre-pass for monitor_enter dex pc search"
Andreas Gampe [Mon, 29 Sep 2014 18:29:04 +0000 (18:29 +0000)]
Merge "ART: Do a pre-pass for monitor_enter dex pc search"

9 years agoMerge "Reduce scope of MIR analysis attributes."
Ian Rogers [Mon, 29 Sep 2014 18:24:23 +0000 (18:24 +0000)]
Merge "Reduce scope of MIR analysis attributes."

9 years agoART: Deprecate CompilationUnit's code_item
Razvan A Lupusoru [Thu, 11 Sep 2014 22:24:59 +0000 (15:24 -0700)]
ART: Deprecate CompilationUnit's code_item

The code_item field is tracked in both the CompilationUnit and the MIRGraph.
However, the existence of this field in CompilationUnit promotes bad practice
because it creates assumption only a single code_item can be part of method.

This patch deprecates this field and updates MIRGraph methods to make it
easy to get same information as before. Part of this is the update to
interface GetNumDalvikInsn which ensures to count all code_items in MIRGraph.

Some dead code was also removed because it was not friendly to these updates.

Change-Id: Ie979be73cc56350321506cfea58f06d688a7fe99
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
9 years agoReduce scope of MIR analysis attributes.
Ian Rogers [Mon, 29 Sep 2014 17:49:11 +0000 (10:49 -0700)]
Reduce scope of MIR analysis attributes.

MIR analaysis attributes are only used in MIRGraph::AnalyzeBlock. Reduce the
scope to just the file that defines that function.
Reduce the size of the attributes from int32 to int16.
Remove the use of #defines in favor of enums.

Change-Id: I45ba3aa08beae67240507917b584d537a029838e

9 years agoART: Fix movnti assembler
Razvan A Lupusoru [Tue, 23 Sep 2014 21:54:32 +0000 (14:54 -0700)]
ART: Fix movnti assembler

Movnti was receiving rex prefix before its opcode. Additionally,
the 64-bit version was missing the rex.w prefix.

Change-Id: Ie5c3bbe109765a0b990cafeeea1ee30329daabd0
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoART: More verifier error output
Andreas Gampe [Tue, 16 Sep 2014 02:02:30 +0000 (19:02 -0700)]
ART: More verifier error output

Add some debug output on verifier abort.

Change-Id: I4a84ff1d8e1bad689addca287a989639e7111b97

9 years agoART: Do a pre-pass for monitor_enter dex pc search
Andreas Gampe [Thu, 18 Sep 2014 20:16:38 +0000 (13:16 -0700)]
ART: Do a pre-pass for monitor_enter dex pc search

In case the method does not have any monitor_enter instructions,
it is unnecessary to run the full verifier. Speeds up stack dumps
and works around b/17514582.

Bug: 17514582
Change-Id: I5201bfbb9fb6cad49596b4c72e71983b58d9f20c

9 years agoMerge "Fix a bug in the insertion of parallel move."
Nicolas Geoffray [Mon, 29 Sep 2014 10:59:34 +0000 (10:59 +0000)]
Merge "Fix a bug in the insertion of parallel move."

9 years agoFix a bug in the insertion of parallel move.
Nicolas Geoffray [Mon, 29 Sep 2014 09:33:25 +0000 (10:33 +0100)]
Fix a bug in the insertion of parallel move.

To make sure we do not connect interval siblings in the
same parallel move, I added a new field in MoveOperands
that tells for which instruction this move is for.
A parallel move should not contains moves for the same instructions.

The checks revealed a bug when connecting siblings, where
we would choose the wrong parallel move.

Change-Id: I70f27ec120886745c187071453c78da4c47c1dd2

9 years agoMerge "Fix test now that instructions can die at instruction entry."
Nicolas Geoffray [Mon, 29 Sep 2014 08:47:31 +0000 (08:47 +0000)]
Merge "Fix test now that instructions can die at instruction entry."

9 years agoFix test now that instructions can die at instruction entry.
Nicolas Geoffray [Mon, 29 Sep 2014 08:46:03 +0000 (09:46 +0100)]
Fix test now that instructions can die at instruction entry.

Change-Id: I816279c55d12de8e69ac0b6c88730bd676c03335

9 years agoam 6d031046: ART: Update for split native bridge initialization
jgu21 [Mon, 29 Sep 2014 03:28:05 +0000 (03:28 +0000)]
am 6d031046: ART: Update for split native bridge initialization

* commit '6d031046eeb5e9f62b657df0695b752e1d0aa583':
  ART: Update for split native bridge initialization

9 years agoART: Update for split native bridge initialization
jgu21 [Wed, 10 Sep 2014 10:57:17 +0000 (06:57 -0400)]
ART: Update for split native bridge initialization

(cherry picked from commit a6da74e941d7cee498ac3880018a1d8dc953c6eb)
(cherry picked from commit 7a536531791293441253cffb6e370ba1150eee96)

Bug: 17671501
Change-Id: Id948e3ab22ac988d96f5d370bba8c3f86d08abff

9 years agoam eb1d22bf: Merge "Register allocator: refine instructions liveness."
Nicolas Geoffray [Sat, 27 Sep 2014 12:01:24 +0000 (12:01 +0000)]
am eb1d22bf: Merge "Register allocator: refine instructions liveness."

* commit 'eb1d22bf405f0edaeb34f78905d75f167e88b868':
  Register allocator: refine instructions liveness.

9 years agoMerge "Register allocator: refine instructions liveness."
Nicolas Geoffray [Sat, 27 Sep 2014 11:56:12 +0000 (11:56 +0000)]
Merge "Register allocator: refine instructions liveness."

9 years agoRegister allocator: refine instructions liveness.
Nicolas Geoffray [Thu, 25 Sep 2014 13:39:26 +0000 (14:39 +0100)]
Register allocator: refine instructions liveness.

Add support for instructions that die at the beginning
of another instruction. Before, an instruction needed
to stay alive during the instruction, so the register
allocator was not able not reuse the register.

Change-Id: I5f11a80b0a20778227229eb797816edcc6365297

9 years agoam 68fd50b2: Merge "Optimize get/set reflection performance"
Mathieu Chartier [Sat, 27 Sep 2014 03:04:32 +0000 (03:04 +0000)]
am 68fd50b2: Merge "Optimize get/set reflection performance"

* commit '68fd50b247aafac0b5cabb6a4698dc9977bf8464':
  Optimize get/set reflection performance

9 years agoMerge "Optimize get/set reflection performance"
Mathieu Chartier [Sat, 27 Sep 2014 02:55:11 +0000 (02:55 +0000)]
Merge "Optimize get/set reflection performance"

9 years agoOptimize get/set reflection performance
Mathieu Chartier [Fri, 26 Sep 2014 21:32:37 +0000 (14:32 -0700)]
Optimize get/set reflection performance

Speedups mostly from reducing how often access checks are needed,
and adding more inlining, and adding templates.

Field_getInt from ~850ns -> 350ns.
Field_setInt from ~900ns -> 370ns.

Bug: 14063288

(cherry picked from commit ffc788cb7b5b9f53734d7bb8af2d5e45d885546b)

Change-Id: I2441581ff3478c6ae43b6aa49939ff3f07555ec8