OSDN Git Service

android-x86/art.git
9 years agoMerge "Rename isDexOptNeededInternal and add kSelfPatchOatNeeded"
Richard Uhler [Thu, 9 Apr 2015 14:13:29 +0000 (14:13 +0000)]
Merge "Rename isDexOptNeededInternal and add kSelfPatchOatNeeded"

9 years agoMerge "Speedup div/rem by constants on x86 and x86_64"
Calin Juravle [Thu, 9 Apr 2015 12:46:58 +0000 (12:46 +0000)]
Merge "Speedup div/rem by constants on x86 and x86_64"

9 years agoSpeedup div/rem by constants on x86 and x86_64
Guillaume Sanchez [Mon, 30 Mar 2015 16:55:45 +0000 (17:55 +0100)]
Speedup div/rem by constants on x86 and x86_64

This is done using the algorithms in Hacker's Delight chapter 10.

Change-Id: I7bacefe10067569769ed31a1f7834f796fb41119

9 years agoMerge "Opt compiler: ARM64: Use TBZ and TBNZ in VisitIf."
Roland Levillain [Thu, 9 Apr 2015 11:14:45 +0000 (11:14 +0000)]
Merge "Opt compiler: ARM64: Use TBZ and TBNZ in VisitIf."

9 years agoMerge "Exercise art::arm::Thumb2Assembler::StoreToOffset for word pairs."
Roland Levillain [Thu, 9 Apr 2015 10:59:36 +0000 (10:59 +0000)]
Merge "Exercise art::arm::Thumb2Assembler::StoreToOffset for word pairs."

9 years agoMerge "Quick: Clean up temp use counting."
Vladimir Marko [Wed, 8 Apr 2015 17:08:04 +0000 (17:08 +0000)]
Merge "Quick: Clean up temp use counting."

9 years agoMerge "Fix JDWP race at runtime shutdown"
Sebastien Hertz [Wed, 8 Apr 2015 16:42:38 +0000 (16:42 +0000)]
Merge "Fix JDWP race at runtime shutdown"

9 years agoMerge "[optimizing] Implement more x86/x86_64 intrinsics"
Andreas Gampe [Wed, 8 Apr 2015 16:07:41 +0000 (16:07 +0000)]
Merge "[optimizing] Implement more x86/x86_64 intrinsics"

9 years agoQuick: Clean up temp use counting.
Vladimir Marko [Wed, 8 Apr 2015 09:01:01 +0000 (10:01 +0100)]
Quick: Clean up temp use counting.

For the boot image on arm64 and x86-64 we're using true
PC-relative addressing, so pc_rel_temp_ is nullptr and
CanUsePcRelDexCacheArrayLoad() returns true, but we're not
actually using the ArtMethod* so fix the AnalyzeMIR() to
take it into account.

Also don't count intrinsic invokes towards ArtMethod* uses.
To avoid repeated method inliner inquiries about whether a
method is intrinsic or special (requiring lock acquisition),
cache that information in MirMethodLoweringInfo. As part of
that cleanup, take quickened invokes into account for
suspend check elimination.

Change-Id: I5b4ec124221c0db1314c8e72675976c110ebe7ca

9 years agoMerge "Remove the old CFI infrastructure."
David Srbecky [Wed, 8 Apr 2015 12:30:18 +0000 (12:30 +0000)]
Merge "Remove the old CFI infrastructure."

9 years agoOpt compiler: ARM64: Use TBZ and TBNZ in VisitIf.
Alexandre Rames [Tue, 3 Feb 2015 10:28:33 +0000 (10:28 +0000)]
Opt compiler: ARM64: Use TBZ and TBNZ in VisitIf.

TBZ and TBNZ have a short range. Now that VIXL supports
veneers, we can use them safely without the danger of
running out of range.

Change-Id: Iaf77a441ccf86282c1793a2213a69a2091ca829a

9 years agoMerge "Exercise art::arm::Thumb2Assembler::StoreToOffset for words."
Roland Levillain [Wed, 8 Apr 2015 08:50:47 +0000 (08:50 +0000)]
Merge "Exercise art::arm::Thumb2Assembler::StoreToOffset for words."

9 years agoMerge "Ignore not yet loaded classes during hprof"
Sebastien Hertz [Wed, 8 Apr 2015 08:49:19 +0000 (08:49 +0000)]
Merge "Ignore not yet loaded classes during hprof"

9 years agoMerge "ART: Remove LLVM cruft"
Andreas Gampe [Wed, 8 Apr 2015 03:06:26 +0000 (03:06 +0000)]
Merge "ART: Remove LLVM cruft"

9 years agoART: Remove LLVM cruft
Andreas Gampe [Wed, 8 Apr 2015 02:58:03 +0000 (19:58 -0700)]
ART: Remove LLVM cruft

Change-Id: I133ebed6101bf12a0642ed71e13f332c0c4f14e7

9 years agoMerge "ART: Fix 64-bit ELF file support"
Andreas Gampe [Wed, 8 Apr 2015 00:37:23 +0000 (00:37 +0000)]
Merge "ART: Fix 64-bit ELF file support"

9 years agoART: Fix 64-bit ELF file support
Andreas Gampe [Tue, 7 Apr 2015 23:09:30 +0000 (16:09 -0700)]
ART: Fix 64-bit ELF file support

The API wasn't cross-compile-safe, 32-bit patchoat would fail for
negative delta applied to a 64-bit ELF file.

Add 64-bit ELF file output to the compilers, behind a flag, currently
off by default (preserving current behavior).

Bug: 20095017
Change-Id: I2cde7b4c7cc83413c76692d7b745868d644a604c

9 years agoMerge "Promote pointer to dex cache arrays on arm."
Vladimir Marko [Tue, 7 Apr 2015 19:34:39 +0000 (19:34 +0000)]
Merge "Promote pointer to dex cache arrays on arm."

9 years agoMerge "PC-relative loads from dex cache arrays for arm."
Vladimir Marko [Tue, 7 Apr 2015 19:34:01 +0000 (19:34 +0000)]
Merge "PC-relative loads from dex cache arrays for arm."

9 years agoRemove the old CFI infrastructure.
David Srbecky [Tue, 7 Apr 2015 18:46:22 +0000 (19:46 +0100)]
Remove the old CFI infrastructure.

Change-Id: I12a17a8a1c39ffccaa499c328ebac36e4d74dc4e

9 years agoMerge "Quick: Use PC-relative dex cache array loads for SGET/SPUT."
Vladimir Marko [Tue, 7 Apr 2015 19:01:32 +0000 (19:01 +0000)]
Merge "Quick: Use PC-relative dex cache array loads for SGET/SPUT."

9 years agoMerge "Fix CC root visiting bug"
Mathieu Chartier [Tue, 7 Apr 2015 18:24:13 +0000 (18:24 +0000)]
Merge "Fix CC root visiting bug"

9 years agoPromote pointer to dex cache arrays on arm.
Vladimir Marko [Tue, 7 Apr 2015 08:36:09 +0000 (09:36 +0100)]
Promote pointer to dex cache arrays on arm.

Do the use-count analysis on temps (ArtMethod* and the new
PC-relative temp) in Mir2Lir, rather than MIRGraph. MIRGraph
isn't really supposed to know how the ArtMethod* is used by
the backend.

Change-Id: Iaf56a46ae203eca86281b02b54f39a80fe5cc2dd

9 years agoPC-relative loads from dex cache arrays for arm.
Vladimir Marko [Mon, 6 Apr 2015 11:10:19 +0000 (12:10 +0100)]
PC-relative loads from dex cache arrays for arm.

Change-Id: Ic25df4b51a901ff1d2ca356b5eec71d4acc5d9b7

9 years agoQuick: Use PC-relative dex cache array loads for SGET/SPUT.
Vladimir Marko [Tue, 7 Apr 2015 08:56:48 +0000 (09:56 +0100)]
Quick: Use PC-relative dex cache array loads for SGET/SPUT.

Change-Id: I890284b73f69120ada5cf9b9ef4a717af3273cd2

9 years agoFix CC root visiting bug
Mathieu Chartier [Tue, 7 Apr 2015 17:39:04 +0000 (10:39 -0700)]
Fix CC root visiting bug

Also some cleanup.

Change-Id: Ia3de8f2d409770be3619ec116e8b06ecd82338fe

9 years agoMerge "ART: Print C1vis header only if visualizer enabled"
David Brazdil [Tue, 7 Apr 2015 17:33:43 +0000 (17:33 +0000)]
Merge "ART: Print C1vis header only if visualizer enabled"

9 years agoMerge "ART: Remove unused variables."
Andreas Gampe [Tue, 7 Apr 2015 17:29:21 +0000 (17:29 +0000)]
Merge "ART: Remove unused variables."

9 years agoART: Print C1vis header only if visualizer enabled
David Brazdil [Tue, 7 Apr 2015 17:09:37 +0000 (18:09 +0100)]
ART: Print C1vis header only if visualizer enabled

Setting kStringFilter currently suppresses graph dumps of non-matching
methods but their headers are still printed. This fixes the issue.

Change-Id: Ib33fb20fcca2bf409534a824e7f76f1feb85724d

9 years agoART: Remove unused variables.
Andreas Gampe [Tue, 7 Apr 2015 16:51:52 +0000 (09:51 -0700)]
ART: Remove unused variables.

Curious that neither Clang nor GCC flagged those.

Change-Id: Ie1866d8171651c768e378d829a669cc57cab1f09

9 years agoMerge "Remove fuzzer build-time dependency on core image."
Calin Juravle [Tue, 7 Apr 2015 16:03:19 +0000 (16:03 +0000)]
Merge "Remove fuzzer build-time dependency on core image."

9 years agoRemove fuzzer build-time dependency on core image.
Calin Juravle [Tue, 7 Apr 2015 11:31:39 +0000 (12:31 +0100)]
Remove fuzzer build-time dependency on core image.

Test if the image exists at runtime.

Forcing this dependency slows down development. For example, if after a
change dex2oat does not compile anymore you need to first revert to a
stable state and rebuild the core image to be able to move foreward.
Since this is a test tool, it is ok to assume that the core image has
already been built if host execution was selected.

Change-Id: Id61a960ba62bb8d1d21acb07114f72208fbc9720

9 years agoMerge "JDWP: clear exception when allocation fails"
Sebastien Hertz [Tue, 7 Apr 2015 15:16:13 +0000 (15:16 +0000)]
Merge "JDWP: clear exception when allocation fails"

9 years agoExercise art::arm::Thumb2Assembler::StoreToOffset for word pairs.
Roland Levillain [Tue, 7 Apr 2015 12:54:49 +0000 (13:54 +0100)]
Exercise art::arm::Thumb2Assembler::StoreToOffset for word pairs.

- Augment compiler/utils/arm/assembler_thumb2_test.cc.
- Ensure art::arm::Thumb2Assembler::StoreToOffset properly
  handles IP as (implicit) second source register.
- Remove the parity constraint on the first source register
  for art::arm::Thumb2Assembler::ldrd and
  art::arm::Thumb2Assembler::strd (as they are not required
  by the Thumb-2 encoding).
- Introduce additional versions of
  art::arm::Thumb2Assembler::ldrd and
  art::arm::Thumb2Assembler::strd accepting a second source
  register, which is not necessarily the one following the
  first source register, as it is allowed by the Thumb-2
  encoding.

Change-Id: I7dba168437a96a5cbb117058e9c547fb1ff5c295

9 years agoMerge "Fix address formatting in Mips64 disassembler."
David Srbecky [Tue, 7 Apr 2015 12:38:57 +0000 (12:38 +0000)]
Merge "Fix address formatting in Mips64 disassembler."

9 years agoMerge "Build 32-bit version of the disassembler as well."
David Srbecky [Tue, 7 Apr 2015 12:38:16 +0000 (12:38 +0000)]
Merge "Build 32-bit version of the disassembler as well."

9 years agoMerge "Proper fix for issue 20051601 - arm actually means thumb2."
David Srbecky [Tue, 7 Apr 2015 12:36:40 +0000 (12:36 +0000)]
Merge "Proper fix for issue 20051601 - arm actually means thumb2."

9 years agoIgnore not yet loaded classes during hprof
Sebastien Hertz [Tue, 7 Apr 2015 08:28:53 +0000 (10:28 +0200)]
Ignore not yet loaded classes during hprof

Skips classes that are no yet loaded because we cannot access its
fields nor its superclass. This CL fixes a crash observed during the
run-test 130-hprof.

Bug: 20040824
Change-Id: Ia618b6c1579d35dfd726726ca6d2ff4258d8a841

9 years ago[optimizing] Implement more x86/x86_64 intrinsics
Mark Mendell [Fri, 3 Apr 2015 18:52:31 +0000 (14:52 -0400)]
[optimizing] Implement more x86/x86_64 intrinsics

Implement CAS and bit reverse and byte reverse intrinsics that were
missing from x86 and x86_64 implementations.

Add assembler tests and compareAndSwapLong test.

Change-Id: Iabb2ff46036645df0a91f640288ef06090a64ee3
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "Revert "ART: Fix noreturn for Mac""
Andreas Gampe [Tue, 7 Apr 2015 03:00:11 +0000 (03:00 +0000)]
Merge "Revert "ART: Fix noreturn for Mac""

9 years agoRevert "ART: Fix noreturn for Mac"
Andreas Gampe [Tue, 7 Apr 2015 02:53:04 +0000 (02:53 +0000)]
Revert "ART: Fix noreturn for Mac"

missing-noreturn was turned off for Mac for all the
other similar warnings. Restore the cleaner header
file.

This reverts commit 79dda4251d7e3a7888e326bc7a3f069d6190d194.

Change-Id: Ia25a47533ff7848ad96e0d76e7f0ea768a48f946

9 years agoMerge "ART: Turn off missing-noreturn for Mac"
Andreas Gampe [Tue, 7 Apr 2015 02:51:52 +0000 (02:51 +0000)]
Merge "ART: Turn off missing-noreturn for Mac"

9 years agoART: Turn off missing-noreturn for Mac
Andreas Gampe [Tue, 7 Apr 2015 02:50:46 +0000 (19:50 -0700)]
ART: Turn off missing-noreturn for Mac

Too much stuff unimplemented and causing warnings.

Change-Id: I43bae875f1eca3cc24e03b0e7d6fdfd2adae0cbd

9 years agoMerge "ART: Add support for "silvermont" variant"
Andreas Gampe [Tue, 7 Apr 2015 01:07:32 +0000 (01:07 +0000)]
Merge "ART: Add support for "silvermont" variant"

9 years agoMerge "ART: Fix noreturn for Mac"
Andreas Gampe [Tue, 7 Apr 2015 00:22:38 +0000 (00:22 +0000)]
Merge "ART: Fix noreturn for Mac"

9 years agoART: Fix noreturn for Mac
Andreas Gampe [Tue, 7 Apr 2015 00:17:34 +0000 (17:17 -0700)]
ART: Fix noreturn for Mac

Change-Id: I59b60340a90672a4de4d3bdf092fa504394d5892

9 years agoMerge "Add more logging for debugging possible deadlock"
Mathieu Chartier [Tue, 7 Apr 2015 00:13:31 +0000 (00:13 +0000)]
Merge "Add more logging for debugging possible deadlock"

9 years agoAdd more logging for debugging possible deadlock
Mathieu Chartier [Tue, 7 Apr 2015 00:10:58 +0000 (17:10 -0700)]
Add more logging for debugging possible deadlock

Change-Id: I4b2db54504d3ed8c2c33a110191488cab1fcb2d9

9 years agoMerge "Prevent verified method from being deleted by compiler driver."
Jeff Hao [Mon, 6 Apr 2015 23:08:41 +0000 (23:08 +0000)]
Merge "Prevent verified method from being deleted by compiler driver."

9 years agoMerge "Fix JNI compiler for mips64"
Andreas Gampe [Mon, 6 Apr 2015 22:59:53 +0000 (22:59 +0000)]
Merge "Fix JNI compiler for mips64"

9 years agoPrevent verified method from being deleted by compiler driver.
Jeff Hao [Mon, 6 Apr 2015 21:21:37 +0000 (14:21 -0700)]
Prevent verified method from being deleted by compiler driver.

The results of it will be needed by future optimizing compiler changes.

Change-Id: Ifbdf47e7564906b74193f80a4ba0459eed87c0f7

9 years agoFix JNI compiler for mips64
Goran Jakovljevic [Fri, 3 Apr 2015 13:45:21 +0000 (15:45 +0200)]
Fix JNI compiler for mips64

Fix assembly instructions in JNI stub to store the right size. Fix
callee-saves in JNI calling convention to reflect return registers.
Fix pointer size in mips64 assembler.

Change-Id: I4eccd1f56f62fa9119918192ec424e9073398bc7

9 years agoMerge "ART: Fix gtests for missing-noreturn"
Andreas Gampe [Mon, 6 Apr 2015 22:35:41 +0000 (22:35 +0000)]
Merge "ART: Fix gtests for missing-noreturn"

9 years agoART: Fix gtests for missing-noreturn
Andreas Gampe [Mon, 6 Apr 2015 22:35:02 +0000 (15:35 -0700)]
ART: Fix gtests for missing-noreturn

gtest.h isn't sufficiently annotated.

Change-Id: I3d5fac8bcdd645227bfd7886c3aa781b225fcc9c

9 years agoMerge "ART: Make unknown variant "mips64r6" go away"
Andreas Gampe [Mon, 6 Apr 2015 21:44:50 +0000 (21:44 +0000)]
Merge "ART: Make unknown variant "mips64r6" go away"

9 years agoART: Make unknown variant "mips64r6" go away
Andreas Gampe [Mon, 6 Apr 2015 21:40:36 +0000 (14:40 -0700)]
ART: Make unknown variant "mips64r6" go away

It's the standard variant, accept it just like "default."

Change-Id: I9b600345e3e1ebfb508ffe22ddde17757be2172e

9 years agoMerge "ART: Fix no-return in sigchainlib"
Andreas Gampe [Mon, 6 Apr 2015 21:34:51 +0000 (21:34 +0000)]
Merge "ART: Fix no-return in sigchainlib"

9 years agoART: Fix no-return in sigchainlib
Andreas Gampe [Mon, 6 Apr 2015 21:33:54 +0000 (14:33 -0700)]
ART: Fix no-return in sigchainlib

Ignore warning in sigchain_dummy.

Change-Id: I2c9ed93c0125d06b6a3d4011a794b062cf1c4093

9 years agoMerge "ART: Enable more Clang warnings"
Andreas Gampe [Mon, 6 Apr 2015 21:21:05 +0000 (21:21 +0000)]
Merge "ART: Enable more Clang warnings"

9 years agoART: Enable more Clang warnings
Andreas Gampe [Mon, 6 Apr 2015 16:35:22 +0000 (09:35 -0700)]
ART: Enable more Clang warnings

Change-Id: Ie6aba02f4223b1de02530e1515c63505f37e184c

9 years agoMerge "ART: Enable Clang's -Wdeprecated"
Andreas Gampe [Mon, 6 Apr 2015 21:04:16 +0000 (21:04 +0000)]
Merge "ART: Enable Clang's -Wdeprecated"

9 years agoART: Enable Clang's -Wdeprecated
Andreas Gampe [Sat, 4 Apr 2015 04:28:42 +0000 (21:28 -0700)]
ART: Enable Clang's -Wdeprecated

Replace throw() with noexcept.

Add default copy constructors and copy assignment constructors for
cases with destructors, as the implicit definition is deprecated.

Change-Id: Ice306a3f510b072b00bec4d4360f7c8055135c9d

9 years agoMerge "ART: Add Clang's -Wused-but-marked-unused"
Andreas Gampe [Mon, 6 Apr 2015 20:36:03 +0000 (20:36 +0000)]
Merge "ART: Add Clang's -Wused-but-marked-unused"

9 years agoMerge "Refactor and improve GC root handling"
Mathieu Chartier [Mon, 6 Apr 2015 17:59:37 +0000 (17:59 +0000)]
Merge "Refactor and improve GC root handling"

9 years agoFix address formatting in Mips64 disassembler.
David Srbecky [Mon, 6 Apr 2015 17:42:26 +0000 (18:42 +0100)]
Fix address formatting in Mips64 disassembler.

Use FormatInstructionPointer like all the other disassemblers.
This ensures that the 'absolute_addresses' option is honoured.

Change-Id: I5580319cc4fad40e00f3fbbde25b142f7c689390

9 years agoRefactor and improve GC root handling
Mathieu Chartier [Fri, 3 Apr 2015 18:21:55 +0000 (11:21 -0700)]
Refactor and improve GC root handling

Changed GcRoot to use compressed references. Changed root visiting to
use virtual functions instead of function pointers. Changed root visting
interface to be an array of roots instead of a single root at a time.
Added buffered root marking helper to avoid dispatch overhead.

Root marking seems a bit faster on EvaluateAndApplyChanges due to batch
marking. Pause times unaffected.

Mips64 is untested but might work, maybe.

Before:
MarkConcurrentRoots: Sum: 67.678ms 99% C.I. 2us-664.999us Avg: 161.138us Max: 671us

After:
MarkConcurrentRoots: Sum: 54.806ms 99% C.I. 2us-499.986us Avg: 136.333us Max: 602us

Bug: 19264997

Change-Id: I0a71ebb5928f205b9b3f7945b25db6489d5657ca

9 years agoBuild 32-bit version of the disassembler as well.
David Srbecky [Mon, 6 Apr 2015 17:36:59 +0000 (18:36 +0100)]
Build 32-bit version of the disassembler as well.

Change-Id: I22ecc2611c3b05b1031b42abdb5bf8c245220e03

9 years agoMerge "Pass linker patches around as const."
Vladimir Marko [Mon, 6 Apr 2015 09:01:34 +0000 (09:01 +0000)]
Merge "Pass linker patches around as const."

9 years agoMerge "Delete missed ClampGrowthLimit CHECK"
Mathieu Chartier [Sun, 5 Apr 2015 20:21:11 +0000 (20:21 +0000)]
Merge "Delete missed ClampGrowthLimit CHECK"

9 years agoProper fix for issue 20051601 - arm actually means thumb2.
David Srbecky [Sat, 4 Apr 2015 09:15:17 +0000 (10:15 +0100)]
Proper fix for issue 20051601 - arm actually means thumb2.

Change-Id: I38e81868cbebdccec6ecbba40494612f7c1d8092

9 years agoART: Add Clang's -Wused-but-marked-unused
Andreas Gampe [Sat, 4 Apr 2015 02:41:34 +0000 (19:41 -0700)]
ART: Add Clang's -Wused-but-marked-unused

Add detection of wrong unused annotations. Fix our codebase.

Change-Id: I85cc20f2eac71c1ec6c5c7cd6efb08454a629634

9 years agoDelete missed ClampGrowthLimit CHECK
Mathieu Chartier [Sat, 4 Apr 2015 02:08:10 +0000 (19:08 -0700)]
Delete missed ClampGrowthLimit CHECK

Bug: 20043461
Change-Id: If4a0bb91c64571945756151be162f3626534781c

9 years agoMerge "Add missing RecordPcInfo's for intrinsics_x86."
Mingyao Yang [Sat, 4 Apr 2015 01:27:19 +0000 (01:27 +0000)]
Merge "Add missing RecordPcInfo's for intrinsics_x86."

9 years agoAdd missing RecordPcInfo's for intrinsics_x86.
Mingyao Yang [Sat, 4 Apr 2015 00:56:54 +0000 (17:56 -0700)]
Add missing RecordPcInfo's for intrinsics_x86.

Change-Id: I5ad856e57f63e2bd350f62e7023911c276427edd

9 years agoMerge "ART: Turn of native stack dump on x86 on-device"
Andreas Gampe [Fri, 3 Apr 2015 21:42:06 +0000 (21:42 +0000)]
Merge "ART: Turn of native stack dump on x86 on-device"

9 years agoART: Turn of native stack dump on x86 on-device
Andreas Gampe [Fri, 3 Apr 2015 21:36:07 +0000 (14:36 -0700)]
ART: Turn of native stack dump on x86 on-device

Temporary workaround for bug.

Bug: 20040863
Change-Id: Ifdde68c66b94ebc2f13c7983f38700c8bcf41559

9 years agoART: Add support for "silvermont" variant
Andreas Gampe [Fri, 3 Apr 2015 20:46:54 +0000 (13:46 -0700)]
ART: Add support for "silvermont" variant

The variant is already supported in the build system and wired up
for the Nexus Player (fugu). The values are copied from the build
system and correspond to documentation in, e.g.,
http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf
chapter 15, section 1.1.

Change-Id: I9facaa9d5b8bae3d98cf48f2969d02d11ebfe0e4

9 years agoMerge "Fix the read barrier builds."
Hiroshi Yamauchi [Fri, 3 Apr 2015 21:06:51 +0000 (21:06 +0000)]
Merge "Fix the read barrier builds."

9 years agoFix the read barrier builds.
Hiroshi Yamauchi [Fri, 3 Apr 2015 20:35:16 +0000 (13:35 -0700)]
Fix the read barrier builds.

A check failure (!UseJit() in ArtMethod::Invoke()) in forced interpret
only mode in the eng build with JIT enabled by default on target.

A build failure (inl header file issues) in the USE_BAKER_READ_BARRIER
build.

Change-Id: Ib13632b10864ad8b4691b66971c0ab5d2ae1e675

9 years agoRename isDexOptNeededInternal and add kSelfPatchOatNeeded
Richard Uhler [Tue, 24 Mar 2015 16:51:28 +0000 (09:51 -0700)]
Rename isDexOptNeededInternal and add kSelfPatchOatNeeded

This change renames isDexOptNeededInternal to getDexOptNeeded and adds
another possible result: kSelfPatchOatNeeded. kSelfPatchOatNeeded is
returned when there is no odex file to relocate from but there is an
oat file that can be relocated in place.

Change-Id: Ib9a6373f98474f1242367b5285086251a9d580e5

9 years agoMerge "Use va_list argument to abort transaction"
Sebastien Hertz [Fri, 3 Apr 2015 18:12:22 +0000 (18:12 +0000)]
Merge "Use va_list argument to abort transaction"

9 years agoMerge "Delegate SIG_DFL on sigaction to libc."
Dmitriy Ivanov [Fri, 3 Apr 2015 17:49:53 +0000 (17:49 +0000)]
Merge "Delegate SIG_DFL on sigaction to libc."

9 years agoMerge "Store OatDexFile instead of OatFile in DexFile."
Richard Uhler [Fri, 3 Apr 2015 17:47:14 +0000 (17:47 +0000)]
Merge "Store OatDexFile instead of OatFile in DexFile."

9 years agoDelegate SIG_DFL on sigaction to libc.
Dmitriy Ivanov [Fri, 3 Apr 2015 01:30:22 +0000 (18:30 -0700)]
Delegate SIG_DFL on sigaction to libc.

  In the case when user registers SIG_DFL hanlder
  sigchainlib's handler tends to go into infinite loop
  because the function handling signals resets signal
  using by calling to signchain's own implementation.

  This cl fixes the problem by passing sigcations with
  SIG_DFL to the next sigaction (usually libc's).

Bug: 19594886
Change-Id: I9eecf9afd1c7e6d1fe3cd1d4fc506383ecbebe04

9 years agoMerge "Fix a bug when creating a HDeoptimization instruction."
Nicolas Geoffray [Fri, 3 Apr 2015 17:08:52 +0000 (17:08 +0000)]
Merge "Fix a bug when creating a HDeoptimization instruction."

9 years agoMerge "ART: Avoid obvious segfault in arm & x86 fault handler"
Andreas Gampe [Fri, 3 Apr 2015 16:48:26 +0000 (16:48 +0000)]
Merge "ART: Avoid obvious segfault in arm & x86 fault handler"

9 years agoMerge "Explicitly specify the C libraries that have mallinfo(3)."
Elliott Hughes [Fri, 3 Apr 2015 15:37:00 +0000 (15:37 +0000)]
Merge "Explicitly specify the C libraries that have mallinfo(3)."

9 years agoUse va_list argument to abort transaction
Sebastien Hertz [Fri, 3 Apr 2015 14:07:05 +0000 (16:07 +0200)]
Use va_list argument to abort transaction

Creates AbortTransactionV taking a va_list argument and renames
AbortTransaction to AbortTransactionF which calls AbortTransactionV.

This fixes the compiler_driver_test under valgrind.

Change-Id: Ia1c57330091c055ae9e46585a944ce0b78864920

9 years agoFix a bug when creating a HDeoptimization instruction.
Nicolas Geoffray [Fri, 3 Apr 2015 10:02:38 +0000 (11:02 +0100)]
Fix a bug when creating a HDeoptimization instruction.

We need to copy the environment, instead of just pointing
to an existing one. Otherwise, if the instruction that initially
holds the environemnt gets removed from the graph, any update
to an instruction in that environment will not be reflected in it.

bug:20058506

Change-Id: I2a62476d0851ecbc3707c0da395d8502ee437422

9 years agoART: Avoid obvious segfault in arm & x86 fault handler
Andreas Gampe [Fri, 3 Apr 2015 09:17:06 +0000 (02:17 -0700)]
ART: Avoid obvious segfault in arm & x86 fault handler

These handlers need to read an instruction to determine where to
look for info. Don't try to read from pc=0.

Bug: 20040863
Change-Id: I38b56dc6dd806df22e608ee8d46c4091a738e4bc

9 years agoMerge "Revert "ART: Workaround for b/20019689""
Sebastien Hertz [Fri, 3 Apr 2015 08:00:37 +0000 (08:00 +0000)]
Merge "Revert "ART: Workaround for b/20019689""

9 years agoRevert "ART: Workaround for b/20019689"
Sebastien Hertz [Thu, 2 Apr 2015 09:09:04 +0000 (09:09 +0000)]
Revert "ART: Workaround for b/20019689"

This reverts commit 328dd4457632f59e67d08d9d086670b56141a4b1.

Bug: 20019689
Change-Id: Ia1087e45d1a1817b6ff4e45f8d74b84d34f078ee

9 years agoMerge "Use specific exception class to abort transaction"
Sebastien Hertz [Fri, 3 Apr 2015 07:49:44 +0000 (07:49 +0000)]
Merge "Use specific exception class to abort transaction"

9 years agoUse specific exception class to abort transaction
Sebastien Hertz [Thu, 2 Apr 2015 09:11:19 +0000 (11:11 +0200)]
Use specific exception class to abort transaction

We used to throw a java.lang.InternalError when aborting a
transaction (when preinitializing image classes at compilation time).

We now use dedicated class dalvik.system.TransactionAbortError that
is only thrown by the compiler to abort a transaction. This class has
constructors taking a java.lang.Throwable "cause" so we can wrap
exceptions causing the transaction to abort (for instance class
java.lang.ClassNotFoundException) and give more information about the
cause of the transaction abort.

Bug: 20019689
Change-Id: I019a72a1c754d8bba6a7ad6bb0f02e4fd6668622

9 years agoExplicitly specify the C libraries that have mallinfo(3).
Elliott Hughes [Fri, 3 Apr 2015 03:55:07 +0000 (20:55 -0700)]
Explicitly specify the C libraries that have mallinfo(3).

Change-Id: Ib6d22134cb246e30452a7ed9acabbde42b3ef091

9 years agoMerge "ART: Move trace options to a struct"
Andreas Gampe [Fri, 3 Apr 2015 02:03:34 +0000 (02:03 +0000)]
Merge "ART: Move trace options to a struct"

9 years agoART: Move trace options to a struct
Andreas Gampe [Fri, 3 Apr 2015 01:51:05 +0000 (18:51 -0700)]
ART: Move trace options to a struct

Bundles the different options and moves them to a struct in the
implementation file. Will allow for easier change for streaming.

Change-Id: I486e0942614e714964eb233e2d6b4e3e12aa704f

9 years agoMerge "Revert "ART: Valgrind hotfix for VIXL 1.9""
Andreas Gampe [Thu, 2 Apr 2015 23:48:54 +0000 (23:48 +0000)]
Merge "Revert "ART: Valgrind hotfix for VIXL 1.9""

9 years agoMerge "[optimizing] Implement x86/x86_64 math intrinsics"
Andreas Gampe [Thu, 2 Apr 2015 23:10:46 +0000 (23:10 +0000)]
Merge "[optimizing] Implement x86/x86_64 math intrinsics"

9 years agoMerge "Fix for issue 20051601 - ARM instruction alignment."
Andreas Gampe [Thu, 2 Apr 2015 22:49:38 +0000 (22:49 +0000)]
Merge "Fix for issue 20051601 - ARM instruction alignment."