OSDN Git Service

android-x86/art.git
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 "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 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 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 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 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 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."

9 years agoMerge "Remove version-script option"
Dmitriy Ivanov [Thu, 2 Apr 2015 22:33:25 +0000 (22:33 +0000)]
Merge "Remove version-script option"

9 years agoRemove version-script option
Dmitriy Ivanov [Wed, 1 Apr 2015 18:17:46 +0000 (11:17 -0700)]
Remove version-script option

  Version script was used to limit number of symbols
  exposed by main executable because of --export-dynamic
  option. This was overthinking on my part which can
  lead to unwanted side-effects like not working asan.

Change-Id: Iaab4d38f86ddf21357d26d21d35c9ed6e7ff989e

9 years agoPass linker patches around as const.
Vladimir Marko [Thu, 2 Apr 2015 20:25:21 +0000 (21:25 +0100)]
Pass linker patches around as const.

Change-Id: I0eabd713d29475db9eb6e186f331dbfb00e0cf6b

9 years agoMerge "Split RelativePatcher::ReserveSpace() into two."
Vladimir Marko [Thu, 2 Apr 2015 19:51:49 +0000 (19:51 +0000)]
Merge "Split RelativePatcher::ReserveSpace() into two."

9 years agoFix for issue 20051601 - ARM instruction alignment.
David Srbecky [Thu, 2 Apr 2015 19:38:40 +0000 (20:38 +0100)]
Fix for issue 20051601 - ARM instruction alignment.

The instructions do not have to be 4 byte aligned.

Change-Id: I58078a15190b835601094611ed01a599e2d99563

9 years agoSplit RelativePatcher::ReserveSpace() into two.
Vladimir Marko [Thu, 2 Apr 2015 18:45:06 +0000 (19:45 +0100)]
Split RelativePatcher::ReserveSpace() into two.

Instead of passing nullptr and MethodReference(nullptr, 0u)
to ReserveSpace() at the end, call a newly created function
ReserveSpaceEnd().

Change-Id: I38815fe9464b4e1a919878b6e8577614f1058d00

9 years agoMerge "Add tests for Arm64RelativePatcher."
Vladimir Marko [Thu, 2 Apr 2015 19:07:17 +0000 (19:07 +0000)]
Merge "Add tests for Arm64RelativePatcher."

9 years agoMerge "Fix race with Heap::ClampGrowthLimit and GC"
Mathieu Chartier [Thu, 2 Apr 2015 18:11:02 +0000 (18:11 +0000)]
Merge "Fix race with Heap::ClampGrowthLimit and GC"

9 years agoFix race with Heap::ClampGrowthLimit and GC
Mathieu Chartier [Thu, 2 Apr 2015 17:08:03 +0000 (10:08 -0700)]
Fix race with Heap::ClampGrowthLimit and GC

Aded logic for handling the temp bitmap if the GC is running and
the live bitmap is clamped to the mark bitmap. This fixes the SIGABRT
from ClampGrowthLimit if the GC clamped the bitmaps at this point.

Also added locking of the heap_bitmap_lock_ so that added a lock so
that the temp bitmap doesn't change from underneath us.

Bug: 20043461

Change-Id: Ib427e40bcdf149de0408b4b53e6524f51463f0af

9 years agoAdd tests for Arm64RelativePatcher.
Vladimir Marko [Thu, 2 Apr 2015 14:28:45 +0000 (15:28 +0100)]
Add tests for Arm64RelativePatcher.

Change-Id: I9d2c21d323137ac143eabb8fdf6ca075bae45c51

9 years agoStore OatDexFile instead of OatFile in DexFile.
Richard Uhler [Tue, 31 Mar 2015 22:57:54 +0000 (15:57 -0700)]
Store OatDexFile instead of OatFile in DexFile.

This requires moving OatDexFile out of the OatFile class so that
a forward class declaration can be used for OatDexFile.

Bug: 19071355
Change-Id: Ibda85b78d0577e9e81073090616fc0f2fa526be3

9 years agoMerge "Update dexfuzz after optimizing default selection."
Andreas Gampe [Thu, 2 Apr 2015 16:41:58 +0000 (16:41 +0000)]
Merge "Update dexfuzz after optimizing default selection."

9 years agoRevert "ART: Valgrind hotfix for VIXL 1.9"
Serban Constantinescu [Thu, 2 Apr 2015 11:27:30 +0000 (12:27 +0100)]
Revert "ART: Valgrind hotfix for VIXL 1.9"

Fixed in external/vixl and upstream VIXL.

Change-Id: I7d1901da06a7c1517c88a2583bc668a3e23ef852

9 years agoMerge "Add tests for Thumb2RelativePatcher."
Vladimir Marko [Thu, 2 Apr 2015 15:46:31 +0000 (15:46 +0000)]
Merge "Add tests for Thumb2RelativePatcher."

9 years agoAdd tests for Thumb2RelativePatcher.
Vladimir Marko [Wed, 1 Apr 2015 22:03:09 +0000 (23:03 +0100)]
Add tests for Thumb2RelativePatcher.

Also make the thumb2/arm64 thunk allocation precise instead
of eagerly allocating thunk space. This allows the calls to
use the maximum positive offset.

Change-Id: Ifa95b0bb00bd73eeab0c2905d21e2f3078f4b0a8

9 years agoMerge "Write .debug_line section using the new DWARF library."
David Srbecky [Thu, 2 Apr 2015 14:12:01 +0000 (14:12 +0000)]
Merge "Write .debug_line section using the new DWARF library."

9 years agoMerge "Refactor RelativePatcher out of OatWriter."
Vladimir Marko [Thu, 2 Apr 2015 12:46:16 +0000 (12:46 +0000)]
Merge "Refactor RelativePatcher out of OatWriter."

9 years agoMerge "PC-relative loads from dex cache arrays for x86-64."
Vladimir Marko [Thu, 2 Apr 2015 12:44:49 +0000 (12:44 +0000)]
Merge "PC-relative loads from dex cache arrays for x86-64."

9 years agoUpdate dexfuzz after optimizing default selection.
Stephen Kyle [Fri, 27 Mar 2015 18:50:10 +0000 (18:50 +0000)]
Update dexfuzz after optimizing default selection.

Now that the optimizing compiler is the default backend, the quick
compiler must be explicitly selected as an argument.

Change-Id: I5e6b8e6a79432118e0a91c9aea85bdd9cd7305dc

9 years agoRefactor RelativePatcher out of OatWriter.
Vladimir Marko [Tue, 31 Mar 2015 20:49:49 +0000 (21:49 +0100)]
Refactor RelativePatcher out of OatWriter.

Move the relative patcher classes to compiler/linker/ and
compiler/linker/<arch>/ . Refactor them to avoid OatWriter
dependency so that they can be unit tested. Add tests for
x86 and x86-64.

Change-Id: I1b42baa9fc431378e4cce1399bec590c5b5a409f

9 years agoMerge "Move the "huge method" test into its own test case."
Roland Levillain [Thu, 2 Apr 2015 11:36:15 +0000 (11:36 +0000)]
Merge "Move the "huge method" test into its own test case."

9 years agoMove the "huge method" test into its own test case.
Roland Levillain [Thu, 2 Apr 2015 10:24:43 +0000 (11:24 +0100)]
Move the "huge method" test into its own test case.

Change-Id: Icd7c95d2a7a0cacf15f079eed38c5d1a8f138b3f

9 years agoPC-relative loads from dex cache arrays for x86-64.
Vladimir Marko [Fri, 27 Mar 2015 18:18:36 +0000 (18:18 +0000)]
PC-relative loads from dex cache arrays for x86-64.

Change-Id: I6cfe22c7e69512b3c0f95b073aaa572db74ec189

9 years agoMerge "Switch to shared libcutils on host to fix odr-violation"
Brian Carlstrom [Thu, 2 Apr 2015 07:51:06 +0000 (07:51 +0000)]
Merge "Switch to shared libcutils on host to fix odr-violation"

9 years agoSwitch to shared libcutils on host to fix odr-violation
Brian Carlstrom [Thu, 2 Apr 2015 07:04:09 +0000 (00:04 -0700)]
Switch to shared libcutils on host to fix odr-violation

Change-Id: Ia8eb950806a09e12fec2956d51eff99852920bee
SUMMARY: AddressSanitizer: odr-violation: global atrace_is_ready at system/core/libcutils/trace-host.c:23:25

9 years agoMerge "Revert "Revert "Deoptimization-based bce."""
Mingyao Yang [Wed, 1 Apr 2015 23:15:52 +0000 (23:15 +0000)]
Merge "Revert "Revert "Deoptimization-based bce."""

9 years agoMerge "CanThrow() of HNewArray should return true."
Mingyao Yang [Wed, 1 Apr 2015 22:08:37 +0000 (22:08 +0000)]
Merge "CanThrow() of HNewArray should return true."

9 years agoMerge "Clean up some RecordPcInfo in x86 slow paths."
Mingyao Yang [Wed, 1 Apr 2015 22:07:15 +0000 (22:07 +0000)]
Merge "Clean up some RecordPcInfo in x86 slow paths."

9 years agoCanThrow() of HNewArray should return true.
Mingyao Yang [Tue, 31 Mar 2015 22:09:29 +0000 (15:09 -0700)]
CanThrow() of HNewArray should return true.

Change-Id: I9950f1c391dfeb26cf59cee769705d01d8e283d5

9 years agoMerge "ART: Fix unstarted runtime"
Andreas Gampe [Wed, 1 Apr 2015 21:54:08 +0000 (21:54 +0000)]
Merge "ART: Fix unstarted runtime"

9 years agoART: Fix unstarted runtime
Andreas Gampe [Wed, 1 Apr 2015 21:49:06 +0000 (14:49 -0700)]
ART: Fix unstarted runtime

Correctly delete local refs for dex/direct-byte-buffer.

Change-Id: Ia74dfafb959d69aa281af7316f393997e053a3b3

9 years agoMerge "ART: Workaround for b/20019689"
Andreas Gampe [Wed, 1 Apr 2015 21:29:46 +0000 (21:29 +0000)]
Merge "ART: Workaround for b/20019689"

9 years agoART: Workaround for b/20019689
Andreas Gampe [Wed, 1 Apr 2015 21:28:09 +0000 (14:28 -0700)]
ART: Workaround for b/20019689

Don't throw InternalError as wrapped for now, swallowing the
original exception.

Bug: 20019689
Change-Id: I77a56262304b09b326232bee0c7916bb73401d74

9 years agoMerge "Opt compiler: Fix move from constant."
Nicolas Geoffray [Wed, 1 Apr 2015 21:27:40 +0000 (21:27 +0000)]
Merge "Opt compiler: Fix move from constant."

9 years agoRevert "Revert "Deoptimization-based bce.""
Mingyao Yang [Wed, 1 Apr 2015 21:03:04 +0000 (14:03 -0700)]
Revert "Revert "Deoptimization-based bce.""

This reverts commit 0ba627337274ccfb8c9cb9bf23fffb1e1b9d1430.

Change-Id: I1ca10d15bbb49897a0cf541ab160431ec180a006

9 years agoMerge "ART: Set default prune counter to 10"
Andreas Gampe [Wed, 1 Apr 2015 19:50:15 +0000 (19:50 +0000)]
Merge "ART: Set default prune counter to 10"

9 years agoMerge "Adds host execution to dexfuzz."
Calin Juravle [Wed, 1 Apr 2015 19:48:39 +0000 (19:48 +0000)]
Merge "Adds host execution to dexfuzz."

9 years agoMerge "Fix test 421-large-frame."
Roland Levillain [Wed, 1 Apr 2015 19:06:33 +0000 (19:06 +0000)]
Merge "Fix test 421-large-frame."

9 years agoFix test 421-large-frame.
Roland Levillain [Wed, 1 Apr 2015 18:54:39 +0000 (19:54 +0100)]
Fix test 421-large-frame.

- Don't force the optimizing compiler to compile a huge
  method by reducing the number of local variables and
  instructions in Main.$opt$LargeFrame.
- Prevent the optimizing compiler from "optimizing too much"
  (through constant folding and inlining), so as to preserve
  a large stack frame in Main.$opt$LargeFrame.
- Keep the original huge method (without the $opt$ marker)
  as Main.HugeFrame.

Bug: 20020727
Change-Id: I49bf8f03146020bd94bd392684e605d7bb6daf1e

9 years agoMerge "Fix formatting"
Dmitriy Ivanov [Wed, 1 Apr 2015 18:25:34 +0000 (18:25 +0000)]
Merge "Fix formatting"

9 years agoFix formatting
Dmitriy Ivanov [Wed, 1 Apr 2015 18:08:45 +0000 (11:08 -0700)]
Fix formatting

Change-Id: Id64aad5de1f911ac7e747788d586bac397f34f18

9 years agoMerge "ART: Regression test for condition materialization bug"
David Brazdil [Wed, 1 Apr 2015 17:42:59 +0000 (17:42 +0000)]
Merge "ART: Regression test for condition materialization bug"

9 years agoART: Regression test for condition materialization bug
David Brazdil [Wed, 1 Apr 2015 17:34:33 +0000 (18:34 +0100)]
ART: Regression test for condition materialization bug

This adds a regression test previously omitted in a hotfix.

Bug: 19999189
Change-Id: I02acb935960f22028bf877cd270b04e17515068f

9 years agoMerge "ART: Materialize constants on environment use"
David Brazdil [Wed, 1 Apr 2015 16:07:58 +0000 (16:07 +0000)]
Merge "ART: Materialize constants on environment use"

9 years agoART: Materialize constants on environment use
David Brazdil [Wed, 1 Apr 2015 16:00:59 +0000 (17:00 +0100)]
ART: Materialize constants on environment use

The decision whether to materialize constants assumed that they cannot
be used by an environment. This changed with introduction of the
boolean simplifier and manifested itself when environment uses became
included in liveness analysis. This patch fixes the issue.

This is a quick fix to unblock the build, test will follow.

Bug: 19999189
Change-Id: Iedb1e3a32073a75b9c0d041a88b8ae640e064d13

9 years ago[optimizing] Implement x86/x86_64 math intrinsics
Mark Mendell [Wed, 1 Apr 2015 02:16:59 +0000 (22:16 -0400)]
[optimizing] Implement x86/x86_64 math intrinsics

Implement floor/ceil/round/RoundFloat on x86 and x86_64.
Implement RoundDouble on x86_64.

Add support for roundss and roundsd on both architectures.  Support them
in the disassembler as well.

Add the instruction set features for x86, as the 'round' instruction is
only supported if SSE4.1 is supported.

Fix the tests to handle the addition of passing the instruction set
features to x86 and x86_64.

Add assembler tests for roundsd and roundss to x86_64 assembler tests.

Change-Id: I9742d5930befb0bbc23f3d6c83ce0183ed9fe04f
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoWrite .debug_line section using the new DWARF library.
David Srbecky [Mon, 30 Mar 2015 13:21:42 +0000 (14:21 +0100)]
Write .debug_line section using the new DWARF library.

Also simplify dex to java mapping and handle mapping
in prologues and epilogues.

Change-Id: I410f06024580f2a8788f2c93fe9bca132805029a

9 years agoMerge "ART: Same skip-compilation heuristic in both backends"
David Brazdil [Wed, 1 Apr 2015 09:03:28 +0000 (09:03 +0000)]
Merge "ART: Same skip-compilation heuristic in both backends"

9 years agoMerge "ART: Valgrind hotfix for VIXL 1.9"
Andreas Gampe [Wed, 1 Apr 2015 07:39:15 +0000 (07:39 +0000)]
Merge "ART: Valgrind hotfix for VIXL 1.9"

9 years agoART: Valgrind hotfix for VIXL 1.9
Andreas Gampe [Wed, 1 Apr 2015 07:36:42 +0000 (00:36 -0700)]
ART: Valgrind hotfix for VIXL 1.9

Make sure recommended_checkpoint_ is initialized in the VIXL macro
assembler by calling EmitLiteralPool with an empty pool.

Change-Id: I08589b8fb092a33a8f4aad824e91b5c16ff761b6

9 years agoMerge "ARM64: Update to VIXL 1.9."
Andreas Gampe [Wed, 1 Apr 2015 03:51:24 +0000 (03:51 +0000)]
Merge "ARM64: Update to VIXL 1.9."

9 years agoART: Set default prune counter to 10
Andreas Gampe [Tue, 31 Mar 2015 21:54:03 +0000 (14:54 -0700)]
ART: Set default prune counter to 10

By default, prune cache at boot after ten failed boots.

Bug: 19983101
Change-Id: Ib88f807e0082d71292c14c7af38e02cca5a5602c

9 years agoClean up some RecordPcInfo in x86 slow paths.
Mingyao Yang [Wed, 1 Apr 2015 00:03:08 +0000 (17:03 -0700)]
Clean up some RecordPcInfo in x86 slow paths.

Calling codegen->RecordPcInfo() is likely to miss the third argument which
is the slow path. And can cause deopt bugs later.

The change calls the slow path's version of RecordPcInfo() in slow paths
consistently.

Change-Id: I41605f1b06ee2c6d3d7ffd5aa0c1366940b5a029

9 years agoMerge "Only GC the first time we call PreZygoteFork"
Mathieu Chartier [Tue, 31 Mar 2015 23:40:11 +0000 (23:40 +0000)]
Merge "Only GC the first time we call PreZygoteFork"

9 years agoOnly GC the first time we call PreZygoteFork
Mathieu Chartier [Tue, 31 Mar 2015 23:28:53 +0000 (16:28 -0700)]
Only GC the first time we call PreZygoteFork

PreZygoteFork is called for every app launch, it is overkill to GC
each time since it takes 20-30ms and blocks app launch for that long.

Change-Id: I647c8ccca767ceca67a006c1d80a739c7860f0d0

9 years agoMerge "Visit image roots for hprof"
Mathieu Chartier [Tue, 31 Mar 2015 23:20:41 +0000 (23:20 +0000)]
Merge "Visit image roots for hprof"

9 years agoVisit image roots for hprof
Mathieu Chartier [Tue, 31 Mar 2015 19:05:24 +0000 (12:05 -0700)]
Visit image roots for hprof

Bug: 19995360

(cherry picked from commit 0cab5e68f14ee403380664146db6dc7ddfc32064)

Change-Id: I17868bff2a701dc25291d41b9732c6b86f92be08

9 years agoMerge "Fix lint error."
Nicolas Geoffray [Tue, 31 Mar 2015 22:07:29 +0000 (22:07 +0000)]
Merge "Fix lint error."