OSDN Git Service

android-x86/art.git
9 years agoam 77e6f9b0: (-s ours) am 55933045: Merge "ART: Do not JNI abort on nullptr GetObject...
Andreas Gampe [Tue, 6 Jan 2015 19:18:22 +0000 (19:18 +0000)]
am 77e6f9b0: (-s ours) am 55933045: Merge "ART: Do not JNI abort on nullptr GetObjectRefType" into lmp-mr1-dev

* commit '77e6f9b0588204895a24cd73a46d086b14f51137':
  ART: Do not JNI abort on nullptr GetObjectRefType

9 years agoam 39c6327b: am d30feca6: Merge "ART: Remove LowestSetBit and IsPowerOfTwo"
Andreas Gampe [Tue, 6 Jan 2015 17:04:46 +0000 (17:04 +0000)]
am 39c6327b: am d30feca6: Merge "ART: Remove LowestSetBit and IsPowerOfTwo"

* commit '39c6327b23846d56eae634ee3e883ec542623696':
  ART: Remove LowestSetBit and IsPowerOfTwo

9 years agoam 89e6aa53: am c3823f49: Merge "ART: Remove unused parts of x86 assemblers"
Andreas Gampe [Tue, 6 Jan 2015 17:04:45 +0000 (17:04 +0000)]
am 89e6aa53: am c3823f49: Merge "ART: Remove unused parts of x86 assemblers"

* commit '89e6aa533050cc469e3aa1863b9f461654d370e7':
  ART: Remove unused parts of x86 assemblers

9 years agoam b8329142: am c70153fe: Merge "ART: Fix divide-by-zero for ARM"
Andreas Gampe [Tue, 6 Jan 2015 17:04:43 +0000 (17:04 +0000)]
am b8329142: am c70153fe: Merge "ART: Fix divide-by-zero for ARM"

* commit 'b8329142f9a45c176fdf3e5492416d510e912825':
  ART: Fix divide-by-zero for ARM

9 years agoam d30feca6: Merge "ART: Remove LowestSetBit and IsPowerOfTwo"
Andreas Gampe [Tue, 6 Jan 2015 16:58:51 +0000 (16:58 +0000)]
am d30feca6: Merge "ART: Remove LowestSetBit and IsPowerOfTwo"

* commit 'd30feca670d0af02783bbdfd4a29c5078c18bdc5':
  ART: Remove LowestSetBit and IsPowerOfTwo

9 years agoam c3823f49: Merge "ART: Remove unused parts of x86 assemblers"
Andreas Gampe [Tue, 6 Jan 2015 16:58:49 +0000 (16:58 +0000)]
am c3823f49: Merge "ART: Remove unused parts of x86 assemblers"

* commit 'c3823f49b4f340199f1a9e89d2ee058dee61ae76':
  ART: Remove unused parts of x86 assemblers

9 years agoam c70153fe: Merge "ART: Fix divide-by-zero for ARM"
Andreas Gampe [Tue, 6 Jan 2015 16:58:48 +0000 (16:58 +0000)]
am c70153fe: Merge "ART: Fix divide-by-zero for ARM"

* commit 'c70153fe1d7af7f7108d81dba7833b9ce449a426':
  ART: Fix divide-by-zero for ARM

9 years agoMerge "ART: Remove LowestSetBit and IsPowerOfTwo"
Andreas Gampe [Tue, 6 Jan 2015 16:54:43 +0000 (16:54 +0000)]
Merge "ART: Remove LowestSetBit and IsPowerOfTwo"

9 years agoMerge "ART: Remove unused parts of x86 assemblers"
Andreas Gampe [Tue, 6 Jan 2015 16:54:15 +0000 (16:54 +0000)]
Merge "ART: Remove unused parts of x86 assemblers"

9 years agoMerge "ART: Fix divide-by-zero for ARM"
Andreas Gampe [Tue, 6 Jan 2015 16:53:10 +0000 (16:53 +0000)]
Merge "ART: Fix divide-by-zero for ARM"

9 years agoART: Fix divide-by-zero for ARM
Andreas Gampe [Tue, 6 Jan 2015 03:30:59 +0000 (19:30 -0800)]
ART: Fix divide-by-zero for ARM

There was an infinite loop in the code generation for a divide
by literal zero.

Bug: 18887754
Change-Id: Ibd481918d3c6d7bc62fdd1a6807042009f561d95

9 years agoART: Remove LowestSetBit and IsPowerOfTwo
Andreas Gampe [Tue, 6 Jan 2015 16:28:12 +0000 (08:28 -0800)]
ART: Remove LowestSetBit and IsPowerOfTwo

Remove those functions from Mir2Lir and replace with functionality
from utils.h.

Change-Id: Ieb67092b22d5d460b5241c7c7931c15b9faf2815

9 years agoART: Remove unused parts of x86 assemblers
Andreas Gampe [Tue, 6 Jan 2015 15:47:10 +0000 (07:47 -0800)]
ART: Remove unused parts of x86 assemblers

These functions are neither used nor functional.

Change-Id: Ib6d0761388a45662ad9448ceb2c539c6f0b77f23

9 years agoam 89380b3a: am 95d9a03d: Merge "Improve Thumb disassembler for LDR/STR/PUSH/POP...
Vladimir Marko [Tue, 6 Jan 2015 12:36:54 +0000 (12:36 +0000)]
am 89380b3a: am 95d9a03d: Merge "Improve Thumb disassembler for LDR/STR/PUSH/POP/BKPT."

* commit '89380b3a7989dfad4ea59583ab36d79ee7be8093':
  Improve Thumb disassembler for LDR/STR/PUSH/POP/BKPT.

9 years agoam 95d9a03d: Merge "Improve Thumb disassembler for LDR/STR/PUSH/POP/BKPT."
Vladimir Marko [Tue, 6 Jan 2015 12:31:44 +0000 (12:31 +0000)]
am 95d9a03d: Merge "Improve Thumb disassembler for LDR/STR/PUSH/POP/BKPT."

* commit '95d9a03db4471ef6d72853aedaa2bcd896ff0ca7':
  Improve Thumb disassembler for LDR/STR/PUSH/POP/BKPT.

9 years agoMerge "Improve Thumb disassembler for LDR/STR/PUSH/POP/BKPT."
Vladimir Marko [Tue, 6 Jan 2015 12:27:54 +0000 (12:27 +0000)]
Merge "Improve Thumb disassembler for LDR/STR/PUSH/POP/BKPT."

9 years agoam e0d3b44b: am 0eb8e5db: Merge "Look at instruction set features when generating...
Calin Juravle [Tue, 6 Jan 2015 12:19:53 +0000 (12:19 +0000)]
am e0d3b44b: am 0eb8e5db: Merge "Look at instruction set features when generating volatiles code"

* commit 'e0d3b44b9fefa6f135e215a8f57c4424d6846e23':
  Look at instruction set features when generating volatiles code

9 years agoam 0eb8e5db: Merge "Look at instruction set features when generating volatiles code"
Calin Juravle [Tue, 6 Jan 2015 12:14:28 +0000 (12:14 +0000)]
am 0eb8e5db: Merge "Look at instruction set features when generating volatiles code"

* commit '0eb8e5db064188f09ebec78ea8ac8b4a7596c12c':
  Look at instruction set features when generating volatiles code

9 years agoMerge "Look at instruction set features when generating volatiles code"
Calin Juravle [Tue, 6 Jan 2015 12:10:48 +0000 (12:10 +0000)]
Merge "Look at instruction set features when generating volatiles code"

9 years agoImprove Thumb disassembler for LDR/STR/PUSH/POP/BKPT.
Vladimir Marko [Mon, 5 Jan 2015 15:17:01 +0000 (15:17 +0000)]
Improve Thumb disassembler for LDR/STR/PUSH/POP/BKPT.

Disassemble 16-bit Thumb PUSH, POP, BKPT.

Clean up 32-bit load/store to handle all cases (including
previously unrecognized indexed load/store) in one place;
this also fixes LDRSH erroneously disassembled as LDRSB.

Recognize more UNDEFINED instructions and other minor
cleanup.

Change-Id: Ifdd177745b70e3f774cc0469deb81191b035f51b

9 years agoam c72bb9f2: am 1e862370: Merge "ART: Add imgdiag_test test dependency"
Andreas Gampe [Tue, 6 Jan 2015 00:40:08 +0000 (00:40 +0000)]
am c72bb9f2: am 1e862370: Merge "ART: Add imgdiag_test test dependency"

* commit 'c72bb9f20120efea1a0e565efaf39c2624c004d5':
  ART: Add imgdiag_test test dependency

9 years agoam 1e862370: Merge "ART: Add imgdiag_test test dependency"
Andreas Gampe [Tue, 6 Jan 2015 00:35:20 +0000 (00:35 +0000)]
am 1e862370: Merge "ART: Add imgdiag_test test dependency"

* commit '1e862370ff2c3207afd1b2fc6f77f7ca345643b2':
  ART: Add imgdiag_test test dependency

9 years agoMerge "ART: Add imgdiag_test test dependency"
Andreas Gampe [Tue, 6 Jan 2015 00:30:53 +0000 (00:30 +0000)]
Merge "ART: Add imgdiag_test test dependency"

9 years agoam 1ab08dad: am 3d5872eb: Merge "ART: Reorder entrypoint argument order"
Andreas Gampe [Mon, 5 Jan 2015 19:56:54 +0000 (19:56 +0000)]
am 1ab08dad: am 3d5872eb: Merge "ART: Reorder entrypoint argument order"

* commit '1ab08dad6dbecbddfb0d63de1deb0e9919e8d28f':
  ART: Reorder entrypoint argument order

9 years agoam 3d5872eb: Merge "ART: Reorder entrypoint argument order"
Andreas Gampe [Mon, 5 Jan 2015 19:52:03 +0000 (19:52 +0000)]
am 3d5872eb: Merge "ART: Reorder entrypoint argument order"

* commit '3d5872eb090a04a9444b5621d381eec3846f47a3':
  ART: Reorder entrypoint argument order

9 years agoMerge "ART: Reorder entrypoint argument order"
Andreas Gampe [Mon, 5 Jan 2015 19:26:08 +0000 (19:26 +0000)]
Merge "ART: Reorder entrypoint argument order"

9 years agoam 91c6c638: am b994c437: Merge "Opt Compiler: ARM64: Add support for rem-float,...
Calin Juravle [Mon, 5 Jan 2015 18:41:39 +0000 (18:41 +0000)]
am 91c6c638: am b994c437: Merge "Opt Compiler: ARM64: Add support for rem-float, rem-double and volatile."

* commit '91c6c63867f975de696b52c08f3e824c764c0285':
  Opt Compiler: ARM64: Add support for rem-float, rem-double and volatile.

9 years agoam b994c437: Merge "Opt Compiler: ARM64: Add support for rem-float, rem-double and...
Calin Juravle [Mon, 5 Jan 2015 18:36:10 +0000 (18:36 +0000)]
am b994c437: Merge "Opt Compiler: ARM64: Add support for rem-float, rem-double and volatile."

* commit 'b994c437ae8ec6b9d85ceb1fb11e4c97eace32ef':
  Opt Compiler: ARM64: Add support for rem-float, rem-double and volatile.

9 years agoMerge "Opt Compiler: ARM64: Add support for rem-float, rem-double and volatile."
Calin Juravle [Mon, 5 Jan 2015 18:30:49 +0000 (18:30 +0000)]
Merge "Opt Compiler: ARM64: Add support for rem-float, rem-double and volatile."

9 years agoOpt Compiler: ARM64: Add support for rem-float, rem-double and volatile.
Serban Constantinescu [Mon, 5 Jan 2015 16:08:49 +0000 (16:08 +0000)]
Opt Compiler: ARM64: Add support for rem-float, rem-double and volatile.

Add support for rem-float, rem-double and volatile memory accesses
using acquire-release and memory barriers.

Change-Id: I96a24dff66002c3b772c3d8e6ed792e3cb59048a
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
9 years agoLook at instruction set features when generating volatiles code
Calin Juravle [Fri, 19 Dec 2014 17:22:29 +0000 (17:22 +0000)]
Look at instruction set features when generating volatiles code

Change-Id: Ia882405719fdd60b63e4102af7e085f7cbe0bb2a

9 years agoam 0328d55c: am 85583753: Merge "Fix braino in x64 assembler."
Nicolas Geoffray [Mon, 5 Jan 2015 10:14:24 +0000 (10:14 +0000)]
am 0328d55c: am 85583753: Merge "Fix braino in x64 assembler."

* commit '0328d55c44b245c52949111c91f99887438e4ca0':
  Fix braino in x64 assembler.

9 years agoam 85583753: Merge "Fix braino in x64 assembler."
Nicolas Geoffray [Mon, 5 Jan 2015 10:08:56 +0000 (10:08 +0000)]
am 85583753: Merge "Fix braino in x64 assembler."

* commit '8558375377946aabbbda6ab584e13f754590bd89':
  Fix braino in x64 assembler.

9 years agoMerge "Fix braino in x64 assembler."
Nicolas Geoffray [Mon, 5 Jan 2015 09:16:00 +0000 (09:16 +0000)]
Merge "Fix braino in x64 assembler."

9 years agoam 5c658ad9: am 43a725cd: Merge "ART: Cut filename for DumpCFG"
Andreas Gampe [Fri, 2 Jan 2015 20:15:46 +0000 (20:15 +0000)]
am 5c658ad9: am 43a725cd: Merge "ART: Cut filename for DumpCFG"

* commit '5c658ad9ea439bc68d9a0af5b892c657a9fb271b':
  ART: Cut filename for DumpCFG

9 years agoam 43a725cd: Merge "ART: Cut filename for DumpCFG"
Andreas Gampe [Fri, 2 Jan 2015 20:12:21 +0000 (20:12 +0000)]
am 43a725cd: Merge "ART: Cut filename for DumpCFG"

* commit '43a725cde37740f0384f3f73227c54249ba4fe4f':
  ART: Cut filename for DumpCFG

9 years agoMerge "ART: Cut filename for DumpCFG"
Andreas Gampe [Fri, 2 Jan 2015 20:07:10 +0000 (20:07 +0000)]
Merge "ART: Cut filename for DumpCFG"

9 years agoam 9539283a: am 23149ac2: Merge "ART: Ensure FP GET/PUT doesn\'t use Core register"
Bill Buzbee [Fri, 2 Jan 2015 19:32:32 +0000 (19:32 +0000)]
am 9539283a: am 23149ac2: Merge "ART: Ensure FP GET/PUT doesn\'t use Core register"

* commit '9539283abebe9d8dd7b9636db382dbd0137e5724':
  ART: Ensure FP GET/PUT doesn't use Core register

9 years agoam 23149ac2: Merge "ART: Ensure FP GET/PUT doesn\'t use Core register"
Bill Buzbee [Fri, 2 Jan 2015 19:27:11 +0000 (19:27 +0000)]
am 23149ac2: Merge "ART: Ensure FP GET/PUT doesn\'t use Core register"

* commit '23149ac231d754647e536ff7c274d05f2fb729e2':
  ART: Ensure FP GET/PUT doesn't use Core register

9 years agoMerge "ART: Ensure FP GET/PUT doesn't use Core register"
Bill Buzbee [Fri, 2 Jan 2015 19:21:24 +0000 (19:21 +0000)]
Merge "ART: Ensure FP GET/PUT doesn't use Core register"

9 years agoam 6cdccf8b: am 70c83c70: Merge "Implement LogLineLowStack() properly."
Vladimir Marko [Fri, 2 Jan 2015 16:30:15 +0000 (16:30 +0000)]
am 6cdccf8b: am 70c83c70: Merge "Implement LogLineLowStack() properly."

* commit '6cdccf8bec3450a13935c85fdeb1555edaab5f68':
  Implement LogLineLowStack() properly.

9 years agoam 70c83c70: Merge "Implement LogLineLowStack() properly."
Vladimir Marko [Fri, 2 Jan 2015 16:26:58 +0000 (16:26 +0000)]
am 70c83c70: Merge "Implement LogLineLowStack() properly."

* commit '70c83c7088450a44539409e756ad924b99fa860e':
  Implement LogLineLowStack() properly.

9 years agoMerge "Implement LogLineLowStack() properly."
Vladimir Marko [Fri, 2 Jan 2015 16:22:06 +0000 (16:22 +0000)]
Merge "Implement LogLineLowStack() properly."

9 years agoImplement LogLineLowStack() properly.
Vladimir Marko [Fri, 2 Jan 2015 14:23:26 +0000 (14:23 +0000)]
Implement LogLineLowStack() properly.

Avoid stack-based buffers used by the log formatting in
__android_log_print().

Move the VLOG(threads) in Thread::InitStackHwm() after the
low stack check as it's not safe to actually log before
that; even the StringPrintf() is using a stack-based buffer.

Bug: 18830897
Change-Id: I13b2166438e871c52ab91dabfe98f2200fd7c1cf

9 years agoam 48978a88: am ba31c3c4: Merge "ART: New types of Checker assertions"
David Brazdil [Wed, 31 Dec 2014 16:27:48 +0000 (16:27 +0000)]
am 48978a88: am ba31c3c4: Merge "ART: New types of Checker assertions"

* commit '48978a8885c4378750c97f0d6901695dfac6d85a':
  ART: New types of Checker assertions

9 years agoam ba31c3c4: Merge "ART: New types of Checker assertions"
David Brazdil [Wed, 31 Dec 2014 16:22:19 +0000 (16:22 +0000)]
am ba31c3c4: Merge "ART: New types of Checker assertions"

* commit 'ba31c3c400cfc59bfe284701763ef96c8810aa14':
  ART: New types of Checker assertions

9 years agoMerge "ART: New types of Checker assertions"
David Brazdil [Wed, 31 Dec 2014 16:16:29 +0000 (16:16 +0000)]
Merge "ART: New types of Checker assertions"

9 years agoART: New types of Checker assertions
David Brazdil [Fri, 19 Dec 2014 11:17:21 +0000 (11:17 +0000)]
ART: New types of Checker assertions

Checker now supports positive out-of-order assertions (CHECK-DAG),
which are useful for matching dependency graphs, and negative
assertions (CHECK-NOT) to test element removal.

ConstantFolding tests are rewritten using -DAG checks and Inliner
tests are added.

Change-Id: I5afb665f532b24683624b6d21ef4377cb441d731

9 years agoam faa89f90: am 42177ceb: Merge "ART: Refactored VisualizerPrinter visitor pattern"
David Brazdil [Tue, 30 Dec 2014 12:21:01 +0000 (12:21 +0000)]
am faa89f90: am 42177ceb: Merge "ART: Refactored VisualizerPrinter visitor pattern"

* commit 'faa89f9024518d41df3aeeaebbdd54a110ce137b':
  ART: Refactored VisualizerPrinter visitor pattern

9 years agoam 42177ceb: Merge "ART: Refactored VisualizerPrinter visitor pattern"
David Brazdil [Tue, 30 Dec 2014 12:16:02 +0000 (12:16 +0000)]
am 42177ceb: Merge "ART: Refactored VisualizerPrinter visitor pattern"

* commit '42177ceb495ef591cd74e3f45ccf6f49dea03fea':
  ART: Refactored VisualizerPrinter visitor pattern

9 years agoMerge "ART: Refactored VisualizerPrinter visitor pattern"
David Brazdil [Tue, 30 Dec 2014 10:36:02 +0000 (10:36 +0000)]
Merge "ART: Refactored VisualizerPrinter visitor pattern"

9 years agoART: Reorder entrypoint argument order
Andreas Gampe [Thu, 18 Dec 2014 02:43:01 +0000 (18:43 -0800)]
ART: Reorder entrypoint argument order

Shuffle the ArtMethod* referrer backwards for easier removal.

Clean up ARM & MIPS assembly code.

Change some macros to make future changes easier.

Change-Id: Ie2862b68bd6e519438e83eecd9e1611df51d7945

9 years agoam 19c35a06: am b31aa251: Merge "Update oat version to 053."
Andreas Gampe [Mon, 29 Dec 2014 16:14:47 +0000 (16:14 +0000)]
am 19c35a06: am b31aa251: Merge "Update oat version to 053."

* commit '19c35a06f93e7b91b9f8ea05366ee017b10e5e2b':
  Update oat version to 053.

9 years agoam b31aa251: Merge "Update oat version to 053."
Andreas Gampe [Mon, 29 Dec 2014 16:09:26 +0000 (16:09 +0000)]
am b31aa251: Merge "Update oat version to 053."

* commit 'b31aa2519af31b9e88677922468ee4f6da63d19c':
  Update oat version to 053.

9 years agoMerge "Update oat version to 053."
Andreas Gampe [Mon, 29 Dec 2014 16:04:04 +0000 (16:04 +0000)]
Merge "Update oat version to 053."

9 years agoART: Refactored VisualizerPrinter visitor pattern
David Brazdil [Mon, 29 Dec 2014 15:35:02 +0000 (15:35 +0000)]
ART: Refactored VisualizerPrinter visitor pattern

This patch refactors the visitor pattern in HGraphVisualizerPrinter
to output instruction-specific details.

Change-Id: Icfed9cd844b973025337a6bb584e1bc88f1ddd58

9 years agoUpdate oat version to 053.
Chenfu Bao [Mon, 29 Dec 2014 08:10:45 +0000 (16:10 +0800)]
Update oat version to 053.

Oat version in class OatHeader had increased to 052,
but commit 2bcb3b228bc418bcc7fdc3d58d0a0da422a0b6d5
(changeID I8cef1c6cc9cb2faa052167a3437e81b4c2cbefa7)
changed it back to 045.

Change-Id: I5bf7b995c9d99a536f6356d9fd5b5e746a933f2e
Signed-off-by: Chenfu Bao <emailwrong@gmail.com>
9 years agoam dc39254d: am 5e3dd904: Merge "ART: Use interpret-only for vmSafeMode" into lmp...
Andreas Gampe [Wed, 24 Dec 2014 18:57:49 +0000 (18:57 +0000)]
am dc39254d: am 5e3dd904: Merge "ART: Use interpret-only for vmSafeMode" into lmp-mr1-dev

* commit 'dc39254d20eb37685117f6ac62d3fccc7151b5ac':
  ART: Use interpret-only for vmSafeMode

9 years agoam b47261b1: (-s ours) am 634d58a9: Pass the real capacity to CreateRosAlloc.
Hiroshi Yamauchi [Wed, 24 Dec 2014 18:57:38 +0000 (18:57 +0000)]
am b47261b1: (-s ours) am 634d58a9: Pass the real capacity to CreateRosAlloc.

* commit 'b47261b18f51cb237ecdb25d1a44c591b582b04b':
  Pass the real capacity to CreateRosAlloc.

9 years agoART: Add imgdiag_test test dependency
Andreas Gampe [Sat, 20 Dec 2014 07:12:25 +0000 (23:12 -0800)]
ART: Add imgdiag_test test dependency

The test depends on the binaries. Make sure they are done before we
run the test.

Change-Id: I76e6458b725ba99746772223b2fe961080d1662b

9 years agoART: Cut filename for DumpCFG
Andreas Gampe [Fri, 19 Dec 2014 23:30:11 +0000 (15:30 -0800)]
ART: Cut filename for DumpCFG

If the name/path is too long, we'd silently fail dumping. Cut the
name when it's too long, and write an error message if we still
fail opening.

Change-Id: Id439a3367a8fdb50027959dd8c183913d074e669

9 years agoam e52f7fe9: am 5e0a9849: Merge "ART: Fix verification of constructors."
Andreas Gampe [Mon, 22 Dec 2014 21:55:59 +0000 (21:55 +0000)]
am e52f7fe9: am 5e0a9849: Merge "ART: Fix verification of constructors."

* commit 'e52f7fe9e8508b6d548193e38ad30e7bd2192839':
  ART: Fix verification of constructors.

9 years agoam e7a87070: am 88a7bf2f: Merge "ART: Fix common_compiler_test assumptions"
Andreas Gampe [Mon, 22 Dec 2014 21:55:57 +0000 (21:55 +0000)]
am e7a87070: am 88a7bf2f: Merge "ART: Fix common_compiler_test assumptions"

* commit 'e7a87070ecec838f176d8dff807722afb3a65305':
  ART: Fix common_compiler_test assumptions

9 years agoam 5e0a9849: Merge "ART: Fix verification of constructors."
Andreas Gampe [Mon, 22 Dec 2014 21:50:30 +0000 (21:50 +0000)]
am 5e0a9849: Merge "ART: Fix verification of constructors."

* commit '5e0a9849d4e353c3726095b65ab07cefce40a636':
  ART: Fix verification of constructors.

9 years agoam 88a7bf2f: Merge "ART: Fix common_compiler_test assumptions"
Andreas Gampe [Mon, 22 Dec 2014 21:50:29 +0000 (21:50 +0000)]
am 88a7bf2f: Merge "ART: Fix common_compiler_test assumptions"

* commit '88a7bf2fb1b8be7def92ee13aac9a7882525c98f':
  ART: Fix common_compiler_test assumptions

9 years agoMerge "ART: Fix verification of constructors."
Andreas Gampe [Mon, 22 Dec 2014 21:47:15 +0000 (21:47 +0000)]
Merge "ART: Fix verification of constructors."

9 years agoMerge "ART: Fix common_compiler_test assumptions"
Andreas Gampe [Mon, 22 Dec 2014 21:45:47 +0000 (21:45 +0000)]
Merge "ART: Fix common_compiler_test assumptions"

9 years agoART: Fix common_compiler_test assumptions
Andreas Gampe [Mon, 22 Dec 2014 21:43:33 +0000 (13:43 -0800)]
ART: Fix common_compiler_test assumptions

JNI-compiled methods now do not have mapping tables or GC maps,
not even zero-sized. Update the code in common_compiler_test.

Bug: 18596910
Change-Id: If22bf1b2e369273148f060b0b1ffc02b2b1ef608

9 years agoART: Fix verification of constructors.
Stephen Kyle [Wed, 17 Dec 2014 17:10:02 +0000 (17:10 +0000)]
ART: Fix verification of constructors.

Summary:

A constructor must call its superclass constructor. However, if one
replaces the invoke-direct superclass.<init>() instruction with a
variety of instructions, the verifier would NOT complain that the
superclass constructor hadn't been called.

Detailed explanation:

This was because if we are verifying the return-void insn of a
constructor, then we check that the register line doesn't contain a
register with an UninitializedThis type. With a method like follows:

Class.<init>()V:
  return-void

Then we hit the return-void, see the UninitializedThis, and fail the
method. However, with a method like follows:

Class.<init>()V:
  nop
  return-void

Any insn that continues or branches onto a return-void instruction will
mark all of the registers as Conflict. This meant that the check in
return-void for an UninitializedThis residing the register line would
_always_ pass if there were any insns before it - the entire line had
been set to Conflict.

The fix is to bring the check for an UninitializedThis forward to the
point just before we set all registers to Conflict, if we're about to
hit a return-void insn in a constructor. It still needs to be done
again in the verification of return-void itself, to avoid the solo
return-void case.

This patch also deals with the case where the only remaining
UninitializedThis reference is overwritten, to avoid a method like the
following from getting through verification:

Class.<init>()V:
  const/4 v0, 0
  return-void

Bug: 18800943

Change-Id: I2e317261844d3b6c78e35228669f3da173316570
Fuzzed-With: https://android-review.googlesource.com/#/c/119463/

9 years agoam ec1fa54f: am 06814c9a: Merge "ART: Mac build fix"
Andreas Gampe [Mon, 22 Dec 2014 21:19:50 +0000 (21:19 +0000)]
am ec1fa54f: am 06814c9a: Merge "ART: Mac build fix"

* commit 'ec1fa54fa4327cc4eefe99efa3fd198bc00a29c0':
  ART: Mac build fix

9 years agoam 06814c9a: Merge "ART: Mac build fix"
Andreas Gampe [Mon, 22 Dec 2014 21:14:23 +0000 (21:14 +0000)]
am 06814c9a: Merge "ART: Mac build fix"

* commit '06814c9a6e40e8a1e211cd40ebf6431ce4a9721d':
  ART: Mac build fix

9 years agoMerge "ART: Mac build fix"
Andreas Gampe [Mon, 22 Dec 2014 21:07:46 +0000 (21:07 +0000)]
Merge "ART: Mac build fix"

9 years agoART: Mac build fix
Andreas Gampe [Mon, 22 Dec 2014 21:06:44 +0000 (13:06 -0800)]
ART: Mac build fix

Unused parameter on Mac.

Bug: 18596910
Change-Id: If0fab0b58173997d584fcdce195361d792f1098d

9 years agoam 57536212: am 460bb2c6: Merge "ART: Do not compile swap file functionality on Mac"
Andreas Gampe [Mon, 22 Dec 2014 19:42:16 +0000 (19:42 +0000)]
am 57536212: am 460bb2c6: Merge "ART: Do not compile swap file functionality on Mac"

* commit '575362127d558cebdd8a092e65141e2b369f27fe':
  ART: Do not compile swap file functionality on Mac

9 years agoam 460bb2c6: Merge "ART: Do not compile swap file functionality on Mac"
Andreas Gampe [Mon, 22 Dec 2014 19:36:46 +0000 (19:36 +0000)]
am 460bb2c6: Merge "ART: Do not compile swap file functionality on Mac"

* commit '460bb2c6dad7ff9637f148177689598cc6f66486':
  ART: Do not compile swap file functionality on Mac

9 years agoMerge "ART: Do not compile swap file functionality on Mac"
Andreas Gampe [Mon, 22 Dec 2014 19:33:15 +0000 (19:33 +0000)]
Merge "ART: Do not compile swap file functionality on Mac"

9 years agoART: Do not compile swap file functionality on Mac
Andreas Gampe [Fri, 19 Dec 2014 20:04:06 +0000 (12:04 -0800)]
ART: Do not compile swap file functionality on Mac

Bug: 18596910

(cherry picked from commit 8a9f0049821803051201edebc6d9a0f0639756c3)

Change-Id: Ic06429f41840ce318cfaa837efecc69c2076440e

9 years agoam be9badda: am 5c79aec9: Merge "ART: Swap-space in the compiler"
Andreas Gampe [Mon, 22 Dec 2014 18:39:36 +0000 (18:39 +0000)]
am be9badda: am 5c79aec9: Merge "ART: Swap-space in the compiler"

* commit 'be9badda80915565f718341f43bc0ec4cae80ca1':
  ART: Swap-space in the compiler

9 years agoam 5c79aec9: Merge "ART: Swap-space in the compiler"
Andreas Gampe [Mon, 22 Dec 2014 18:34:08 +0000 (18:34 +0000)]
am 5c79aec9: Merge "ART: Swap-space in the compiler"

* commit '5c79aec9d53d1320041d5a52e5115d78d16035b7':
  ART: Swap-space in the compiler

9 years agoam 55933045: Merge "ART: Do not JNI abort on nullptr GetObjectRefType" into lmp-mr1-dev
Andreas Gampe [Mon, 22 Dec 2014 18:30:56 +0000 (18:30 +0000)]
am 55933045: Merge "ART: Do not JNI abort on nullptr GetObjectRefType" into lmp-mr1-dev

* commit '55933045bcbb66dd76046aa279841f3a1efba7b5':
  ART: Do not JNI abort on nullptr GetObjectRefType

9 years agoMerge "ART: Swap-space in the compiler"
Andreas Gampe [Mon, 22 Dec 2014 18:30:07 +0000 (18:30 +0000)]
Merge "ART: Swap-space in the compiler"

9 years agoMerge "ART: Do not JNI abort on nullptr GetObjectRefType" into lmp-mr1-dev
Andreas Gampe [Mon, 22 Dec 2014 18:27:42 +0000 (18:27 +0000)]
Merge "ART: Do not JNI abort on nullptr GetObjectRefType" into lmp-mr1-dev

9 years agoART: Do not JNI abort on nullptr GetObjectRefType
Andreas Gampe [Sat, 20 Dec 2014 08:08:35 +0000 (00:08 -0800)]
ART: Do not JNI abort on nullptr GetObjectRefType

A nullptr is a valid input, as it is different from a null reference.

Bug: 18820997

(cherry picked from commit a87630724ef4f8760684fa69c8ecc685735aff88)

Change-Id: Ibda8907ba13b20d2055049492a356ffdf4ddc714

9 years agoART: Swap-space in the compiler
Andreas Gampe [Tue, 9 Dec 2014 00:59:43 +0000 (16:59 -0800)]
ART: Swap-space in the compiler

Introduce a swap-space and corresponding allocator to transparently
switch native allocations to memory backed by a file.

Bug: 18596910

(cherry picked from commit 62746d8d9c4400e4764f162b22bfb1a32be287a9)

Change-Id: I131448f3907115054a592af73db86d2b9257ea33

9 years agoam 2f9d7a5b: am 508d2665: Merge "ART: Do not JNI abort on nullptr GetObjectRefType"
Andreas Gampe [Mon, 22 Dec 2014 17:55:51 +0000 (17:55 +0000)]
am 2f9d7a5b: am 508d2665: Merge "ART: Do not JNI abort on nullptr GetObjectRefType"

* commit '2f9d7a5bf28e26d2f92128cf420a1ce9f9be0ef6':
  ART: Do not JNI abort on nullptr GetObjectRefType

9 years agoam 508d2665: Merge "ART: Do not JNI abort on nullptr GetObjectRefType"
Andreas Gampe [Mon, 22 Dec 2014 17:50:07 +0000 (17:50 +0000)]
am 508d2665: Merge "ART: Do not JNI abort on nullptr GetObjectRefType"

* commit '508d2665febbb06c853bfab131c4dc7164fffabb':
  ART: Do not JNI abort on nullptr GetObjectRefType

9 years agoMerge "ART: Do not JNI abort on nullptr GetObjectRefType"
Andreas Gampe [Mon, 22 Dec 2014 17:43:36 +0000 (17:43 +0000)]
Merge "ART: Do not JNI abort on nullptr GetObjectRefType"

9 years agoART: Do not JNI abort on nullptr GetObjectRefType
Andreas Gampe [Sat, 20 Dec 2014 08:08:35 +0000 (00:08 -0800)]
ART: Do not JNI abort on nullptr GetObjectRefType

A nullptr is a valid input, as it is different from a null reference.

Bug: 18820997
Change-Id: Ibda8907ba13b20d2055049492a356ffdf4ddc714

9 years agoam ac7cb841: am 094368ae: Merge "ART: Use interpret-only for vmSafeMode"
Andreas Gampe [Sat, 20 Dec 2014 07:38:20 +0000 (07:38 +0000)]
am ac7cb841: am 094368ae: Merge "ART: Use interpret-only for vmSafeMode"

* commit 'ac7cb8410068317a6e310c6715a4aae92aa3d637':
  ART: Use interpret-only for vmSafeMode

9 years agoam 094368ae: Merge "ART: Use interpret-only for vmSafeMode"
Andreas Gampe [Sat, 20 Dec 2014 07:31:59 +0000 (07:31 +0000)]
am 094368ae: Merge "ART: Use interpret-only for vmSafeMode"

* commit '094368ae2fa7a4eeaafb44f6018e498c1054af60':
  ART: Use interpret-only for vmSafeMode

9 years agoMerge "ART: Use interpret-only for vmSafeMode"
Andreas Gampe [Sat, 20 Dec 2014 07:25:59 +0000 (07:25 +0000)]
Merge "ART: Use interpret-only for vmSafeMode"

9 years agoam 5e3dd904: Merge "ART: Use interpret-only for vmSafeMode" into lmp-mr1-dev
Andreas Gampe [Sat, 20 Dec 2014 07:15:04 +0000 (07:15 +0000)]
am 5e3dd904: Merge "ART: Use interpret-only for vmSafeMode" into lmp-mr1-dev

* commit '5e3dd904f86783bf4b835084c51d8d3625f00897':
  ART: Use interpret-only for vmSafeMode

9 years agoART: Use interpret-only for vmSafeMode
Andreas Gampe [Fri, 19 Dec 2014 17:53:27 +0000 (09:53 -0800)]
ART: Use interpret-only for vmSafeMode

Set the compiler filter when the zygote tells us that the app is
in vmSafeMode. This ensures that secondary dex files will also be
compiled interpret-only.

Bug: 18812762

(cherry picked from commit 44893692bfb25ceb5c7c5b2e5c606948fbdea298)

Change-Id: Idb61870beebe2eeb5b11554f95ea6a725c77f16a

9 years agoMerge "ART: Use interpret-only for vmSafeMode" into lmp-mr1-dev
Andreas Gampe [Sat, 20 Dec 2014 07:10:32 +0000 (07:10 +0000)]
Merge "ART: Use interpret-only for vmSafeMode" into lmp-mr1-dev

9 years agoART: Use interpret-only for vmSafeMode
Andreas Gampe [Fri, 19 Dec 2014 17:53:27 +0000 (09:53 -0800)]
ART: Use interpret-only for vmSafeMode

Set the compiler filter when the zygote tells us that the app is
in vmSafeMode. This ensures that secondary dex files will also be
compiled interpret-only.

Bug: 18812762
Change-Id: Idb61870beebe2eeb5b11554f95ea6a725c77f16a

9 years agoam 779ad82f: am 48e7f337: Merge "Add heap task processor"
Mathieu Chartier [Sat, 20 Dec 2014 02:22:13 +0000 (02:22 +0000)]
am 779ad82f: am 48e7f337: Merge "Add heap task processor"

* commit '779ad82fbb69338720c84af574a5f152297b1076':
  Add heap task processor

9 years agoam 48e7f337: Merge "Add heap task processor"
Mathieu Chartier [Sat, 20 Dec 2014 02:12:09 +0000 (02:12 +0000)]
am 48e7f337: Merge "Add heap task processor"

* commit '48e7f3374eb6f042c12cd540ce73c7cddc366bb4':
  Add heap task processor

9 years agoMerge "Add heap task processor"
Mathieu Chartier [Sat, 20 Dec 2014 02:01:01 +0000 (02:01 +0000)]
Merge "Add heap task processor"

9 years agoAdd heap task processor
Mathieu Chartier [Thu, 18 Dec 2014 01:56:03 +0000 (17:56 -0800)]
Add heap task processor

The heap task processor processes async tasks which may be delayed.
The motivation for this change is preventing deadlocks which
can occur when the daemon threads get suspended by GetThreadStack.

Other improvements, reduces daemon thread count by one.
Cleaner pending transition VS heap trimming logic.

Bug: 18739541

Change-Id: Idab52b2d9661a6385cada74b93ff297ddc55fc78

9 years agoam 634d58a9: Pass the real capacity to CreateRosAlloc.
Hiroshi Yamauchi [Sat, 20 Dec 2014 01:01:26 +0000 (01:01 +0000)]
am 634d58a9: Pass the real capacity to CreateRosAlloc.

* commit '634d58a91ed636043feed600ca17c6c945a4fb20':
  Pass the real capacity to CreateRosAlloc.