OSDN Git Service

android-x86/art.git
10 years agoFurther refine gtest dependencies.
Brian Carlstrom [Wed, 25 Jun 2014 20:23:00 +0000 (13:23 -0700)]
Further refine gtest dependencies.

(cherry picked from commit 4ac5c69266a7deab188e65df0e528eadc66e1c06)

Change-Id: I3603776efbc697bae21e79f6976afbd21baf150d

10 years agoMerge "Copyright assignment"
Andreas Gampe [Wed, 25 Jun 2014 20:39:13 +0000 (20:39 +0000)]
Merge "Copyright assignment"

10 years agoCopyright assignment
Bernhard Rosenkraenzer [Wed, 25 Jun 2014 20:36:44 +0000 (22:36 +0200)]
Copyright assignment

Reassign the copyright on the Linaro-written file to the
Android Open Source Project

Change-Id: I0194056207567f51950c5a3acc46857409c66727
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
10 years agoMerge "Fix the Mac build on x86-64."
Ian Rogers [Wed, 25 Jun 2014 18:59:31 +0000 (18:59 +0000)]
Merge "Fix the Mac build on x86-64."

10 years agoFix the Mac build on x86-64.
Ian Rogers [Wed, 25 Jun 2014 18:52:14 +0000 (11:52 -0700)]
Fix the Mac build on x86-64.

Change-Id: I4ed3783a96d844de0b0a295df26d0a48c02a3726

10 years agoMerge "Weaken condition to dump a thread's stack in a debug build."
Ian Rogers [Wed, 25 Jun 2014 06:22:30 +0000 (06:22 +0000)]
Merge "Weaken condition to dump a thread's stack in a debug build."

10 years agoWeaken condition to dump a thread's stack in a debug build.
Ian Rogers [Wed, 25 Jun 2014 05:48:01 +0000 (22:48 -0700)]
Weaken condition to dump a thread's stack in a debug build.

If the current thread isn't suspended its also ok to dump the stack.
Bug: 14229281

Change-Id: I2810ea79bc4330bb6e9616436d74076b5997c20b

10 years agoMerge "Define run-test targets."
Ian Rogers [Wed, 25 Jun 2014 06:21:28 +0000 (06:21 +0000)]
Merge "Define run-test targets."

10 years agoDefine run-test targets.
Ian Rogers [Wed, 25 Jun 2014 06:15:34 +0000 (23:15 -0700)]
Define run-test targets.

Addressing review comment on https://android-review.googlesource.com/#/c/98456/11

Change-Id: I6ad031dcf53b63506ebb738e9c26cc15f0f10107

10 years agoMerge "x86_64: Fix wide argument increment"
Ian Rogers [Wed, 25 Jun 2014 05:27:36 +0000 (05:27 +0000)]
Merge "x86_64: Fix wide argument increment"

10 years agoMerge "x86_64: int-to-long should ensure that int in kCoreReg"
Ian Rogers [Wed, 25 Jun 2014 05:11:55 +0000 (05:11 +0000)]
Merge "x86_64: int-to-long should ensure that int in kCoreReg"

10 years agox86_64: int-to-long should ensure that int in kCoreReg
Serguei Katkov [Tue, 24 Jun 2014 17:25:35 +0000 (00:25 +0700)]
x86_64: int-to-long should ensure that int in kCoreReg

it is possible that int in xmm so implementation of int-to-long
should ensure that src in core reg before usage of move with
sign extension which does not support xmm case.

Change-Id: Ibab9df7564f0f1c1f3e1f5ff67c38f1a5e3cdb69
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoMerge "Fix various test dependencies."
Ian Rogers [Wed, 25 Jun 2014 04:45:01 +0000 (04:45 +0000)]
Merge "Fix various test dependencies."

10 years agoFix various test dependencies.
Ian Rogers [Wed, 25 Jun 2014 04:34:09 +0000 (21:34 -0700)]
Fix various test dependencies.

Change-Id: I2e4761f4cc061f74319a7b64ebe67c553d5297df

10 years agox86_64: Fix wide argument increment
Chao-ying Fu [Tue, 24 Jun 2014 20:24:36 +0000 (13:24 -0700)]
x86_64: Fix wide argument increment

This patch fixes to always increment the index for a wide argument,
and fixes the index upper bound.
Otherwise, the mapping may be incorrect.

Change-Id: I0116d8fd0a0a5c1270a23129c73a9e3651132977
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoMerge "Multilib ART host."
Ian Rogers [Tue, 24 Jun 2014 23:48:11 +0000 (23:48 +0000)]
Merge "Multilib ART host."

10 years agoMultilib ART host.
Ian Rogers [Tue, 17 Jun 2014 15:21:54 +0000 (08:21 -0700)]
Multilib ART host.

Build ART for the host as a multilib project with dalvikvm32 and dalvikvm64
running as 32 or 64-bit repsectfully. Note, currently multilib host builds
are not the default, you make the so by setting BUILD_HOST_64bit=1.
Extend tests to execute in both 32 and 64-bit modes. By default both 32 and
64-bit tests are run, add 32 or 64 to the end of a test name to run it in
purely that flavor.
Given the extra spam, modify oat tests to only generate console output when
the test fails.
Change the test harness so that common commands are run when a test should be
skipped, when it passes or when it fails. Use these commands to generate a
summary of passing, skipped and failing tests. Tests will be skipped if they
are known to be broken or if a test has already failed. Setting the variable
TEST_ART_KEEP_GOING=true will force working tests not to be skipped.
In this change all tests running on the optimizing compiler are marked broken
due to breakages running them in a multilib environment.
Break apart Android.common.mk into its constituent parts, along with other
pieces of reorganization.

Stylistic nit, we refer to make rule targets as targets thereby overloading
the term target. While consistent with make's terminology, its confusing with
the Android notion of target. I've switched to just calling targets rules to
avoid confusion in host tests.

Change-Id: I5190fc3de46800a949fbb06b3f4c258ca89ccde9

10 years agoMerge "AArch64: Add memcmp.S for Arm64."
Andreas Gampe [Tue, 24 Jun 2014 23:27:32 +0000 (23:27 +0000)]
Merge "AArch64: Add memcmp.S for Arm64."

10 years agoMerge "Add more read barriers to the class linker."
Hiroshi Yamauchi [Tue, 24 Jun 2014 22:34:17 +0000 (22:34 +0000)]
Merge "Add more read barriers to the class linker."

10 years agoAdd more read barriers to the class linker.
Hiroshi Yamauchi [Tue, 24 Jun 2014 21:31:37 +0000 (14:31 -0700)]
Add more read barriers to the class linker.

This change makes it possible to concurrently scan the remaining roots
in the class linker (the non-class-table roots that are visited by
ClassLinker::VisitRoots()) by adding read barriers.

Bug: 12687968
Change-Id: I66fecf7a303eee7537429e018f38da8270b18c67

10 years agoMerge "More advanced timing loggers."
Mathieu Chartier [Tue, 24 Jun 2014 22:30:11 +0000 (22:30 +0000)]
Merge "More advanced timing loggers."

10 years agoMore advanced timing loggers.
Mathieu Chartier [Fri, 20 Jun 2014 17:37:54 +0000 (10:37 -0700)]
More advanced timing loggers.

The new timing loggers have lower overhead since they only push into
a vector. The new format has two types, a start timing and a stop
timing. You can thing of these as brackets associated with a
timestamp. It uses these to construct various statistics when needed,
such as: Total time, exclusive time, and nesting depth.

Changed PrettyDuration to have a default of 3 digits after the decimal
point.

Exaple of a GC dump with exclusive / total times and indenting:
I/art     (23546): GC iteration timing logger [Exclusive time] [Total time]
I/art     (23546):   0ms InitializePhase
I/art     (23546):   0.305ms/167.746ms MarkingPhase
I/art     (23546):     0ms BindBitmaps
I/art     (23546):     0ms FindDefaultSpaceBitmap
I/art     (23546):     0ms/1.709ms ProcessCards
I/art     (23546):       0.183ms ImageModUnionClearCards
I/art     (23546):       0.916ms ZygoteModUnionClearCards
I/art     (23546):       0.610ms AllocSpaceClearCards
I/art     (23546):       1.373ms AllocSpaceClearCards
I/art     (23546):     0.305ms/6.318ms MarkRoots
I/art     (23546):       2.106ms MarkRootsCheckpoint
I/art     (23546):       0.153ms MarkNonThreadRoots
I/art     (23546):       4.287ms MarkConcurrentRoots
I/art     (23546):     43.461ms UpdateAndMarkImageModUnionTable
I/art     (23546):     0ms/112.712ms RecursiveMark
I/art     (23546):       112.712ms ProcessMarkStack
I/art     (23546):     0.610ms/2.777ms PreCleanCards
I/art     (23546):       0.305ms/0.855ms ProcessCards
I/art     (23546):         0.153ms ImageModUnionClearCards
I/art     (23546):         0.610ms ZygoteModUnionClearCards
I/art     (23546):         0.610ms AllocSpaceClearCards
I/art     (23546):         0.549ms AllocSpaceClearCards
I/art     (23546):       0.549ms MarkRootsCheckpoint
I/art     (23546):       0.610ms MarkNonThreadRoots
I/art     (23546):       0ms MarkConcurrentRoots
I/art     (23546):       0.610ms ScanGrayImageSpaceObjects
I/art     (23546):       0.305ms ScanGrayZygoteSpaceObjects
I/art     (23546):       0.305ms ScanGrayAllocSpaceObjects
I/art     (23546):       1.129ms ScanGrayAllocSpaceObjects
I/art     (23546):       0ms ProcessMarkStack
I/art     (23546):   0ms/0.977ms (Paused)PausePhase
I/art     (23546):     0.244ms ReMarkRoots
I/art     (23546):     0.672ms (Paused)ScanGrayObjects
I/art     (23546):     0ms (Paused)ProcessMarkStack
I/art     (23546):     0ms/0.610ms SwapStacks
I/art     (23546):       0.610ms RevokeAllThreadLocalAllocationStacks
I/art     (23546):     0ms PreSweepingGcVerification
I/art     (23546):   0ms/10.621ms ReclaimPhase
I/art     (23546):     0.610ms/0.702ms ProcessReferences
I/art     (23546):       0.214ms/0.641ms EnqueueFinalizerReferences
I/art     (23546):         0.427ms ProcessMarkStack
I/art     (23546):     0.488ms SweepSystemWeaks
I/art     (23546):     0.824ms/9.400ms Sweep
I/art     (23546):       0ms SweepMallocSpace
I/art     (23546):       0.214ms SweepZygoteSpace
I/art     (23546):       0.122ms SweepMallocSpace
I/art     (23546):       6.226ms SweepMallocSpace
I/art     (23546):       0ms SweepMallocSpace
I/art     (23546):       2.144ms SweepLargeObjects
I/art     (23546):     0.305ms SwapBitmaps
I/art     (23546):     0ms UnBindBitmaps
I/art     (23546):   0.275ms FinishPhase
I/art     (23546): GC iteration timing logger: end, 178.971ms

Change-Id: Ia55b65609468f212b3cd65cda66b843da42be645

10 years agoMerge "Add logging to monitor deflation."
Mathieu Chartier [Tue, 24 Jun 2014 22:00:32 +0000 (22:00 +0000)]
Merge "Add logging to monitor deflation."

10 years agoAdd logging to monitor deflation.
Mathieu Chartier [Tue, 24 Jun 2014 18:21:59 +0000 (11:21 -0700)]
Add logging to monitor deflation.

Change-Id: I0251ff19e0a3c3b9edc7c7e296f15eb3229f8f7c

10 years agoMerge "Really use GCC for ARM64"
Sebastien Hertz [Wed, 25 Jun 2014 17:27:31 +0000 (17:27 +0000)]
Merge "Really use GCC for ARM64"

10 years agoReally use GCC for ARM64
Sebastien Hertz [Wed, 25 Jun 2014 16:50:01 +0000 (18:50 +0200)]
Really use GCC for ARM64

Restores change https://android-review.googlesource.com/98911 lost in change
https://android-review.googlesource.com/98456.

Change-Id: Ie11f807c554dbfa812a70b8a183966f388018276

10 years agoMerge "Address comments on change 45d26c86b00580593067ca42091ad66cf7dc4f7c"
Brian Carlstrom [Wed, 25 Jun 2014 16:57:09 +0000 (16:57 +0000)]
Merge "Address comments on change 45d26c86b00580593067ca42091ad66cf7dc4f7c"

10 years agoAddress comments on change 45d26c86b00580593067ca42091ad66cf7dc4f7c
Brian Carlstrom [Wed, 25 Jun 2014 16:30:52 +0000 (09:30 -0700)]
Address comments on change 45d26c86b00580593067ca42091ad66cf7dc4f7c

Change-Id: Ibb559ae41654660064f4a8df71274c4e4f16807a

10 years agoMerge "Treat larger than jint capacity in NewDirectByteBuffer as an error"
Brian Carlstrom [Wed, 25 Jun 2014 16:29:31 +0000 (16:29 +0000)]
Merge "Treat larger than jint capacity in NewDirectByteBuffer as an error"

10 years agoTreat larger than jint capacity in NewDirectByteBuffer as an error
Brian Carlstrom [Wed, 25 Jun 2014 06:36:28 +0000 (23:36 -0700)]
Treat larger than jint capacity in NewDirectByteBuffer as an error

Bug: 15854028
Change-Id: If78921f4ba2b38a9d0bb421acf9c8bca962ed42a

10 years agoMerge "Fix names of TEST_ART_TIMING_SENSITIVE_RUN_TESTS"
Brian Carlstrom [Wed, 25 Jun 2014 08:43:53 +0000 (08:43 +0000)]
Merge "Fix names of TEST_ART_TIMING_SENSITIVE_RUN_TESTS"

10 years agoFix names of TEST_ART_TIMING_SENSITIVE_RUN_TESTS
Brian Carlstrom [Wed, 25 Jun 2014 08:39:05 +0000 (01:39 -0700)]
Fix names of TEST_ART_TIMING_SENSITIVE_RUN_TESTS

(cherry picked from commit c87deb01815638c69e30fa6787b0a9ea91ea8c29)

Change-Id: Iceff40c3bd22b5dacbdc9550ec894003c758fd86

10 years agoMerge "Add libjavacore dependency for oat tests"
Brian Carlstrom [Wed, 25 Jun 2014 08:15:52 +0000 (08:15 +0000)]
Merge "Add libjavacore dependency for oat tests"

10 years agoAdd libjavacore dependency for oat tests
Brian Carlstrom [Wed, 25 Jun 2014 07:57:36 +0000 (00:57 -0700)]
Add libjavacore dependency for oat tests

(cherry picked from commit 979942f123a2a9d1949f8be6672ff14101d9f214)

Change-Id: I8f29665259634226ed78fb26b35fb92323310698

10 years agoMerge "Revert "Re-enable tests with the optimizing compiler.""
Nicolas Geoffray [Wed, 25 Jun 2014 14:15:46 +0000 (14:15 +0000)]
Merge "Revert "Re-enable tests with the optimizing compiler.""

10 years agoRevert "Re-enable tests with the optimizing compiler."
Nicolas Geoffray [Wed, 25 Jun 2014 14:15:06 +0000 (14:15 +0000)]
Revert "Re-enable tests with the optimizing compiler."

This reverts commit 20550910e608ed7d86db97927d2ce9d2191061a4.

Change-Id: Ic28b719946c795378838a18162a2a2b2cf41a0e8

10 years agoRe-enable tests with the optimizing compiler.
Nicolas Geoffray [Wed, 25 Jun 2014 13:35:34 +0000 (14:35 +0100)]
Re-enable tests with the optimizing compiler.

Tests run ok on my host/target. I reverted the move to
using thumb2, because tests were crashing. But I could not
reproduce file limits issues.

Change-Id: I26bc4ec1eb6c227750d11210e012d9d3b1d824af

10 years agoMerge "Fix test-art-target error"
Nicolas Geoffray [Wed, 25 Jun 2014 13:14:06 +0000 (13:14 +0000)]
Merge "Fix test-art-target error"

10 years agoFix test-art-target error
Brian Carlstrom [Wed, 25 Jun 2014 09:15:31 +0000 (02:15 -0700)]
Fix test-art-target error

Change-Id: If1f800a056b3f95252037163784ab3ae26d9fa6d

10 years agoMerge "Fix a bug in LiveInterval::FirstRegisterUseAfter."
Nicolas Geoffray [Wed, 25 Jun 2014 13:13:46 +0000 (13:13 +0000)]
Merge "Fix a bug in LiveInterval::FirstRegisterUseAfter."

10 years agoFix a bug in LiveInterval::FirstRegisterUseAfter.
Nicolas Geoffray [Thu, 19 Jun 2014 16:06:46 +0000 (17:06 +0100)]
Fix a bug in LiveInterval::FirstRegisterUseAfter.

Since the use list is shared amongst siblings, we must stop looking
for the user once we have reached the end position of the current
interval. The next uses are for the next sibling.

Change-Id: Ibba180161e94a705e2034abd0b95a29347950257

10 years agoMerge "Re-enable tests with the optimizing compiler."
Nicolas Geoffray [Wed, 25 Jun 2014 13:38:48 +0000 (13:38 +0000)]
Merge "Re-enable tests with the optimizing compiler."

10 years agoMerge "Use reader lock of bulk free lock when not freeing."
Mathieu Chartier [Tue, 24 Jun 2014 01:35:59 +0000 (01:35 +0000)]
Merge "Use reader lock of bulk free lock when not freeing."

10 years agoUse reader lock of bulk free lock when not freeing.
Mathieu Chartier [Tue, 24 Jun 2014 00:53:09 +0000 (17:53 -0700)]
Use reader lock of bulk free lock when not freeing.

Should help reduce contention observed in systrace.

Change-Id: Iadb81728d4ba797c3a68acea795b15d7f212e89b

10 years agoMerge "Fix implicit check option handling for non-cross-compiles"
Dave Allison [Mon, 23 Jun 2014 22:34:11 +0000 (22:34 +0000)]
Merge "Fix implicit check option handling for non-cross-compiles"

10 years agoFix implicit check option handling for non-cross-compiles
Dave Allison [Mon, 23 Jun 2014 21:46:53 +0000 (14:46 -0700)]
Fix implicit check option handling for non-cross-compiles

This fixes an issue where the compiler was not being told to
generate implicit checks but the runtime was expecting them.

Bug: 15747876
Change-Id: I65e7475bac245c44d5094eb666d67bc1af327ab1

10 years agoMerge "Fixed ImageWriter timings not being written out."
Brian Carlstrom [Tue, 24 Jun 2014 19:16:20 +0000 (19:16 +0000)]
Merge "Fixed ImageWriter timings not being written out."

10 years agoFixed ImageWriter timings not being written out.
Alex Light [Tue, 24 Jun 2014 17:27:40 +0000 (10:27 -0700)]
Fixed ImageWriter timings not being written out.

During host runs of dex2oat the timings for ImageWriter would not be
written out.

Change-Id: I74ce8bae724d1e732a6a1efb1c82804473081693

10 years agoMerge "Revert "ART: Split out more cases of Load/StoreRef, volatile as parameter""
Andreas Gampe [Tue, 24 Jun 2014 18:44:29 +0000 (18:44 +0000)]
Merge "Revert "ART: Split out more cases of Load/StoreRef, volatile as parameter""

10 years agoRevert "ART: Split out more cases of Load/StoreRef, volatile as parameter"
Andreas Gampe [Tue, 24 Jun 2014 18:42:06 +0000 (18:42 +0000)]
Revert "ART: Split out more cases of Load/StoreRef, volatile as parameter"

This reverts commit 2689fbad6b5ec1ae8f8c8791a80c6fd3cf24144d.

Breaks the build.

Change-Id: I9faad4e9a83b32f5f38b2ef95d6f9a33345efa33

10 years agoMerge "ART: Split out more cases of Load/StoreRef, volatile as parameter"
Andreas Gampe [Tue, 24 Jun 2014 17:29:59 +0000 (17:29 +0000)]
Merge "ART: Split out more cases of Load/StoreRef, volatile as parameter"

10 years agoMerge "Revert "Revert "ART: Split out more cases of Load/StoreRef, volatile as parame...
Andreas Gampe [Tue, 24 Jun 2014 21:52:18 +0000 (21:52 +0000)]
Merge "Revert "Revert "ART: Split out more cases of Load/StoreRef, volatile as parameter"""

10 years agoRevert "Revert "ART: Split out more cases of Load/StoreRef, volatile as parameter""
Andreas Gampe [Tue, 24 Jun 2014 18:46:29 +0000 (18:46 +0000)]
Revert "Revert "ART: Split out more cases of Load/StoreRef, volatile as parameter""

This reverts commit de68676b24f61a55adc0b22fe828f036a5925c41.

Fixes an API comment, and differentiates between inserting and appending.

Change-Id: I0e9a21bb1d25766e3cbd802d8b48633ae251a6bf

10 years agoMerge "Add some more instruction support to optimizing compiler."
Dave Allison [Tue, 24 Jun 2014 16:08:12 +0000 (16:08 +0000)]
Merge "Add some more instruction support to optimizing compiler."

10 years agoAdd some more instruction support to optimizing compiler.
Dave Allison [Tue, 17 Jun 2014 03:44:29 +0000 (20:44 -0700)]
Add some more instruction support to optimizing compiler.

This adds a few more DEX instructions to the optimizing compiler's
builder (constants, moves, if_xx, etc).

Also:
* Changes the codegen for IF_XX instructions to use a condition
  rather than comparing a value against 0.
* Fixes some instructions in the ARM disassembler.
* Fixes PushList and PopList in the thumb2 assembler.
* Switches the assembler for the optimizing compiler to thumb2
  rather than ARM.

Change-Id: Iaafcd02243ccc5b03a054ef7a15285b84c06740f

10 years agoMerge "Use GCC on ARM64"
Sebastien Hertz [Tue, 24 Jun 2014 14:16:32 +0000 (14:16 +0000)]
Merge "Use GCC on ARM64"

10 years agoMerge "Log profile info only on debug builds."
Calin Juravle [Tue, 24 Jun 2014 10:57:35 +0000 (10:57 +0000)]
Merge "Log profile info only on debug builds."

10 years agoMerge "Always compile leafs during profile based compilation."
Calin Juravle [Tue, 24 Jun 2014 10:56:44 +0000 (10:56 +0000)]
Merge "Always compile leafs during profile based compilation."

10 years agoMerge "Move trampolines to thumb2 instead of ARM"
Dave Allison [Tue, 24 Jun 2014 01:56:51 +0000 (01:56 +0000)]
Merge "Move trampolines to thumb2 instead of ARM"

10 years agoART: Split out more cases of Load/StoreRef, volatile as parameter
Andreas Gampe [Mon, 23 Jun 2014 20:23:04 +0000 (13:23 -0700)]
ART: Split out more cases of Load/StoreRef, volatile as parameter

Splits out more cases of ref registers being loaded or stored. For
code clarity, adds volatile as a flag parameter instead of a separate
method.

On ARM64, continue cleanup. Add flags to print/fatal on size mismatches.

Change-Id: I30ed88433a6b4ff5399aefffe44c14a5e6f4ca4e

10 years agoMove trampolines to thumb2 instead of ARM
Dave Allison [Mon, 23 Jun 2014 20:19:59 +0000 (13:19 -0700)]
Move trampolines to thumb2 instead of ARM

Currently the entrypoint trampolines are compiled using the ARM32 assembler.
This changes that to use the thumb2 assembler for consistency with the
other compiled code.

Bug: 15455279
Change-Id: I6bacdf359e2ae4c0967fb5cd9dc694af11f802ec

10 years agoLog profile info only on debug builds.
Calin Juravle [Mon, 23 Jun 2014 14:22:29 +0000 (15:22 +0100)]
Log profile info only on debug builds.

Change-Id: I80cce951bf4cce988c9ab8373be3e335860eadf3

10 years agoAlways compile leafs during profile based compilation.
Calin Juravle [Mon, 23 Jun 2014 13:40:31 +0000 (14:40 +0100)]
Always compile leafs during profile based compilation.

Bug:12877748
Change-Id: Idbee9eaa87c419454728de195bdbdd9b0e6b7b50

10 years agoMerge "x86_64: Correct fix for cmp-long"
Bill Buzbee [Mon, 23 Jun 2014 20:16:10 +0000 (20:16 +0000)]
Merge "x86_64: Correct fix for cmp-long"

10 years agox86_64: Correct fix for cmp-long
Serguei Katkov [Mon, 23 Jun 2014 06:23:38 +0000 (13:23 +0700)]
x86_64: Correct fix for cmp-long

We cannot rely on the sign of the sub instruction because
LONG_MAX - LONG_MIN = -1 and the sign will indicate that
LONG_MAX < KONG_MIN and it is incorrect.

The fix also contains small improvement for load wide constant.

Change-Id: I74df70d7c198cebff5cad8c1d5614c1d29b79a1b
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoMerge "Mac doesn't define MAP_ANONYMOUS"
Ian Rogers [Mon, 23 Jun 2014 21:09:35 +0000 (21:09 +0000)]
Merge "Mac doesn't define MAP_ANONYMOUS"

10 years agoMac doesn't define MAP_ANONYMOUS
Ian Rogers [Mon, 23 Jun 2014 21:07:03 +0000 (14:07 -0700)]
Mac doesn't define MAP_ANONYMOUS

Fix mac build.

Change-Id: I607e8fff227259fbf27e468193a705c8c3fc1b59

10 years agoMerge "Revert "Revert "ART: Fix StoreValue to use RefDisp when necessary."""
Andreas Gampe [Mon, 23 Jun 2014 16:04:54 +0000 (16:04 +0000)]
Merge "Revert "Revert "ART: Fix StoreValue to use RefDisp when necessary."""

10 years agoRevert "Revert "ART: Fix StoreValue to use RefDisp when necessary.""
Andreas Gampe [Mon, 23 Jun 2014 15:39:00 +0000 (15:39 +0000)]
Revert "Revert "ART: Fix StoreValue to use RefDisp when necessary.""

This reverts commit e98297bafe84e2ac15eb73739f27826fcaae1203.

No matter if holding a reference or not, the store needs to be tagged
as updating a Dalvik register.

Change-Id: Icb80e1b6f82103cff33ee971faaaa02f9ad4a683

10 years agoMerge "Limit the size of files created by run-test to 2MB."
Ian Rogers [Mon, 23 Jun 2014 15:11:25 +0000 (15:11 +0000)]
Merge "Limit the size of files created by run-test to 2MB."

10 years agoLimit the size of files created by run-test to 2MB.
Ian Rogers [Sun, 22 Jun 2014 05:58:05 +0000 (22:58 -0700)]
Limit the size of files created by run-test to 2MB.

In MemMap::MapAnonymous on the host, avoid creating ashmem regions that are
backed by files, when the size of the file will be greater than the ulimit.

Change-Id: I7cbf2ac59bf5869ed85850bea8d71898f3b7e1c7

10 years agoMerge "X86 Dis: Add missing mov byte; Add size suffixes"
Ian Rogers [Sun, 22 Jun 2014 05:31:52 +0000 (05:31 +0000)]
Merge "X86 Dis: Add missing mov byte; Add size suffixes"

10 years agoX86 Dis: Add missing mov byte; Add size suffixes
Mark Mendell [Thu, 19 Jun 2014 01:02:29 +0000 (21:02 -0400)]
X86 Dis: Add missing mov byte; Add size suffixes

Yet another instruction not disassembled properly.
Add 'b', 'w', 'q' to opcodes to diffferentiate between various versions
and make it more understandable.

Change-Id: Ib794aac660bc8bc4900bfa49eab5aed682996adc
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
10 years agoMerge "Revert "ART: Fix StoreValue to use RefDisp when necessary.""
Ian Rogers [Mon, 23 Jun 2014 14:54:11 +0000 (14:54 +0000)]
Merge "Revert "ART: Fix StoreValue to use RefDisp when necessary.""

10 years agoRevert "ART: Fix StoreValue to use RefDisp when necessary."
Ian Rogers [Sun, 22 Jun 2014 07:47:53 +0000 (07:47 +0000)]
Revert "ART: Fix StoreValue to use RefDisp when necessary."

This reverts commit 596bea8f6331fe8ad6eb456afa1f7dfe1b92e09c.

Change-Id: I1942bfc5127e8a631c5b24d107d304c7cd994e78

10 years agoMerge "Use command line android root in dex2oat to find image."
Ian Rogers [Sat, 21 Jun 2014 23:15:24 +0000 (23:15 +0000)]
Merge "Use command line android root in dex2oat to find image."

10 years agoMerge "x86_64: Enable some optimizations"
Bill Buzbee [Sat, 21 Jun 2014 14:59:51 +0000 (14:59 +0000)]
Merge "x86_64: Enable some optimizations"

10 years agoMerge "x86_64: Fix fp-to-core conversion"
Bill Buzbee [Sat, 21 Jun 2014 14:59:44 +0000 (14:59 +0000)]
Merge "x86_64: Fix fp-to-core conversion"

10 years agoMerge "x86_64: Fix comp-long"
Bill Buzbee [Sat, 21 Jun 2014 14:59:34 +0000 (14:59 +0000)]
Merge "x86_64: Fix comp-long"

10 years agox86_64: Fix comp-long
Serguei Katkov [Fri, 20 Jun 2014 11:17:16 +0000 (18:17 +0700)]
x86_64: Fix comp-long

If result and source are the same VR then implementation does
a wrong thing clearing dest in the beginning.

Change-Id: I66d97a828aa38121676561858119ccd44aaa4d50
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoART: Fix StoreValue to use RefDisp when necessary.
Andreas Gampe [Fri, 20 Jun 2014 19:48:12 +0000 (12:48 -0700)]
ART: Fix StoreValue to use RefDisp when necessary.

Split from https://android-review.googlesource.com/#/c/98605

Change-Id: Ib3a03428ddbec659591b838404bbfa1553fe18e9

10 years agoMerge "More verbose logs for JDWP events"
Sebastien Hertz [Mon, 23 Jun 2014 08:02:59 +0000 (08:02 +0000)]
Merge "More verbose logs for JDWP events"

10 years agoMore verbose logs for JDWP events
Sebastien Hertz [Fri, 11 Apr 2014 14:01:17 +0000 (16:01 +0200)]
More verbose logs for JDWP events

Logs more information about the JDWP event being reported with VLOG(jdwp). This
helps mainly when debugging JDWP with -verbose:jdwp option.

Change-Id: I49495bdab03dbcbdc0b6c00a8df718bfedbad91d

10 years agox86_64: Fix fp-to-core conversion
Serguei Katkov [Fri, 20 Jun 2014 09:45:52 +0000 (16:45 +0700)]
x86_64: Fix fp-to-core conversion

Long max value cannot be represented with double precision
and check fp against max_long does not guard invocation of
conversion instruction. As a result conversion ends up with
min long instead of max long.

The patch changes the guard check to not allow conversion
instruction for max long.

Change-Id: Ied761051ec27cf6c833040c25a2c61ab9fcea414
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoAArch64: Add memcmp.S for Arm64.
Serban Constantinescu [Thu, 19 Jun 2014 13:27:52 +0000 (14:27 +0100)]
AArch64: Add memcmp.S for Arm64.

This patch adds a copy of bionic's memcmp.S to ART. A later patch
modifies this to memcmp16_arm64.S.

Change-Id: I18ddd43ea05a9828a741617fd2a87d2fa9a04449
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
10 years agoUse GCC on ARM64
Sebastien Hertz [Fri, 20 Jun 2014 10:22:11 +0000 (12:22 +0200)]
Use GCC on ARM64

This automatically enables the computed-goto interpreter as default.

Bug: 15763315
Bug: 15405621
Change-Id: I4f6ed5f7cad96333bc8dc1029e9b90ba1b6916df

10 years agoMerge "Quick compiler: enable Arm64 compilation"
buzbee [Fri, 20 Jun 2014 19:45:44 +0000 (19:45 +0000)]
Merge "Quick compiler: enable Arm64 compilation"

10 years agoQuick compiler: enable Arm64 compilation
buzbee [Thu, 19 Jun 2014 23:08:48 +0000 (16:08 -0700)]
Quick compiler: enable Arm64 compilation

Change-Id: I19058defaff1c60b4b6b4d1ad82e0a42d50506a6

10 years agoMerge "ART: Method verifier must check invoke-virtuals for non-zero args"
Andreas Gampe [Sat, 21 Jun 2014 01:38:46 +0000 (01:38 +0000)]
Merge "ART: Method verifier must check invoke-virtuals for non-zero args"

10 years agoART: Method verifier must check invoke-virtuals for non-zero args
Andreas Gampe [Fri, 20 Jun 2014 01:13:29 +0000 (18:13 -0700)]
ART: Method verifier must check invoke-virtuals for non-zero args

Compiler checks rely on all instructions, not just reachable ones,
so add two new verifier flags.

Bug: 15755602
Change-Id: Ia9c2146cf82d94ce4d69fb6f7be6450137bb84bd

10 years agoMerge "Shared single GC iteration accounting for all GCs."
Mathieu Chartier [Fri, 20 Jun 2014 20:01:28 +0000 (20:01 +0000)]
Merge "Shared single GC iteration accounting for all GCs."

10 years agoShared single GC iteration accounting for all GCs.
Mathieu Chartier [Sun, 15 Jun 2014 22:15:43 +0000 (15:15 -0700)]
Shared single GC iteration accounting for all GCs.

Previously, each garbage collector had data that was only used
during collection. Since only one collector can be running at any
given time, we can make this data be shared between all collectors.
This reduces memory usage since we don't need to have redundant
information for each GC types. Also reduced how much code is required
to sweep spaces.

Bug: 9969166
Change-Id: I31caf0ee4d572f75e0c66863fe7db12c08ae08e7

10 years agoMerge "ART: Do not try to pretty-print method in dex file"
Andreas Gampe [Fri, 20 Jun 2014 05:58:42 +0000 (05:58 +0000)]
Merge "ART: Do not try to pretty-print method in dex file"

10 years agoART: Do not try to pretty-print method in dex file
Andreas Gampe [Fri, 20 Jun 2014 03:24:22 +0000 (20:24 -0700)]
ART: Do not try to pretty-print method in dex file

The code is called in verification when it is not clear yet whether
structures are valid. Simplify warning message.

Bug: 15754233
Change-Id: I85858a71143f41444ce9f00536d901c268afe547

10 years agoMerge "ART: Method verifier needs to check 2-reg values"
Andreas Gampe [Fri, 20 Jun 2014 03:39:07 +0000 (03:39 +0000)]
Merge "ART: Method verifier needs to check 2-reg values"

10 years agoMerge "ART: Fix register overlap checks in CopyArgumentRegs"
Bill Buzbee [Fri, 20 Jun 2014 19:42:30 +0000 (19:42 +0000)]
Merge "ART: Fix register overlap checks in CopyArgumentRegs"

10 years agoART: Fix register overlap checks in CopyArgumentRegs
Andreas Gampe [Fri, 20 Jun 2014 18:34:17 +0000 (11:34 -0700)]
ART: Fix register overlap checks in CopyArgumentRegs

This is a make-shift CL. Expect this to be replaced by a reworked
implementation.

Change-Id: Ia74697d1436efd2971bc4c791fabed66d2e9d72d

10 years agoMerge "Add more read barriers for JNI roots."
Hiroshi Yamauchi [Fri, 20 Jun 2014 19:30:53 +0000 (19:30 +0000)]
Merge "Add more read barriers for JNI roots."

10 years agoAdd more read barriers for JNI roots.
Hiroshi Yamauchi [Wed, 18 Jun 2014 20:47:35 +0000 (13:47 -0700)]
Add more read barriers for JNI roots.

To make it possible to concurrently scan the JNI global roots (that
is, the roots visited by JavaVMExt::VisitRoots()), add read barriers
to the indirect reference table and the reference table.

Also, add read barriers to the jmethodID/jfieldID decode routines
(ScopedObjectAccessAlreadyRunnable::DecodeField/DecodeMethod) so that
we can concurrently handle (encoded) fields and methods.

Bug: 12687968
Change-Id: I3df4e4e622a572ff0ea8d44b2dc70a4d6b3ba058

10 years agoMerge "ART: ReadFully needs to fail when EOF"
Andreas Gampe [Fri, 20 Jun 2014 19:53:56 +0000 (19:53 +0000)]
Merge "ART: ReadFully needs to fail when EOF"