OSDN Git Service

android-x86/art.git
10 years agoam 3a97e430: Merge "Add read barriers for the class and the intern tables."
Hiroshi Yamauchi [Mon, 16 Jun 2014 20:07:20 +0000 (20:07 +0000)]
am 3a97e430: Merge "Add read barriers for the class and the intern tables."

* commit '3a97e430e70e11b185e10d6e6e1ff60fac9c36d4':
  Add read barriers for the class and the intern tables.

10 years agoam bd7ebdbd: Merge "Use GetLow() to access low register of a pair"
Bill Buzbee [Mon, 16 Jun 2014 20:02:45 +0000 (20:02 +0000)]
am bd7ebdbd: Merge "Use GetLow() to access low register of a pair"

* commit 'bd7ebdbd928673f8136dcbe3f755610e3ae9bc7d':
  Use GetLow() to access low register of a pair

10 years agoam 57cd219d: Merge "Arm64 hard-float"
buzbee [Mon, 16 Jun 2014 17:58:29 +0000 (17:58 +0000)]
am 57cd219d: Merge "Arm64 hard-float"

* commit '57cd219d8a7869a06d669bed08460013cf24398b':
  Arm64 hard-float

10 years agoam 33004d96: Merge "Clean up ARM load/store with offset imm8 << 2."
Vladimir Marko [Mon, 16 Jun 2014 17:49:19 +0000 (17:49 +0000)]
am 33004d96: Merge "Clean up ARM load/store with offset imm8 << 2."

* commit '33004d96271f5b6b9dfac165ea61102d0d55a303':
  Clean up ARM load/store with offset imm8 << 2.

10 years agoMerge "Arm64 hard-float"
buzbee [Mon, 16 Jun 2014 17:47:23 +0000 (17:47 +0000)]
Merge "Arm64 hard-float"

10 years agoArm64 hard-float
buzbee [Thu, 12 Jun 2014 21:56:32 +0000 (14:56 -0700)]
Arm64 hard-float

Basic enabling of hard-float for Arm64.  In future CLs we'll
consolidate the various targets - there is a lot of overlap.

Compilation remains turned off in this CL, but I expect
to enable a subset shortly.  With compilation fully enabled
(including the EXPERIMENTAL opcodes with the exception of
REM and THROW), we get the following run-test results:

003-omnibus-opcode failures:
     Classes.checkCast
     Classes.arrayInstance
     UnresTest2
Haven't gone deep, but these appear to be related to throw/catch and/or
stacktrace.

For REM, the generated code looks reasonable to me - my guess is that
we've got something wrong on the transition to the runtime.  Haven't
looked deeper yet, though.

The bulk of the other failure also appear to be related to transitioning
to the runtime system, or handling try/catch.

run-test status:
Status with optimizations disabled, REM_FLOAT/DOUBLE and THROW disabled:
succeeded tests: 94
failed tests: 22
failed: 003-omnibus-opcodes
failed: 004-annotations
failed: 009-instanceof2
failed: 024-illegal-access
failed: 025-access-controller
failed: 031-class-attributes
failed: 044-proxy
failed: 045-reflect-array
failed: 046-reflect
failed: 058-enum-order
failed: 062-character-encodings
failed: 063-process-manager
failed: 064-field-access
failed: 068-classloader
failed: 071-dexfile
failed: 083-compiler-regressions
failed: 084-class-init
failed: 086-null-super
failed: 087-gc-after-link
failed: 100-reflect2
failed: 107-int-math2
failed: 201-built-in-exception-detail-messages

Change-Id: Ib66209285cad8998d77a14781de300af02a96b15

10 years agoMerge "Use GetLow() to access low register of a pair"
Bill Buzbee [Mon, 16 Jun 2014 19:52:09 +0000 (19:52 +0000)]
Merge "Use GetLow() to access low register of a pair"

10 years agoUse GetLow() to access low register of a pair
Mark Mendell [Mon, 16 Jun 2014 17:03:42 +0000 (13:03 -0400)]
Use GetLow() to access low register of a pair

A couple of spots were missed.

Change-Id: I14bd1d1bec4b497b742ef9edaf762e0c8e4ebf79
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
10 years agoMerge "Add read barriers for the class and the intern tables."
Hiroshi Yamauchi [Mon, 16 Jun 2014 19:56:59 +0000 (19:56 +0000)]
Merge "Add read barriers for the class and the intern tables."

10 years agoam a9f64d7b: Merge "ART: PassMEDataHolder should have a data field"
Vladimir Marko [Mon, 16 Jun 2014 10:40:11 +0000 (10:40 +0000)]
am a9f64d7b: Merge "ART: PassMEDataHolder should have a data field"

* commit 'a9f64d7b6857532bb871a7bf1d3c9c9a44ed5917':
  ART: PassMEDataHolder should have a data field

10 years agoam 1dfa6d03: Merge "Relax limits for profiler options"
Calin Juravle [Mon, 16 Jun 2014 09:49:20 +0000 (09:49 +0000)]
am 1dfa6d03: Merge "Relax limits for profiler options"

* commit '1dfa6d034b5e12872120883753ff08a35c0e84c7':
  Relax limits for profiler options

10 years agoam 4b3fa4b1: Merge "Enable the register allocator on x86_64."
Nicolas Geoffray [Mon, 16 Jun 2014 09:33:31 +0000 (09:33 +0000)]
am 4b3fa4b1: Merge "Enable the register allocator on x86_64."

* commit '4b3fa4b1c0bbb5dec14b245207b6a6fdfca1ae55':
  Enable the register allocator on x86_64.

10 years agoam 79960508: Merge "Quick compiler:interpret on type mismatch"
buzbee [Sat, 14 Jun 2014 20:16:01 +0000 (20:16 +0000)]
am 79960508: Merge "Quick compiler:interpret on type mismatch"

* commit '799605088f51dace7fddaf8493c8c6f3090fdaf6':
  Quick compiler:interpret on type mismatch

10 years agoam df88a9e4: Merge "x86_64: Enable compilation"
Ian Rogers [Sat, 14 Jun 2014 09:06:46 +0000 (09:06 +0000)]
am df88a9e4: Merge "x86_64: Enable compilation"

* commit 'df88a9e44673655009cc560947d29c1400516f12':
  x86_64: Enable compilation

10 years agoam 57925671: Merge "Add extra information to InitImageMethodVisitor CHECK"
Brian Carlstrom [Sat, 14 Jun 2014 09:06:45 +0000 (09:06 +0000)]
am 57925671: Merge "Add extra information to InitImageMethodVisitor CHECK"

* commit '579256715d16170ad821a132a43568ae696f4545':
  Add extra information to InitImageMethodVisitor CHECK

10 years agoam 3d2781d1: Merge "ART: Dex file verifier can\'t blindly use GetDescriptor"
Andreas Gampe [Sat, 14 Jun 2014 02:42:43 +0000 (02:42 +0000)]
am 3d2781d1: Merge "ART: Dex file verifier can\'t blindly use GetDescriptor"

* commit '3d2781d14d1fb1abc758536343520354a14fadbe':
  ART: Dex file verifier can't blindly use GetDescriptor

10 years agoam 37a6981e: Merge "ART: Ignore timing issues in debug builds"
Andreas Gampe [Sat, 14 Jun 2014 02:42:42 +0000 (02:42 +0000)]
am 37a6981e: Merge "ART: Ignore timing issues in debug builds"

* commit '37a6981e355ba3532f5144a1b25be93746b00430':
  ART: Ignore timing issues in debug builds

10 years agoam 2e9a1faf: Merge "Tidy x86 assembler."
Ian Rogers [Sat, 14 Jun 2014 01:08:48 +0000 (01:08 +0000)]
am 2e9a1faf: Merge "Tidy x86 assembler."

* commit '2e9a1faf6a89d464f4f95dd60008a3ccf4a62b76':
  Tidy x86 assembler.

10 years agoam b2192ffe: Merge "Avoid a non-root monitor vector in Dbg::GetOwnedMonitors()."
Hiroshi Yamauchi [Fri, 13 Jun 2014 23:57:53 +0000 (23:57 +0000)]
am b2192ffe: Merge "Avoid a non-root monitor vector in Dbg::GetOwnedMonitors()."

* commit 'b2192ffe6897da6bfd6165db7ce476cba1cd07ae':
  Avoid a non-root monitor vector in Dbg::GetOwnedMonitors().

10 years agoAdd read barriers for the class and the intern tables.
Hiroshi Yamauchi [Fri, 13 Jun 2014 23:44:55 +0000 (16:44 -0700)]
Add read barriers for the class and the intern tables.

Add read barriers for the strong roots in the intern table and the
(strong) roots in the class table to make possible concurrent scanning
of them.

Bug: 12687968
Change-Id: If6edc33a37e65a8494e66dc3b144138b1530367f

10 years agoam 97ed29f8: Merge "ART: Hide unreachable basic blocks in the compiler"
Andreas Gampe [Fri, 13 Jun 2014 22:56:58 +0000 (22:56 +0000)]
am 97ed29f8: Merge "ART: Hide unreachable basic blocks in the compiler"

* commit '97ed29f800c56a06fd6989e0883e4c97bedd2453':
  ART: Hide unreachable basic blocks in the compiler

10 years agoam 8cd927c8: Merge "x86_64: Disable all optimizations and fix bugs"
Ian Rogers [Fri, 13 Jun 2014 22:13:47 +0000 (22:13 +0000)]
am 8cd927c8: Merge "x86_64: Disable all optimizations and fix bugs"

* commit '8cd927c8f6911cfb6118b8c54550959c09eb84f8':
  x86_64: Disable all optimizations and fix bugs

10 years agoam 49a1b407: Merge "Optionally add debug symbols to ELF files made by quick compiler."
Brian Carlstrom [Fri, 13 Jun 2014 21:23:30 +0000 (21:23 +0000)]
am 49a1b407: Merge "Optionally add debug symbols to ELF files made by quick compiler."

* commit '49a1b407f4947f9611838de554dbdaa2d45f8208':
  Optionally add debug symbols to ELF files made by quick compiler.

10 years agoMerge "Quick compiler:interpret on type mismatch"
buzbee [Sat, 14 Jun 2014 20:10:01 +0000 (20:10 +0000)]
Merge "Quick compiler:interpret on type mismatch"

10 years agoQuick compiler:interpret on type mismatch
buzbee [Sat, 14 Jun 2014 19:33:09 +0000 (12:33 -0700)]
Quick compiler:interpret on type mismatch

The Dex specification is a bit loose - particularly in regards
to types.  The Quick compiler, though, makes some assumptions
about types.  In particular, it doesn't expect to encounter the
use of a long or double virtual register pair that was defined
by two independent 32-bit operations.

dx does not create such patterns (at least in recent memory).
However, at least one such case exists in the wild.  The next
version of the Dex specification will add more type constraints
and formally disallow such cases.  Meanwhile, existing code will
be handled by identifying these cases an reverting to interpretation
for the offending method.

Fix for internal b/15616104

Change-Id: Ibe9c423be9a952ff58cf8d985aa164885b8dd2ae

10 years agoMerge "ART: Ignore timing issues in debug builds"
Andreas Gampe [Sat, 14 Jun 2014 02:34:44 +0000 (02:34 +0000)]
Merge "ART: Ignore timing issues in debug builds"

10 years agoART: Ignore timing issues in debug builds
Andreas Gampe [Fri, 13 Jun 2014 22:46:46 +0000 (15:46 -0700)]
ART: Ignore timing issues in debug builds

When in debug builds, do not warn about slow verification and
compilation.

Change-Id: Ib982e1c7cf40cf624688bbf6c41f0a7cc53bbc67

10 years agoMerge "Tidy x86 assembler."
Ian Rogers [Sat, 14 Jun 2014 01:03:01 +0000 (01:03 +0000)]
Merge "Tidy x86 assembler."

10 years agoTidy x86 assembler.
Ian Rogers [Fri, 13 Jun 2014 23:38:24 +0000 (16:38 -0700)]
Tidy x86 assembler.

Use helper functions to compute when the kind has a SIB, a ModRM and RegReg
form.

Change-Id: I86a5cb944eec62451c63281265e6974cd7a08e07

10 years agoam 08eeb38b: Merge "Don\'t use signal handlers in interpreter only mode"
Dave Allison [Fri, 13 Jun 2014 18:58:17 +0000 (18:58 +0000)]
am 08eeb38b: Merge "Don\'t use signal handlers in interpreter only mode"

* commit '08eeb38bb95dbb41dbdb0ea023749889b126af61':
  Don't use signal handlers in interpreter only mode

10 years agoam 6364b429: Merge "ART: Clean up DexFile verifier API"
Andreas Gampe [Fri, 13 Jun 2014 18:49:41 +0000 (18:49 +0000)]
am 6364b429: Merge "ART: Clean up DexFile verifier API"

* commit '6364b4291cd97e125fc1d9c84d6c61bd6dae281b':
  ART: Clean up DexFile verifier API

10 years agoam 73d1f276: Merge "Don\'t verify runtime only opcodes in the data-flow phase of...
Ian Rogers [Fri, 13 Jun 2014 18:40:53 +0000 (18:40 +0000)]
am 73d1f276: Merge "Don\'t verify runtime only opcodes in the data-flow phase of verification."

* commit '73d1f2767d5866593c780bede8091f3aee81aecf':
  Don't verify runtime only opcodes in the data-flow phase of verification.

10 years agoam f0879372: Merge "ART: Check the number of invocation args in verifier"
Andreas Gampe [Fri, 13 Jun 2014 18:09:29 +0000 (18:09 +0000)]
am f0879372: Merge "ART: Check the number of invocation args in verifier"

* commit 'f08793720664025af1c45798bb30cf81575b1f79':
  ART: Check the number of invocation args in verifier

10 years agoam 1eadc566: Merge "ART: Add initialize_type stubs for ARM64; indexof test"
Andreas Gampe [Fri, 13 Jun 2014 17:28:59 +0000 (17:28 +0000)]
am 1eadc566: Merge "ART: Add initialize_type stubs for ARM64; indexof test"

* commit '1eadc56648869e1b3989407525313a7eea1fed22':
  ART: Add initialize_type stubs for ARM64; indexof test

10 years agoam cafd0f25: Merge "Guard `Run` for platforms we\'re not compiling to, yet."
Nicolas Geoffray [Fri, 13 Jun 2014 10:22:30 +0000 (10:22 +0000)]
am cafd0f25: Merge "Guard `Run` for platforms we\'re not compiling to, yet."

* commit 'cafd0f251b32e95d0596b20c9a385433368ba3b9':
  Guard `Run` for platforms we're not compiling to, yet.

10 years agoam 9613592a: Merge "Add x86_64 support to the optimizing compiler."
Nicolas Geoffray [Fri, 13 Jun 2014 10:22:28 +0000 (10:22 +0000)]
am 9613592a: Merge "Add x86_64 support to the optimizing compiler."

* commit '9613592aebace270e5d147c55e8d3c642fbb7541':
  Add x86_64 support to the optimizing compiler.

10 years agoam b08f63c2: Merge "Enable the register allocator on ARM."
Nicolas Geoffray [Fri, 13 Jun 2014 09:42:31 +0000 (09:42 +0000)]
am b08f63c2: Merge "Enable the register allocator on ARM."

* commit 'b08f63c21de64f8b74003e3638e100471bd099f3':
  Enable the register allocator on ARM.

10 years agoam 3316ff53: Merge "ART: Invoke_virtual needs at least receiver parameter"
Andreas Gampe [Thu, 12 Jun 2014 23:54:45 +0000 (23:54 +0000)]
am 3316ff53: Merge "ART: Invoke_virtual needs at least receiver parameter"

* commit '3316ff53b8745707a492d0442a94174abc679ece':
  ART: Invoke_virtual needs at least receiver parameter

10 years agoam a2b87c25: Merge "consolidate profiles and profile-cache"
Nick Kralevich [Thu, 12 Jun 2014 23:12:44 +0000 (23:12 +0000)]
am a2b87c25: Merge "consolidate profiles and profile-cache"

* commit 'a2b87c252cdbde5302dd5cccd7e16eebe5dbb694':
  consolidate profiles and profile-cache

10 years agoam 092ce603: Merge "ART: Do not allow quickened dex codes in compiler mode."
Andreas Gampe [Thu, 12 Jun 2014 23:00:29 +0000 (23:00 +0000)]
am 092ce603: Merge "ART: Do not allow quickened dex codes in compiler mode."

* commit '092ce603c8bc9188d63eb8e9defc321017a098f3':
  ART: Do not allow quickened dex codes in compiler mode.

10 years agoam 1f968319: Merge "AArch64: Add support for inlined methods"
Bill Buzbee [Thu, 12 Jun 2014 22:00:15 +0000 (22:00 +0000)]
am 1f968319: Merge "AArch64: Add support for inlined methods"

* commit '1f968319c95136cafe8e5a813ef822f0a8963b98':
  AArch64: Add support for inlined methods

10 years agoam c56d1675: Merge "ART: Dex file verifier needs to check proto idx of method id."
Andreas Gampe [Thu, 12 Jun 2014 21:55:38 +0000 (21:55 +0000)]
am c56d1675: Merge "ART: Dex file verifier needs to check proto idx of method id."

* commit 'c56d167597c127f552141fd6a4a26dc7e22ccc06':
  ART: Dex file verifier needs to check proto idx of method id.

10 years agoam cbaa3076: Merge "AArch64: Enable MOVE_*, some CONST_*, CMP_*."
Bill Buzbee [Thu, 12 Jun 2014 21:14:41 +0000 (21:14 +0000)]
am cbaa3076: Merge "AArch64: Enable MOVE_*, some CONST_*, CMP_*."

* commit 'cbaa3076b51db805c5e74636d77c8c7cbd79d125':
  AArch64: Enable MOVE_*, some CONST_*, CMP_*.

10 years agoMerge "Don't use signal handlers in interpreter only mode"
Dave Allison [Fri, 13 Jun 2014 18:51:05 +0000 (18:51 +0000)]
Merge "Don't use signal handlers in interpreter only mode"

10 years agoDon't use signal handlers in interpreter only mode
Dave Allison [Fri, 13 Jun 2014 16:09:41 +0000 (09:09 -0700)]
Don't use signal handlers in interpreter only mode

Bug: 15543631

Change-Id: I8f251b5a66487dce3ac3127bdf3b5bc824d0e4bc

10 years agoMerge "ART: Check the number of invocation args in verifier"
Andreas Gampe [Fri, 13 Jun 2014 18:01:51 +0000 (18:01 +0000)]
Merge "ART: Check the number of invocation args in verifier"

10 years agoART: Check the number of invocation args in verifier
Andreas Gampe [Fri, 13 Jun 2014 02:35:05 +0000 (19:35 -0700)]
ART: Check the number of invocation args in verifier

Check the number of invocation arguments against the method's
prototype signature. It could happen that the method wasn't
available, yet, in which case we would let a clearly wrong
instruction through.

This generalizes https://android-review.googlesource.com/#/c/97779/

Bug: 15570483
Change-Id: Ie81aff3c1166a2b2bf1385414dff2e22fbb40ef2

10 years agoMerge "ART: Do not allow quickened dex codes in compiler mode."
Andreas Gampe [Thu, 12 Jun 2014 22:51:22 +0000 (22:51 +0000)]
Merge "ART: Do not allow quickened dex codes in compiler mode."

10 years agoART: Do not allow quickened dex codes in compiler mode.
Andreas Gampe [Thu, 12 Jun 2014 21:35:51 +0000 (14:35 -0700)]
ART: Do not allow quickened dex codes in compiler mode.

The method verifier will reject quickened dex opcodes when the
runtime is in compiler mode, as we do not expect them here.

Bug: 15570344
Change-Id: I072567835139860213f9882cac995370b4548a79

10 years agoMerge "ART: Dex file verifier needs to check proto idx of method id."
Andreas Gampe [Thu, 12 Jun 2014 21:47:57 +0000 (21:47 +0000)]
Merge "ART: Dex file verifier needs to check proto idx of method id."

10 years agoART: Dex file verifier needs to check proto idx of method id.
Andreas Gampe [Thu, 12 Jun 2014 04:46:05 +0000 (21:46 -0700)]
ART: Dex file verifier needs to check proto idx of method id.

Bug: 15570490
Change-Id: I4e90aea6e77711ee37d14d96a1fc9a2fbb980d94

10 years agoam c0090a42: Merge "Rewrite use/def masks to support 128 bits."
Vladimir Marko [Thu, 12 Jun 2014 18:55:24 +0000 (18:55 +0000)]
am c0090a42: Merge "Rewrite use/def masks to support 128 bits."

* commit 'c0090a4206306a80a830de35c7b4c74a43df690a':
  Rewrite use/def masks to support 128 bits.

10 years agoam adea0aa2: Merge "ART: arm64 explicit stack overflow checks"
Bill Buzbee [Thu, 12 Jun 2014 17:46:32 +0000 (17:46 +0000)]
am adea0aa2: Merge "ART: arm64 explicit stack overflow checks"

* commit 'adea0aa22790254bf9978984e9ffc3688a41e129':
  ART: arm64 explicit stack overflow checks

10 years agoam f72b7d60: Merge "AArch64: fix MarkGCCard, enabling more MIR opcodes."
Bill Buzbee [Thu, 12 Jun 2014 17:46:31 +0000 (17:46 +0000)]
am f72b7d60: Merge "AArch64: fix MarkGCCard, enabling more MIR opcodes."

* commit 'f72b7d6066238fd3faa25aac671dbaa02aeafac9':
  AArch64: fix MarkGCCard, enabling more MIR opcodes.

10 years agoam 5110a876: Merge "Fix reflection access check for attached native threads."
Vladimir Marko [Thu, 12 Jun 2014 17:21:05 +0000 (17:21 +0000)]
am 5110a876: Merge "Fix reflection access check for attached native threads."

* commit '5110a876ce7aa1479bcbeabc76403e8b5fbe75d5':
  Fix reflection access check for attached native threads.

10 years agoam a194acf2: Merge "Clean up ArmMirToLir::LoadDispBody()/StoreDispBody()."
Vladimir Marko [Thu, 12 Jun 2014 16:14:29 +0000 (16:14 +0000)]
am a194acf2: Merge "Clean up ArmMirToLir::LoadDispBody()/StoreDispBody()."

* commit 'a194acf232b761b2ead114bdc6c38af112bf08cd':
  Clean up ArmMirToLir::LoadDispBody()/StoreDispBody().

10 years agoam 3e1e549c: Merge "Add D/CHECK_CONSTEXPR macros for use in constexpr context."
Vladimir Marko [Thu, 12 Jun 2014 14:34:52 +0000 (14:34 +0000)]
am 3e1e549c: Merge "Add D/CHECK_CONSTEXPR macros for use in constexpr context."

* commit '3e1e549c564045d852ace46388eb06427d63e6ca':
  Add D/CHECK_CONSTEXPR macros for use in constexpr context.

10 years agoam dfc2091d: Merge "Final CL to enable register allocation on x86."
Nicolas Geoffray [Thu, 12 Jun 2014 09:12:24 +0000 (09:12 +0000)]
am dfc2091d: Merge "Final CL to enable register allocation on x86."

* commit 'dfc2091d2fb8a7694f69acf8bd39ce4953e026c2':
  Final CL to enable register allocation on x86.

10 years agoMerge "Add extra information to InitImageMethodVisitor CHECK"
Brian Carlstrom [Sat, 14 Jun 2014 05:40:21 +0000 (05:40 +0000)]
Merge "Add extra information to InitImageMethodVisitor CHECK"

10 years agoAdd extra information to InitImageMethodVisitor CHECK
Brian Carlstrom [Sat, 14 Jun 2014 01:23:20 +0000 (18:23 -0700)]
Add extra information to InitImageMethodVisitor CHECK

Bug: 15616246

(cherry picked from commit 21f1740e845505bf437dcf128912ce218ff92af9)

Change-Id: Ib698229cd56151c682d44e8dd59d8df18fb5a393

10 years agoMerge "Avoid a non-root monitor vector in Dbg::GetOwnedMonitors()."
Hiroshi Yamauchi [Fri, 13 Jun 2014 23:51:57 +0000 (23:51 +0000)]
Merge "Avoid a non-root monitor vector in Dbg::GetOwnedMonitors()."

10 years agoAvoid a non-root monitor vector in Dbg::GetOwnedMonitors().
Hiroshi Yamauchi [Fri, 13 Jun 2014 22:08:05 +0000 (15:08 -0700)]
Avoid a non-root monitor vector in Dbg::GetOwnedMonitors().

Following up on CL 96571, remove the need to use stack-scoped vectors,
one of which is a non-root vector that holds Object*, which could
cause a GC bug.

Bug: 12687968
Change-Id: I8582fe6bfe71bae7018dbf844fe75ebe989b6535

10 years agoMerge "Optionally add debug symbols to ELF files made by quick compiler."
Brian Carlstrom [Fri, 13 Jun 2014 21:18:04 +0000 (21:18 +0000)]
Merge "Optionally add debug symbols to ELF files made by quick compiler."

10 years agoOptionally add debug symbols to ELF files made by quick compiler.
Alex Light [Fri, 6 Jun 2014 22:45:32 +0000 (15:45 -0700)]
Optionally add debug symbols to ELF files made by quick compiler.

Added debug symbols to ELF files created by dex2oat using
the quick compiler. Adds two flags --include-debug-symbols and
--no-include-debug-symbols for dex2oat that control the inclusion of these
debug symbols. Debug info is added by default if kIsDebugBuild is true.

Fixed bug where Intel DWARF information would not correctly deal with
deduplicated code the binary.

Changed the portable compiler code path in dex2oat.cc so that symbols
will not be stripped when run with --include-debug-symbols.

Change-Id: Ia2eb2f654dedf0e5e8606f7744e05b8d14155fb1

10 years agoMerge "Don't verify runtime only opcodes in the data-flow phase of verification."
Ian Rogers [Fri, 13 Jun 2014 18:34:21 +0000 (18:34 +0000)]
Merge "Don't verify runtime only opcodes in the data-flow phase of verification."

10 years agoDon't verify runtime only opcodes in the data-flow phase of verification.
Ian Rogers [Fri, 13 Jun 2014 17:31:28 +0000 (10:31 -0700)]
Don't verify runtime only opcodes in the data-flow phase of verification.

Bug: 15570344
Change-Id: I0304e8742a1d0318783ba72862e684ab91f63d0e

10 years agoMerge "AArch64: Enable MOVE_*, some CONST_*, CMP_*."
Bill Buzbee [Thu, 12 Jun 2014 21:01:46 +0000 (21:01 +0000)]
Merge "AArch64: Enable MOVE_*, some CONST_*, CMP_*."

10 years agoAArch64: Enable MOVE_*, some CONST_*, CMP_*.
Zheng Xu [Thu, 12 Jun 2014 02:22:33 +0000 (10:22 +0800)]
AArch64: Enable MOVE_*, some CONST_*, CMP_*.

With the fixes of GenArithImmOpLong, GenShiftOpLong, OpRegImm,
OpRegRegImm, OpRegRegImm64, EncodeLogicalImmediate and fmov.

Change-Id: I8cae4f921d5150a6b8e4803ca4dee553928d1a58

10 years agoMerge "x86_64: Enable compilation"
Ian Rogers [Sat, 14 Jun 2014 06:51:15 +0000 (06:51 +0000)]
Merge "x86_64: Enable compilation"

10 years agox86_64: Enable compilation
Dmitry Petrochenko [Fri, 6 Jun 2014 08:18:14 +0000 (15:18 +0700)]
x86_64: Enable compilation

This patch enables compilation of all methods for x86_64
except image.

Change-Id: Ie210809f2595cc25da688a4ad0363c258bcf8233
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
10 years agoMerge "ART: Dex file verifier can't blindly use GetDescriptor"
Andreas Gampe [Sat, 14 Jun 2014 02:34:53 +0000 (02:34 +0000)]
Merge "ART: Dex file verifier can't blindly use GetDescriptor"

10 years agoART: Dex file verifier can't blindly use GetDescriptor
Andreas Gampe [Fri, 13 Jun 2014 22:31:40 +0000 (15:31 -0700)]
ART: Dex file verifier can't blindly use GetDescriptor

The dex file verifier cannot call GetDescriptor without checking
the index first.

Bug: 15615908
Change-Id: Iec5e20b77aac3e6c25fb94b1b630d0846c0b8f33

10 years agoMerge "ART: Hide unreachable basic blocks in the compiler"
Andreas Gampe [Fri, 13 Jun 2014 22:50:49 +0000 (22:50 +0000)]
Merge "ART: Hide unreachable basic blocks in the compiler"

10 years agoART: Hide unreachable basic blocks in the compiler
Andreas Gampe [Fri, 13 Jun 2014 20:44:40 +0000 (13:44 -0700)]
ART: Hide unreachable basic blocks in the compiler

Unreachable blocks are not handled uniformly in the optimization
passes. Uniformly hide them to avoid initialization errors.

Bug: 15573463
Change-Id: Ia9e89fa357d5672a6cd8389f28a06ff618fe60ee

10 years agoMerge "x86_64: Disable all optimizations and fix bugs"
Ian Rogers [Fri, 13 Jun 2014 22:05:35 +0000 (22:05 +0000)]
Merge "x86_64: Disable all optimizations and fix bugs"

10 years agox86_64: Disable all optimizations and fix bugs
Chao-ying Fu [Wed, 11 Jun 2014 01:11:11 +0000 (18:11 -0700)]
x86_64: Disable all optimizations and fix bugs

This disables all optimizations and ensures that art tests still pass.

Change-Id: I43217378d6889bb04f4d064f8d53cb3ff4c20aa0
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
10 years agoMerge "ART: Clean up DexFile verifier API"
Andreas Gampe [Fri, 13 Jun 2014 18:44:18 +0000 (18:44 +0000)]
Merge "ART: Clean up DexFile verifier API"

10 years agoART: Clean up DexFile verifier API
Andreas Gampe [Fri, 13 Jun 2014 18:35:12 +0000 (11:35 -0700)]
ART: Clean up DexFile verifier API

Use an out arg instead of widening a return type.

Change-Id: I70744eec408b0c6f3487f168faf510869277daff

10 years agoMerge "ART: Add initialize_type stubs for ARM64; indexof test"
Andreas Gampe [Fri, 13 Jun 2014 17:25:16 +0000 (17:25 +0000)]
Merge "ART: Add initialize_type stubs for ARM64; indexof test"

10 years agoART: Add initialize_type stubs for ARM64; indexof test
Andreas Gampe [Mon, 9 Jun 2014 21:55:53 +0000 (14:55 -0700)]
ART: Add initialize_type stubs for ARM64; indexof test

Add down-call stubs for ARM64. Add a test for indexof in stub_test.

Change-Id: I7bc045e29e4ca11ded5b318c47544edc1266afdb

10 years agoMerge "ART: Invoke_virtual needs at least receiver parameter"
Andreas Gampe [Thu, 12 Jun 2014 23:44:57 +0000 (23:44 +0000)]
Merge "ART: Invoke_virtual needs at least receiver parameter"

10 years agoART: Invoke_virtual needs at least receiver parameter
Andreas Gampe [Thu, 12 Jun 2014 22:44:40 +0000 (15:44 -0700)]
ART: Invoke_virtual needs at least receiver parameter

Makes the method verifier reject invoke_virtual instructions that
claim they do not need any parameters.

Bug: 15570946
Change-Id: Ia76fddb7a08551d6c08654950e7085f09eacf430

10 years agoam c9366228: Merge "ART: Check indices in dex file verifier"
Andreas Gampe [Thu, 12 Jun 2014 01:42:10 +0000 (01:42 +0000)]
am c9366228: Merge "ART: Check indices in dex file verifier"

* commit 'c936622863a50bdda9b10062515dfc02a8c8b652':
  ART: Check indices in dex file verifier

10 years agoam 3a7a8d18: Merge "Fix typo comment by removing."
Ian Rogers [Wed, 11 Jun 2014 23:51:21 +0000 (23:51 +0000)]
am 3a7a8d18: Merge "Fix typo comment by removing."

* commit '3a7a8d18a01c6930b9bcf3897762af301b25e8ca':
  Fix typo comment by removing.

10 years agoam 45ee056e: Merge "ART: Add mul_long bytecode for X86-64"
Ian Rogers [Wed, 11 Jun 2014 23:43:26 +0000 (23:43 +0000)]
am 45ee056e: Merge "ART: Add mul_long bytecode for X86-64"

* commit '45ee056ea22f68e1041fee7046e1622876c33271':
  ART: Add mul_long bytecode for X86-64

10 years agoam 44405a14: Merge "Fix mem_map_test for Mips."
Ian Rogers [Wed, 11 Jun 2014 23:25:53 +0000 (23:25 +0000)]
am 44405a14: Merge "Fix mem_map_test for Mips."

* commit '44405a140f92aefdb18ba48c3762b229b6d7d169':
  Fix mem_map_test for Mips.

10 years agoMerge "ART: Check indices in dex file verifier"
Andreas Gampe [Thu, 12 Jun 2014 01:36:15 +0000 (01:36 +0000)]
Merge "ART: Check indices in dex file verifier"

10 years agoMerge "Fix typo comment by removing."
Ian Rogers [Wed, 11 Jun 2014 23:45:26 +0000 (23:45 +0000)]
Merge "Fix typo comment by removing."

10 years agoFix typo comment by removing.
Ian Rogers [Wed, 11 Jun 2014 23:44:24 +0000 (16:44 -0700)]
Fix typo comment by removing.

Change-Id: I09764f194317634164be9431328013205fba2910

10 years agoMerge "ART: Add mul_long bytecode for X86-64"
Ian Rogers [Wed, 11 Jun 2014 23:39:15 +0000 (23:39 +0000)]
Merge "ART: Add mul_long bytecode for X86-64"

10 years agoART: Add mul_long bytecode for X86-64
Alexei Zavjalov [Wed, 11 Jun 2014 11:26:40 +0000 (18:26 +0700)]
ART: Add mul_long bytecode for X86-64

This patch implements the inlined version of the mul-long
bytecode for X86-64 platform.

Change-Id: I828e5861e17024d33f09223e0245380aef63a622
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
10 years agoam 508e0112: Merge "Remove Object* weak roots from the debugger."
Hiroshi Yamauchi [Wed, 11 Jun 2014 23:09:31 +0000 (23:09 +0000)]
am 508e0112: Merge "Remove Object* weak roots from the debugger."

* commit '508e0112e8b0e0de7adc9e9fc630b08b862ecb15':
  Remove Object* weak roots from the debugger.

10 years agoam 921b1e02: Merge changes I70a3b6fe,Ib12f3474
Brian Carlstrom [Wed, 11 Jun 2014 23:09:30 +0000 (23:09 +0000)]
am 921b1e02: Merge changes I70a3b6fe,Ib12f3474

* commit '921b1e02130a4d60926f4c0d36f69cbfb7ca5a52':
  Fix build by converting from bionic to elfutils version of elf.h
  Revert "Revert "Rewrite ElfWriterQuick to make it more modular.""

10 years agoam 16e1eda5: Merge "x86_64: Fix issue in JNI compiler"
Andreas Gampe [Wed, 11 Jun 2014 22:01:02 +0000 (22:01 +0000)]
am 16e1eda5: Merge "x86_64: Fix issue in JNI compiler"

* commit '16e1eda5b1fcaf617371072692503714c7a6afe8':
  x86_64: Fix issue in JNI compiler

10 years agoam c879aaec: Merge "ART: Update the DecodedInstruction for the Fused extended bytecodes."
Ian Rogers [Wed, 11 Jun 2014 21:54:21 +0000 (21:54 +0000)]
am c879aaec: Merge "ART: Update the DecodedInstruction for the Fused extended bytecodes."

* commit 'c879aaec949f429c9b029bbbfaa76be8872cef0a':
  ART: Update the DecodedInstruction for the Fused extended bytecodes.

10 years agoam 3b95d23f: Merge "Revert "Rewrite ElfWriterQuick to make it more modular.""
Brian Carlstrom [Wed, 11 Jun 2014 21:41:29 +0000 (21:41 +0000)]
am 3b95d23f: Merge "Revert "Rewrite ElfWriterQuick to make it more modular.""

* commit '3b95d23f44485d207aa6ef298dc744fa2355578b':
  Revert "Rewrite ElfWriterQuick to make it more modular."

10 years agoMerge "ART: arm64 explicit stack overflow checks"
Bill Buzbee [Thu, 12 Jun 2014 17:39:32 +0000 (17:39 +0000)]
Merge "ART: arm64 explicit stack overflow checks"

10 years agoART: arm64 explicit stack overflow checks
Stuart Monteith [Fri, 6 Jun 2014 16:05:08 +0000 (17:05 +0100)]
ART: arm64 explicit stack overflow checks

Implement only the explicit checks for the quick backend for arm64.
Implicit checks require fault handlers, which are currently unimplemented.

CMN + CMP have extended versions implemented for comparisons against the
stack pointer. More extended opcode implementations will need to follow.

Change-Id: I8db297aec73df818b20fe410297800c886701c76

10 years agoMerge "AArch64: fix MarkGCCard, enabling more MIR opcodes."
Bill Buzbee [Thu, 12 Jun 2014 17:39:09 +0000 (17:39 +0000)]
Merge "AArch64: fix MarkGCCard, enabling more MIR opcodes."

10 years agoam 40864df2: Merge "Rewrite ElfWriterQuick to make it more modular."
Brian Carlstrom [Wed, 11 Jun 2014 20:38:32 +0000 (20:38 +0000)]
am 40864df2: Merge "Rewrite ElfWriterQuick to make it more modular."

* commit '40864df29b106091181e7265a74bfe45c9a66b42':
  Rewrite ElfWriterQuick to make it more modular.