OSDN Git Service

android-x86/art.git
8 years agoMerge "Replace rotate patterns and invokes with HRor IR." am: 58dcb021c3
Vladimir Marko [Fri, 11 Dec 2015 16:23:00 +0000 (08:23 -0800)]
Merge "Replace rotate patterns and invokes with HRor IR." am: 58dcb021c3
am: 8cd24b9ce5

* commit '8cd24b9ce515da068f459f8c6471adb2cc4a0931':
  Replace rotate patterns and invokes with HRor IR.

8 years agoMerge "Replace rotate patterns and invokes with HRor IR."
Vladimir Marko [Fri, 11 Dec 2015 16:20:21 +0000 (08:20 -0800)]
Merge "Replace rotate patterns and invokes with HRor IR."
am: 58dcb021c3

* commit '58dcb021c3bd45718d0103844f4e6d55754e6501':
  Replace rotate patterns and invokes with HRor IR.

8 years agoMerge "Replace rotate patterns and invokes with HRor IR."
Vladimir Marko [Fri, 11 Dec 2015 16:14:56 +0000 (16:14 +0000)]
Merge "Replace rotate patterns and invokes with HRor IR."

8 years agoReplace rotate patterns and invokes with HRor IR.
Scott Wakeling [Fri, 11 Dec 2015 09:50:36 +0000 (09:50 +0000)]
Replace rotate patterns and invokes with HRor IR.

Replace constant and register version bitfield rotate patterns, and
rotateRight/Left intrinsic invokes, with new HRor IR.

Where k is constant and r is a register, with the UShr and Shl on
either side of a |, +, or ^, the following patterns are replaced:

  x >>> #k OP x << #(reg_size - k)
  x >>> #k OP x << #-k

  x >>> r OP x << (#reg_size - r)
  x >>> (#reg_size - r) OP x << r

  x >>> r OP x << -r
  x >>> -r OP x << r

Implemented for ARM/ARM64 & X86/X86_64.

Tests changed to not be inlined to prevent optimization from folding
them out. Additional tests added for constant rotate amounts.

Change-Id: I5847d104c0a0348e5792be6c5072ce5090ca2c34

8 years agoMerge "Revert "Enable profiled guided compilation in dex2oat"" am: 66278646b5
Calin Juravle [Fri, 11 Dec 2015 14:10:46 +0000 (06:10 -0800)]
Merge "Revert "Enable profiled guided compilation in dex2oat"" am: 66278646b5
am: f6e504d5ff

* commit 'f6e504d5ff301048f545905c01c4734f2b583713':
  Revert "Enable profiled guided compilation in dex2oat"

8 years agoMerge "Revert "Enable profiled guided compilation in dex2oat""
Calin Juravle [Fri, 11 Dec 2015 14:07:45 +0000 (06:07 -0800)]
Merge "Revert "Enable profiled guided compilation in dex2oat""
am: 66278646b5

* commit '66278646b5b332142d1474703ac7d945dfbf7c78':
  Revert "Enable profiled guided compilation in dex2oat"

8 years agoMerge "Revert "Enable profiled guided compilation in dex2oat""
Calin Juravle [Fri, 11 Dec 2015 14:01:12 +0000 (14:01 +0000)]
Merge "Revert "Enable profiled guided compilation in dex2oat""

8 years agoRevert "Enable profiled guided compilation in dex2oat"
Calin Juravle [Fri, 11 Dec 2015 14:00:52 +0000 (14:00 +0000)]
Revert "Enable profiled guided compilation in dex2oat"

The test still have some flakiness in it which didn't reproduce locally.

This reverts commit 500c9be1f261a8a95ae7a25f4f8084f43207f313.

Change-Id: I132aff62bf03c2f926aafde6869707573bae9b36

8 years agoMerge "Mark __jit_debug_register_code as a unique symbol" am: 919b6d5fc9
Tamas Berghammer [Fri, 11 Dec 2015 13:24:59 +0000 (05:24 -0800)]
Merge "Mark __jit_debug_register_code as a unique symbol" am: 919b6d5fc9
am: db20d45fc9

* commit 'db20d45fc9cf984ea43fa3ef2556257454fefd16':
  Mark __jit_debug_register_code as a unique symbol

8 years agoMerge "Mark __jit_debug_register_code as a unique symbol"
Tamas Berghammer [Fri, 11 Dec 2015 13:22:09 +0000 (05:22 -0800)]
Merge "Mark __jit_debug_register_code as a unique symbol"
am: 919b6d5fc9

* commit '919b6d5fc9b18dd7c00f5fa8eb90411b2ca8998b':
  Mark __jit_debug_register_code as a unique symbol

8 years agoMerge "Mark __jit_debug_register_code as a unique symbol"
Tamas Berghammer [Fri, 11 Dec 2015 13:16:13 +0000 (13:16 +0000)]
Merge "Mark __jit_debug_register_code as a unique symbol"

8 years agoMerge "Set DW_AT_comp_dir for each compile unit in dwarf" am: 7b000c9d9d
Tamas Berghammer [Fri, 11 Dec 2015 11:57:32 +0000 (03:57 -0800)]
Merge "Set DW_AT_comp_dir for each compile unit in dwarf" am: 7b000c9d9d
am: 8aa6495e87

* commit '8aa6495e877f93eaa652c13cf42db5a955800399':
  Set DW_AT_comp_dir for each compile unit in dwarf

8 years agoMerge "Set DW_AT_comp_dir for each compile unit in dwarf"
Tamas Berghammer [Fri, 11 Dec 2015 11:54:02 +0000 (03:54 -0800)]
Merge "Set DW_AT_comp_dir for each compile unit in dwarf"
am: 7b000c9d9d

* commit '7b000c9d9dd34f1857bcd561daf04742bbacdd76':
  Set DW_AT_comp_dir for each compile unit in dwarf

8 years agoMerge "Set DW_AT_comp_dir for each compile unit in dwarf"
Tamas Berghammer [Fri, 11 Dec 2015 11:48:00 +0000 (11:48 +0000)]
Merge "Set DW_AT_comp_dir for each compile unit in dwarf"

8 years agoMerge "Enable profiled guided compilation in dex2oat" am: a79c717fd4
Calin Juravle [Fri, 11 Dec 2015 11:45:48 +0000 (03:45 -0800)]
Merge "Enable profiled guided compilation in dex2oat" am: a79c717fd4
am: f17b1e3158

* commit 'f17b1e3158da8deec4a3df75055402d82326780b':
  Enable profiled guided compilation in dex2oat

8 years agoMerge "Don\'t generate a slow path for strings in the dex cache." am: bf479be3a9
Nicolas Geoffray [Fri, 11 Dec 2015 11:45:38 +0000 (03:45 -0800)]
Merge "Don\'t generate a slow path for strings in the dex cache." am: bf479be3a9
am: 9a1ef8c212

* commit '9a1ef8c212736b006062e69f18be77ad7bd35d56':
  Don't generate a slow path for strings in the dex cache.

8 years agoMerge "Optimizing: Add direct calls to math intrinsics" am: 376cbcc516
Nicolas Geoffray [Fri, 11 Dec 2015 11:45:28 +0000 (03:45 -0800)]
Merge "Optimizing: Add direct calls to math intrinsics" am: 376cbcc516
am: e67b966422

* commit 'e67b966422d4f42fd7e38d938b0f2ee88b096448':
  Optimizing: Add direct calls to math intrinsics

8 years agoMerge "Enable profiled guided compilation in dex2oat"
Calin Juravle [Fri, 11 Dec 2015 11:42:42 +0000 (03:42 -0800)]
Merge "Enable profiled guided compilation in dex2oat"
am: a79c717fd4

* commit 'a79c717fd4de0d7361a51bee1e3cf4f2ff5f085a':
  Enable profiled guided compilation in dex2oat

8 years agoMark __jit_debug_register_code as a unique symbol
Tamas Berghammer [Wed, 2 Sep 2015 10:24:33 +0000 (11:24 +0100)]
Mark __jit_debug_register_code as a unique symbol

This symbol is used to notify the debugger about JIT library load/unload
events. Because of ICF, several functions with the same body put to the
same adress by the linker what causes the debugger to get notifictaion
about JIT load/unload events in several case where it isn't really happened.

This change disable ICF for the __jit_debug_register_code symbol to prevent
this behavior with keeping the symbol unique in the object file.

This is the 3rd attemp to mark the __jit_debug_register_code symbol unique
as the previous 2 failed because of some confilict with unrelated changes.

Tracking bug for making the same change for aarch64 after we switch to gold
there: b/26149442

Change-Id: I6edc45f27d5e57a66fb9d98c32a081f711565810

8 years agoMerge "Enable profiled guided compilation in dex2oat"
Calin Juravle [Fri, 11 Dec 2015 11:35:23 +0000 (11:35 +0000)]
Merge "Enable profiled guided compilation in dex2oat"

8 years agoMerge "Don\'t generate a slow path for strings in the dex cache."
Nicolas Geoffray [Fri, 11 Dec 2015 09:38:32 +0000 (01:38 -0800)]
Merge "Don\'t generate a slow path for strings in the dex cache."
am: bf479be3a9

* commit 'bf479be3a9b25b2126d2c73a3267f18ee52811fb':
  Don't generate a slow path for strings in the dex cache.

8 years agoMerge "Optimizing: Add direct calls to math intrinsics"
Nicolas Geoffray [Fri, 11 Dec 2015 09:35:47 +0000 (01:35 -0800)]
Merge "Optimizing: Add direct calls to math intrinsics"
am: 376cbcc516

* commit '376cbcc5163b3bb80811b9af6b67b6f8719db9f2':
  Optimizing: Add direct calls to math intrinsics

8 years agoMerge "Don't generate a slow path for strings in the dex cache."
Nicolas Geoffray [Fri, 11 Dec 2015 09:32:54 +0000 (09:32 +0000)]
Merge "Don't generate a slow path for strings in the dex cache."

8 years agoMerge "Optimizing: Add direct calls to math intrinsics"
Nicolas Geoffray [Fri, 11 Dec 2015 09:31:08 +0000 (09:31 +0000)]
Merge "Optimizing: Add direct calls to math intrinsics"

8 years agoMerge "Skip DumpForSigQuit if debugger is active" am: b4cc884dfe
Mathieu Chartier [Fri, 11 Dec 2015 04:09:38 +0000 (20:09 -0800)]
Merge "Skip DumpForSigQuit if debugger is active" am: b4cc884dfe
am: 5cf2c6f312

* commit '5cf2c6f312ee06c76420056dfa30776ced1162a5':
  Skip DumpForSigQuit if debugger is active

8 years agoMerge "Skip DumpForSigQuit if debugger is active"
Mathieu Chartier [Fri, 11 Dec 2015 04:07:11 +0000 (20:07 -0800)]
Merge "Skip DumpForSigQuit if debugger is active"
am: b4cc884dfe

* commit 'b4cc884dfe5bb9c1a36bdfbf6a0dfa183d8d321c':
  Skip DumpForSigQuit if debugger is active

8 years agoMerge "Skip DumpForSigQuit if debugger is active"
Mathieu Chartier [Fri, 11 Dec 2015 04:01:40 +0000 (04:01 +0000)]
Merge "Skip DumpForSigQuit if debugger is active"

8 years agoSkip DumpForSigQuit if debugger is active
Mathieu Chartier [Fri, 11 Dec 2015 01:11:07 +0000 (17:11 -0800)]
Skip DumpForSigQuit if debugger is active

Otherwise, the SIGQUIT dumping may get blocked on the mutator lock
and freeze the debugger.

Future work: Ideally we want to dump what we can instead of nothing.

Bug: 26118154

(cherry picked from commit 0b8f1bfdfc721a41d98d13e12c4c67f62f698dfc)

Change-Id: I28e5352dab3b8abce0b39850e3e58282ae454b51

8 years agoMerge "Skip DumpForSigQuit if debugger is active"
Mathieu Chartier [Fri, 11 Dec 2015 01:33:34 +0000 (01:33 +0000)]
Merge "Skip DumpForSigQuit if debugger is active"

8 years agoSkip DumpForSigQuit if debugger is active
Mathieu Chartier [Fri, 11 Dec 2015 01:11:07 +0000 (17:11 -0800)]
Skip DumpForSigQuit if debugger is active

Otherwise, the SIGQUIT dumping may get blocked on the mutator lock
and freeze the debugger.

Future work: Ideally we want to dump what we can instead of nothing.

Bug: 26118154
Change-Id: I365612a3a34ca6d3215892e6c54b649b93365c80

8 years agoMerge "For LSE, add a few non-aliasing cases due to pre-existence." am: 84623e1802
Mingyao Yang [Fri, 11 Dec 2015 01:08:38 +0000 (17:08 -0800)]
Merge "For LSE, add a few non-aliasing cases due to pre-existence." am: 84623e1802
am: 3075a13ab2

* commit '3075a13ab2158e66e89546a2f8d33d7778cc2ede':
  For LSE, add a few non-aliasing cases due to pre-existence.

8 years agoMerge "For LSE, add a few non-aliasing cases due to pre-existence."
Mingyao Yang [Fri, 11 Dec 2015 01:05:51 +0000 (17:05 -0800)]
Merge "For LSE, add a few non-aliasing cases due to pre-existence."
am: 84623e1802

* commit '84623e18021451375248af7be44dd0717e681c1f':
  For LSE, add a few non-aliasing cases due to pre-existence.

8 years agoMerge "For LSE, add a few non-aliasing cases due to pre-existence."
Mingyao Yang [Fri, 11 Dec 2015 00:57:24 +0000 (00:57 +0000)]
Merge "For LSE, add a few non-aliasing cases due to pre-existence."

8 years agoFor LSE, add a few non-aliasing cases due to pre-existence.
Mingyao Yang [Thu, 3 Dec 2015 22:11:15 +0000 (14:11 -0800)]
For LSE, add a few non-aliasing cases due to pre-existence.

Create reference info for a few instructions that can return a reference.
So they will be treated as not-aliasing with future allocations.

Change-Id: Ided3db790b95f8d6f1468bbf4b7f3e6d71d81eb2

8 years agoMerge "ART: Stash a resolved method late in the verifier" am: 748047de83
Andreas Gampe [Fri, 11 Dec 2015 00:01:41 +0000 (16:01 -0800)]
Merge "ART: Stash a resolved method late in the verifier" am: 748047de83
am: 682857fece

* commit '682857fece0425362c4fb55da611e7144c9ec092':
  ART: Stash a resolved method late in the verifier

8 years agoMerge "ART: Stash a resolved method late in the verifier"
Andreas Gampe [Thu, 10 Dec 2015 23:58:19 +0000 (15:58 -0800)]
Merge "ART: Stash a resolved method late in the verifier"
am: 748047de83

* commit '748047de833061466e230baf374480a147568f73':
  ART: Stash a resolved method late in the verifier

8 years agoMerge "Output static field values in dexdump" am: 1a74dc4209
Shinichiro Hamaji [Thu, 10 Dec 2015 23:56:03 +0000 (23:56 +0000)]
Merge "Output static field values in dexdump" am: 1a74dc4209
am: 99dd068563

* commit '99dd068563bbd460f5ba8c81249e6e55e794de5e':
  Output static field values in dexdump

8 years agoMerge "Revert "ART: Check invoke-interface earlier in verifier"" am: 170e01a6b5
Andreas Gampe [Thu, 10 Dec 2015 23:55:53 +0000 (23:55 +0000)]
Merge "Revert "ART: Check invoke-interface earlier in verifier"" am: 170e01a6b5
am: 2b895fd833

* commit '2b895fd83371fb1a0cd75c7de3411cfb59f442c6':
  Revert "ART: Check invoke-interface earlier in verifier"

8 years agoMerge "ART: Refactor verifier callbacks" am: 34760f9a97
Andreas Gampe [Thu, 10 Dec 2015 23:55:43 +0000 (23:55 +0000)]
Merge "ART: Refactor verifier callbacks" am: 34760f9a97
am: 6e0e9c77b0

* commit '6e0e9c77b0b6109605eef6e5ea2c2b3de30a6ffc':
  ART: Refactor verifier callbacks

8 years agoMerge "Refactor and clean up OatWriter and Dex2Oat." am: a1b21219db
Vladimir Marko [Thu, 10 Dec 2015 23:55:34 +0000 (23:55 +0000)]
Merge "Refactor and clean up OatWriter and Dex2Oat." am: a1b21219db
am: c8d821593b

* commit 'c8d821593b753bd39c71fbf091ceaf14dd962f9f':
  Refactor and clean up OatWriter and Dex2Oat.

8 years agoMerge "Revert "Revert "Add support for LZ4 compressed image files""" am: 840d22928c
Mathieu Chartier [Thu, 10 Dec 2015 23:55:25 +0000 (23:55 +0000)]
Merge "Revert "Revert "Add support for LZ4 compressed image files""" am: 840d22928c
am: c46ecf59ba

* commit 'c46ecf59ba43e38b2b819e0b4322d62edd8e24d3':
  Revert "Revert "Add support for LZ4 compressed image files""

8 years agoMerge "Get source mapping table from stack maps." am: 836ee764c8
David Srbecky [Thu, 10 Dec 2015 23:55:15 +0000 (23:55 +0000)]
Merge "Get source mapping table from stack maps." am: 836ee764c8
am: 88d5d0c8fa

* commit '88d5d0c8fa8dbbfa3668088faa9069685b01e06a':
  Get source mapping table from stack maps.

8 years agoMerge "Output static field values in dexdump"
Shinichiro Hamaji [Thu, 10 Dec 2015 23:52:14 +0000 (15:52 -0800)]
Merge "Output static field values in dexdump"
am: 1a74dc4209

* commit '1a74dc42099bd1ea4583edabef42b5a4d6f70389':
  Output static field values in dexdump

8 years agoMerge "ART: Stash a resolved method late in the verifier"
Andreas Gampe [Thu, 10 Dec 2015 23:50:11 +0000 (23:50 +0000)]
Merge "ART: Stash a resolved method late in the verifier"

8 years agoMerge "Output static field values in dexdump"
Shinichiro Hamaji [Thu, 10 Dec 2015 23:45:02 +0000 (23:45 +0000)]
Merge "Output static field values in dexdump"

8 years agoART: Stash a resolved method late in the verifier
Andreas Gampe [Fri, 4 Dec 2015 01:27:32 +0000 (17:27 -0800)]
ART: Stash a resolved method late in the verifier

Invoke-interface should only be called on an interface method.
We cannot move the check earlier, as there are other checks
that must be done that can fail a class hard. So postpone
a push to the dex cache.

Clean up the test a bit.

Also templatize ResolveMethod with a version always checking
the invoke type, and on a cache miss check whether type target
type is an interface when an interface invoke type was given.

Bug: 21869691
Change-Id: I94cbb23339cbbb3cb6be9995775e4dcefacce7fd

8 years agoMerge "Revert "ART: Check invoke-interface earlier in verifier""
Andreas Gampe [Thu, 10 Dec 2015 21:37:39 +0000 (13:37 -0800)]
Merge "Revert "ART: Check invoke-interface earlier in verifier""
am: 170e01a6b5

* commit '170e01a6b59b3242a5afc76c3a03c00ce288150f':
  Revert "ART: Check invoke-interface earlier in verifier"

8 years agoMerge "Revert "ART: Check invoke-interface earlier in verifier""
Andreas Gampe [Thu, 10 Dec 2015 21:28:58 +0000 (21:28 +0000)]
Merge "Revert "ART: Check invoke-interface earlier in verifier""

8 years agoRevert "ART: Check invoke-interface earlier in verifier"
Andreas Gampe [Thu, 10 Dec 2015 21:25:27 +0000 (13:25 -0800)]
Revert "ART: Check invoke-interface earlier in verifier"

This reverts commit dae24142127c64551142a50423085aabdb0a6060.

It is important to check the name of the method being called.

Bug: 21869691

8 years agoMerge "ART: Refactor verifier callbacks"
Andreas Gampe [Thu, 10 Dec 2015 20:57:56 +0000 (12:57 -0800)]
Merge "ART: Refactor verifier callbacks"
am: 34760f9a97

* commit '34760f9a97e6a1733edfca1b13199f749106a30f':
  ART: Refactor verifier callbacks

8 years agoMerge "ART: Refactor verifier callbacks"
Andreas Gampe [Thu, 10 Dec 2015 20:50:26 +0000 (20:50 +0000)]
Merge "ART: Refactor verifier callbacks"

8 years agoMerge "Refactor and clean up OatWriter and Dex2Oat."
Vladimir Marko [Thu, 10 Dec 2015 20:36:44 +0000 (12:36 -0800)]
Merge "Refactor and clean up OatWriter and Dex2Oat."
am: a1b21219db

* commit 'a1b21219dbed80f8812611968b624ba8644781e3':
  Refactor and clean up OatWriter and Dex2Oat.

8 years agoMerge "Refactor and clean up OatWriter and Dex2Oat."
Vladimir Marko [Thu, 10 Dec 2015 20:29:25 +0000 (20:29 +0000)]
Merge "Refactor and clean up OatWriter and Dex2Oat."

8 years agoRefactor and clean up OatWriter and Dex2Oat.
Vladimir Marko [Thu, 10 Dec 2015 13:49:19 +0000 (13:49 +0000)]
Refactor and clean up OatWriter and Dex2Oat.

This is in preparation for early writing of dex files
to oat file.

Change-Id: I31195f3c94eb8ff676c600c60bd35ae531f457b4

8 years agoMerge "Revert "Revert "Add support for LZ4 compressed image files"""
Mathieu Chartier [Thu, 10 Dec 2015 19:24:38 +0000 (11:24 -0800)]
Merge "Revert "Revert "Add support for LZ4 compressed image files"""
am: 840d22928c

* commit '840d22928c09bf373c8f559171fdba3f7448345e':
  Revert "Revert "Add support for LZ4 compressed image files""

8 years agoMerge "Revert "Revert "Add support for LZ4 compressed image files"""
Mathieu Chartier [Thu, 10 Dec 2015 19:16:31 +0000 (19:16 +0000)]
Merge "Revert "Revert "Add support for LZ4 compressed image files"""

8 years agoRevert "Revert "Add support for LZ4 compressed image files""
Mathieu Chartier [Thu, 10 Dec 2015 17:33:21 +0000 (09:33 -0800)]
Revert "Revert "Add support for LZ4 compressed image files""

Needed to call compiler_driver_->SetSupportBootImageFixup(false).

Bug: 22858531

This reverts commit 83d4d72aa0e4170209ab50c67ba22e46b71352c1.

Change-Id: Iaed6a810a0c088f1f2c57cf2f12087f3978a3de1

8 years agoOptimizing: Add direct calls to math intrinsics
Mark Mendell [Thu, 6 Aug 2015 19:23:34 +0000 (15:23 -0400)]
Optimizing: Add direct calls to math intrinsics

Support the double forms of:
  cos, sin, acos, asin, atan, atan2, cbrt, cosh, exp, expm1,
  hypot, log, log10, nextAfter, sinh, tan, tanh

Add these entries to the vector addressed off the thread pointer. Call
the libc routines directly, which means that we have to implement the
native ABI, not the ART one. For x86_64, that includes saving XMM12-15
as the native ABI considers them caller-save, while the ART ABI
considers them callee-save.  We save them by marking them as used by the
call to the math function.  For x86, this is not an issue, as all the XMM
registers are caller-save.

Other architectures will call Java as before until they are ready to
implement the new intrinsics.

Bump the OAT version since we are incompatible with old boot.oat files.

Change-Id: Ic6332c3555c09393a17d1ad4daf62932488722fb
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoEnable profiled guided compilation in dex2oat
Calin Juravle [Wed, 25 Nov 2015 15:59:14 +0000 (15:59 +0000)]
Enable profiled guided compilation in dex2oat

- add parsing of the profile info saved during JIT.
- don't compile methods which are not part of the profile info.
- delete old profile hooks.
- add test for reading/writing profile. The test is disable in:
   * interpreter modes: the test needs JIT.
   * no-dex2oat/no-prebuild: we only save profiling info for the primary
     oat file. In these modes we don't create oat files and thus nothing
     is saved.

Bug:26080105

Change-Id: Ifdc63dc9d4b537fc79e54c3edc3ae3a462bc30fb

8 years agoMerge "Get source mapping table from stack maps."
David Srbecky [Thu, 10 Dec 2015 16:48:24 +0000 (16:48 +0000)]
Merge "Get source mapping table from stack maps."
am: 836ee764c8

* commit '836ee764c86892aff1dca6b0f8b27e32c7374cc7':
  Get source mapping table from stack maps.

8 years agoDon't generate a slow path for strings in the dex cache.
Nicolas Geoffray [Tue, 24 Nov 2015 18:25:35 +0000 (18:25 +0000)]
Don't generate a slow path for strings in the dex cache.

Change-Id: I1d258f1a89bf0ec7c7ddd134be9215d480f0b09a

8 years agoMerge "Get source mapping table from stack maps."
David Srbecky [Thu, 10 Dec 2015 16:42:55 +0000 (16:42 +0000)]
Merge "Get source mapping table from stack maps."

8 years agoGet source mapping table from stack maps.
David Srbecky [Tue, 8 Dec 2015 15:05:08 +0000 (15:05 +0000)]
Get source mapping table from stack maps.

Stack maps contain pc to dex mapping.
Reuse them instead of maintaining separate map.

Change-Id: Iaaec9a6bd2603eace1dfc8f4344087883d88cce3

8 years agoMerge "Fix braino when resolving an invoke-super." am: d48015603a
Nicolas Geoffray [Thu, 10 Dec 2015 15:47:45 +0000 (15:47 +0000)]
Merge "Fix braino when resolving an invoke-super." am: d48015603a
am: 0fc16a2702

* commit '0fc16a2702bc5193fb61320be79f513cf0c64838':
  Fix braino when resolving an invoke-super.

8 years agoMerge "Fix braino when resolving an invoke-super."
Nicolas Geoffray [Thu, 10 Dec 2015 15:44:55 +0000 (07:44 -0800)]
Merge "Fix braino when resolving an invoke-super."
am: d48015603a

* commit 'd48015603a54b820d287d92709825765159615f0':
  Fix braino when resolving an invoke-super.

8 years agoMerge "Fix braino when resolving an invoke-super."
Nicolas Geoffray [Thu, 10 Dec 2015 15:40:55 +0000 (15:40 +0000)]
Merge "Fix braino when resolving an invoke-super."

8 years agoFix braino when resolving an invoke-super.
Nicolas Geoffray [Thu, 10 Dec 2015 15:06:15 +0000 (15:06 +0000)]
Fix braino when resolving an invoke-super.

We should check the actual_method, and not the resolved_method,
on whether it is in the same dex file.

bug:26022686

Change-Id: I8a9b0c68e162015e0aec397545d0607482949967

8 years agoMerge "ART: Fix bug in DCE not removing phis from catch phi uses" am: 4a34064d9c
David Brazdil [Thu, 10 Dec 2015 15:18:24 +0000 (15:18 +0000)]
Merge "ART: Fix bug in DCE not removing phis from catch phi uses" am: 4a34064d9c
am: cfa3810104

* commit 'cfa3810104d1debd3b13e7ad76442765e234da06':
  ART: Fix bug in DCE not removing phis from catch phi uses

8 years agoMerge "ART: Fix bug in DCE not removing phis from catch phi uses"
David Brazdil [Thu, 10 Dec 2015 15:16:07 +0000 (15:16 +0000)]
Merge "ART: Fix bug in DCE not removing phis from catch phi uses"
am: 4a34064d9c

* commit '4a34064d9ca437c5168d7c00c456155ea8339dec':
  ART: Fix bug in DCE not removing phis from catch phi uses

8 years agoMerge "ART: Fix bug in DCE not removing phis from catch phi uses"
David Brazdil [Thu, 10 Dec 2015 15:12:19 +0000 (15:12 +0000)]
Merge "ART: Fix bug in DCE not removing phis from catch phi uses"

8 years agoART: Fix bug in DCE not removing phis from catch phi uses
David Brazdil [Thu, 10 Dec 2015 13:54:52 +0000 (13:54 +0000)]
ART: Fix bug in DCE not removing phis from catch phi uses

Due to the missing edges between throwing instructions and catch phis
DCE needs to manually remove dead instructions from catch phi users,
being overly conservative if the inputs are not in the dead blocks.
DCE used to do this for normal instructions, but it needs to do the
same for phis.

Change-Id: I7edfcb84ec6ff7303945d5d5cd436b1d1e95df2a

8 years agoSet DW_AT_comp_dir for each compile unit in dwarf
Tamas Berghammer [Thu, 10 Dec 2015 15:06:25 +0000 (15:06 +0000)]
Set DW_AT_comp_dir for each compile unit in dwarf

The dex file don't contain the full path of the compilation dir so we
set it to a symbolic value ($JAVA_SRC_ROOT) what can be remapped by
the tools reading the dwarf information.

Change-Id: Ia011de14a6b36a29b54b3f3fa290cc3157a0b91d

8 years agoMerge "Fix the build-art-multi-executable Make function." am: a10a0750cf
Roland Levillain [Thu, 10 Dec 2015 11:18:18 +0000 (11:18 +0000)]
Merge "Fix the build-art-multi-executable Make function." am: a10a0750cf
am: fc41516ef5

* commit 'fc41516ef5198b14aeb0fe9a85f7b4e7c842b5ef':
  Fix the build-art-multi-executable Make function.

8 years agoMerge "Fix the build-art-multi-executable Make function."
Roland Levillain [Thu, 10 Dec 2015 11:15:57 +0000 (03:15 -0800)]
Merge "Fix the build-art-multi-executable Make function."
am: a10a0750cf

* commit 'a10a0750cf8a916080067997eedfb80c03d74b51':
  Fix the build-art-multi-executable Make function.

8 years agoMerge "Fix the build-art-multi-executable Make function."
Roland Levillain [Thu, 10 Dec 2015 11:11:43 +0000 (11:11 +0000)]
Merge "Fix the build-art-multi-executable Make function."

8 years agoFix the build-art-multi-executable Make function.
Roland Levillain [Thu, 10 Dec 2015 11:04:25 +0000 (11:04 +0000)]
Fix the build-art-multi-executable Make function.

Follow-up fix to
https://android-review.googlesource.com/#/c/185537.

Bug: 26051370
Change-Id: I891abe5ec2a2eae775b9791050654602861798f4

8 years agoMerge "MIPS32: Improve integer division by constants" am: 6d0aefdc1f
Nicolas Geoffray [Thu, 10 Dec 2015 11:01:28 +0000 (11:01 +0000)]
Merge "MIPS32: Improve integer division by constants" am: 6d0aefdc1f
am: e31102e26d

* commit 'e31102e26d16514e82e6d725c6886fa9701b4694':
  MIPS32: Improve integer division by constants

8 years agoMerge "MIPS32: Improve integer division by constants"
Nicolas Geoffray [Thu, 10 Dec 2015 10:59:02 +0000 (02:59 -0800)]
Merge "MIPS32: Improve integer division by constants"
am: 6d0aefdc1f

* commit '6d0aefdc1f536e093305e29770cf749acb3247e2':
  MIPS32: Improve integer division by constants

8 years agoMerge "MIPS32: Improve integer division by constants"
Nicolas Geoffray [Thu, 10 Dec 2015 10:54:24 +0000 (10:54 +0000)]
Merge "MIPS32: Improve integer division by constants"

8 years agoMerge "Fix imgdiag build rules." am: 6247556fb9
Roland Levillain [Thu, 10 Dec 2015 10:33:20 +0000 (02:33 -0800)]
Merge "Fix imgdiag build rules." am: 6247556fb9
am: 81558dc34a

* commit '81558dc34ace8b5d911f97a065c3089792eb99fc':
  Fix imgdiag build rules.

8 years agoMerge "Fix imgdiag build rules."
Roland Levillain [Thu, 10 Dec 2015 10:30:31 +0000 (10:30 +0000)]
Merge "Fix imgdiag build rules."
am: 6247556fb9

* commit '6247556fb980c5122fc2dd5c431c2b2c0281606d':
  Fix imgdiag build rules.

8 years agoMerge "Fix imgdiag build rules."
Roland Levillain [Thu, 10 Dec 2015 10:24:10 +0000 (10:24 +0000)]
Merge "Fix imgdiag build rules."

8 years agoFix imgdiag build rules.
Roland Levillain [Thu, 10 Dec 2015 10:17:43 +0000 (10:17 +0000)]
Fix imgdiag build rules.

Adjust build rules to avoid building a 64-bit imgdiag
executable on host when HOST_PREFER_32_BIT is true.

This CL addresses an imgdiag related build issue that
appeared on the ART Buildbot after system/core was unpinned
from the master-art manifest
(https://android-review.googlesource.com/#/c/185580), used
by some of our Buildbot configurations:

  ninja: error: 'out/host/linux-x86/obj/SHARED_LIBRARIES/libbacktrace_intermediates/export_includes', needed by 'out/host/linux-x86/obj/EXECUTABLES/imgdiag_intermediates/import_includes', missing and no known rule to make it

Bug: 26051370
Change-Id: I8f3b3c89fb8da0c37a1ffb21b6d835e7ede1e71a

8 years agoMerge "Revert "Add support for LZ4 compressed image files"" am: 70a33905e9
Nicolas Geoffray [Thu, 10 Dec 2015 08:33:51 +0000 (00:33 -0800)]
Merge "Revert "Add support for LZ4 compressed image files"" am: 70a33905e9
am: d7447f9420

* commit 'd7447f9420c977fbff4ccb7870dfbf6ddfd4de65':
  Revert "Add support for LZ4 compressed image files"

8 years agoMerge "Revert "Add support for LZ4 compressed image files""
Nicolas Geoffray [Thu, 10 Dec 2015 08:31:24 +0000 (00:31 -0800)]
Merge "Revert "Add support for LZ4 compressed image files""
am: 70a33905e9

* commit '70a33905e90c655cb17303b238bace2a2f4d5bf9':
  Revert "Add support for LZ4 compressed image files"

8 years agoMerge "Revert "Add support for LZ4 compressed image files""
Nicolas Geoffray [Thu, 10 Dec 2015 08:27:00 +0000 (08:27 +0000)]
Merge "Revert "Add support for LZ4 compressed image files""

8 years agoRevert "Add support for LZ4 compressed image files"
Nicolas Geoffray [Thu, 10 Dec 2015 08:26:32 +0000 (08:26 +0000)]
Revert "Add support for LZ4 compressed image files"

Tentative. Looks like it breaks image_test for hammerhead:
art/compiler/linker/arm/relative_patcher_thumb2.cc:36] Check failed: target_offset & 1u == 1u (target_offset & 1u=0, 1u=1)

Bug: 22858531

This reverts commit c6f41b5b3ca3d7ac3c12ad3995ffef4e831973a0.

Change-Id: I9bc5738a8b5c8f8bc8b73309f9420fd691bc79a9

8 years agoART: Refactor verifier callbacks
Andreas Gampe [Thu, 10 Dec 2015 05:03:23 +0000 (21:03 -0800)]
ART: Refactor verifier callbacks

Change the return type of MethodVerified to void. It was never
used anyways.

Remove the callbacks calls from the core of the verifier (Verify()).
Instead, make the convenience functions do the work, and add a
parameter to supply the callback so that the verifier becomes
independent of the Runtime-stored one.

Fix up calls that now need to provide a callback, but leave places
that only run the verifier to get metadata (e.g., register type data,
lock state) without callback. This avoids callback calls when in JIT
mode.

Bug: 26075442
Change-Id: I2c270f01e4de088771d4d4b19dae4f07d77640f0

8 years agoOutput static field values in dexdump
Shinichiro Hamaji [Thu, 5 Nov 2015 07:51:33 +0000 (16:51 +0900)]
Output static field values in dexdump

This is necessary to generate table-of-contents of .dex files
to prevent unnecessary rebuilds for implementation-only
changes because these values can be used while compiling other
modules.

Also modify EncodedStaticFieldValueIterator so it can be used
without ClassLoader/Linker.

Bug: 24597504
Change-Id: Ida0c839f9dd6961e1c1b3a380e2092042fad03bb

8 years agoMerge "ART: Make trampoline compiler pointer-size-safe" am: 1d97f949e8
Andreas Gampe [Thu, 10 Dec 2015 00:41:15 +0000 (00:41 +0000)]
Merge "ART: Make trampoline compiler pointer-size-safe" am: 1d97f949e8
am: b40dcf9cb6

* commit 'b40dcf9cb6c706c324f43efabc573c8f7a146ae1':
  ART: Make trampoline compiler pointer-size-safe

8 years agoMerge "ART: Make trampoline compiler pointer-size-safe"
Andreas Gampe [Thu, 10 Dec 2015 00:39:21 +0000 (16:39 -0800)]
Merge "ART: Make trampoline compiler pointer-size-safe"
am: 1d97f949e8

* commit '1d97f949e807e963dd92dcf9ac38def5301d555a':
  ART: Make trampoline compiler pointer-size-safe

8 years agoMerge "ART: Make trampoline compiler pointer-size-safe"
Andreas Gampe [Thu, 10 Dec 2015 00:34:23 +0000 (00:34 +0000)]
Merge "ART: Make trampoline compiler pointer-size-safe"

8 years agoART: Make trampoline compiler pointer-size-safe
Andreas Gampe [Wed, 9 Dec 2015 23:14:04 +0000 (15:14 -0800)]
ART: Make trampoline compiler pointer-size-safe

The trampoline compiler uses offsets of runtime structures which
may change with the pointer size.

Add offset tests to jni_internal_test.

Bug: 26071368

(cherry picked from commit da9b763abc712fd6d1e24170a194abfbe795b8cd)

Change-Id: I01d1a3727f46b3015ac677afb5427337c3093402

8 years agoMerge "ART: Make trampoline compiler pointer-size-safe"
Andreas Gampe [Wed, 9 Dec 2015 23:39:41 +0000 (23:39 +0000)]
Merge "ART: Make trampoline compiler pointer-size-safe"

8 years agoART: Make trampoline compiler pointer-size-safe
Andreas Gampe [Wed, 9 Dec 2015 23:14:04 +0000 (15:14 -0800)]
ART: Make trampoline compiler pointer-size-safe

The trampoline compiler uses offsets of runtime structures which
may change with the pointer size.

Add offset tests to jni_internal_test.

Bug: 26071368
Change-Id: I01d1a3727f46b3015ac677afb5427337c3093402

8 years agoMerge "Simplify and rename IsLoopInvariant() test." am: f1975e4328
Mingyao Yang [Wed, 9 Dec 2015 20:46:50 +0000 (12:46 -0800)]
Merge "Simplify and rename IsLoopInvariant() test." am: f1975e4328
am: 6ca9f51e2c

* commit '6ca9f51e2c0f730cc2fb43720f159deb572eb388':
  Simplify and rename IsLoopInvariant() test.

8 years agoMerge "Simplify and rename IsLoopInvariant() test."
Mingyao Yang [Wed, 9 Dec 2015 20:43:06 +0000 (20:43 +0000)]
Merge "Simplify and rename IsLoopInvariant() test."
am: f1975e4328

* commit 'f1975e432859101bf8e7b0fd33f6052cafb0f9b2':
  Simplify and rename IsLoopInvariant() test.

8 years agoMerge "Simplify and rename IsLoopInvariant() test."
Mingyao Yang [Wed, 9 Dec 2015 20:35:32 +0000 (20:35 +0000)]
Merge "Simplify and rename IsLoopInvariant() test."

8 years agoMerge "Add support for LZ4 compressed image files" am: 7cbd95c2fb
Mathieu Chartier [Wed, 9 Dec 2015 20:09:18 +0000 (20:09 +0000)]
Merge "Add support for LZ4 compressed image files" am: 7cbd95c2fb
am: 3dafd53ff9

* commit '3dafd53ff90fc845c09b7206600ba9ff45e3fcbd':
  Add support for LZ4 compressed image files

8 years agoMerge "Add support for LZ4 compressed image files"
Mathieu Chartier [Wed, 9 Dec 2015 20:06:27 +0000 (20:06 +0000)]
Merge "Add support for LZ4 compressed image files"
am: 7cbd95c2fb

* commit '7cbd95c2fb7ca3d1391ec92d1be2d81863e63dd2':
  Add support for LZ4 compressed image files