OSDN Git Service

android-x86/art.git
10 years agoFix LoadValueWide to not call MarkLive for high reg that is equal to low reg
Chao-ying Fu [Thu, 3 Apr 2014 22:09:37 +0000 (15:09 -0700)]
Fix LoadValueWide to not call MarkLive for high reg that is equal to low reg

For x86 double FP registers, LoadValueWide should not call MarkLive for
high reg that is equal to low reg.

Change-Id: Ie6a59307c9ff93303bd489c15529432cfdeceaa4
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
10 years agoMerge "Fix off-by-1 error in new SpaceBitmap"
Andreas Gampe [Thu, 3 Apr 2014 17:52:27 +0000 (17:52 +0000)]
Merge "Fix off-by-1 error in new SpaceBitmap"

10 years agoFix off-by-1 error in new SpaceBitmap
Andreas Gampe [Thu, 3 Apr 2014 17:46:42 +0000 (10:46 -0700)]
Fix off-by-1 error in new SpaceBitmap

Do not visit_end in the VisitMarkedRange code.

Change-Id: Iaf02788509b21a102cd1c0e2db3cbd09d0522bfa

10 years agoMerge "Add monitor_enter_object as root."
Mathieu Chartier [Thu, 3 Apr 2014 17:43:40 +0000 (17:43 +0000)]
Merge "Add monitor_enter_object as root."

10 years agoAdd monitor_enter_object as root.
Mathieu Chartier [Thu, 3 Apr 2014 16:57:36 +0000 (09:57 -0700)]
Add monitor_enter_object as root.

The monitor enter object was not a root, this caused issues with
compactions since the object could move and then verify object would
fail.

Bug: 13769139
Change-Id: Ia732376fb9d1de8bf137ef9894cb2bb3241d8bb2

10 years agoMerge "Support passing arguments to invoke-static* instructions."
Nicolas Geoffray [Thu, 3 Apr 2014 16:49:25 +0000 (16:49 +0000)]
Merge "Support passing arguments to invoke-static* instructions."

10 years agoSupport passing arguments to invoke-static* instructions.
Nicolas Geoffray [Thu, 3 Apr 2014 09:38:37 +0000 (10:38 +0100)]
Support passing arguments to invoke-static* instructions.

- Stop using the frame pointer for accessing locals.
- Stop emulating a stack when doing code generation. Instead,
  rely on dex register model, where instructions only reference
  registers.

Change-Id: Id51bd7d33ac430cb87a53c9f4b0c864eeb1006f9

10 years agoMerge "art: Handle x86_64 architecture equal to x86"
Bill Buzbee [Thu, 3 Apr 2014 13:29:36 +0000 (13:29 +0000)]
Merge "art: Handle x86_64 architecture equal to x86"

10 years agoMerge "Fix Unsafe.getLong()/putLong() for x86, add test."
Vladimir Marko [Thu, 3 Apr 2014 12:58:51 +0000 (12:58 +0000)]
Merge "Fix Unsafe.getLong()/putLong() for x86, add test."

10 years agoMerge "Runtime::PreZygoteFork returns void, not boolean."
Narayan Kamath [Thu, 3 Apr 2014 12:28:17 +0000 (12:28 +0000)]
Merge "Runtime::PreZygoteFork returns void, not boolean."

10 years agoFix Unsafe.getLong()/putLong() for x86, add test.
Vladimir Marko [Thu, 3 Apr 2014 11:56:06 +0000 (12:56 +0100)]
Fix Unsafe.getLong()/putLong() for x86, add test.

Change-Id: Id6841ae50e1047543c04dcdae30254dd6ce82082

10 years agoMerge "Profile: renamed kThresholdPercent and make it configurable"
Calin Juravle [Thu, 3 Apr 2014 09:01:40 +0000 (09:01 +0000)]
Merge "Profile: renamed kThresholdPercent and make it configurable"

10 years agoMerge "Profile: repurposed kTresholdPercent"
Calin Juravle [Thu, 3 Apr 2014 09:01:20 +0000 (09:01 +0000)]
Merge "Profile: repurposed kTresholdPercent"

10 years agoart: Handle x86_64 architecture equal to x86
Dmitry Petrochenko [Wed, 2 Apr 2014 10:27:59 +0000 (17:27 +0700)]
art: Handle x86_64 architecture equal to x86

This patch forces FE/ME to treat x86_64 as x86 exactly.
The x86_64 logic will be revised later when assembly will be ready.

Change-Id: I4a92477a6eeaa9a11fd710d35c602d8d6f88cbb6
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
10 years agoMerge "Use temp register in Unsafe Get/Put intrisics for displaced offset."
Mathieu Chartier [Thu, 3 Apr 2014 02:45:19 +0000 (02:45 +0000)]
Merge "Use temp register in Unsafe Get/Put intrisics for displaced offset."

10 years agoMerge "Make SpaceBitmap cross-compiling tolerant"
Andreas Gampe [Thu, 3 Apr 2014 01:17:54 +0000 (01:17 +0000)]
Merge "Make SpaceBitmap cross-compiling tolerant"

10 years agoUse temp register in Unsafe Get/Put intrisics for displaced offset.
Mathieu Chartier [Thu, 3 Apr 2014 00:09:17 +0000 (17:09 -0700)]
Use temp register in Unsafe Get/Put intrisics for displaced offset.

Previously, the object register would get clobberd by the adding the
offset for wide UnsafeGets and wide UnsafePuts. This resulted in heap
corruption in AtomicLongFieldUpdater.compareAndSet and possibly other
places.

Bug: 13744490
Change-Id: Ic368d930b855c5c57e22060b32b73d0745328ef2

10 years agoMerge "Add support for -Xverify:none mode."
Jeff Hao [Thu, 3 Apr 2014 00:38:52 +0000 (00:38 +0000)]
Merge "Add support for -Xverify:none mode."

10 years agoAdd support for -Xverify:none mode.
Jeff Hao [Tue, 1 Apr 2014 21:58:49 +0000 (14:58 -0700)]
Add support for -Xverify:none mode.

This mode skips all verification and compilation.
Public bug: https://code.google.com/p/android/issues/detail?id=67664

Change-Id: Idd00ab8e9e46d129c02988b063c41a507e07bf5b

10 years agoMake SpaceBitmap cross-compiling tolerant
Andreas Gampe [Wed, 2 Apr 2014 22:39:58 +0000 (15:39 -0700)]
Make SpaceBitmap cross-compiling tolerant

Change the order of bits in SpaceBitmap to be the intuitive one:
Offset 0 is bit 0, instead of the MSB. Then compiling on 32b for
64b works as expected.

Change-Id: Iee2491eaf06d4b5f8b534b7c980d5719633cb64c

10 years agoMerge "Keep the symbol table in the shared libraries."
Christopher Ferris [Wed, 2 Apr 2014 23:51:59 +0000 (23:51 +0000)]
Merge "Keep the symbol table in the shared libraries."

10 years agoMerge "Pass instruction-set from runtime through to spawned dex2oat."
Ian Rogers [Wed, 2 Apr 2014 23:18:43 +0000 (23:18 +0000)]
Merge "Pass instruction-set from runtime through to spawned dex2oat."

10 years agoPass instruction-set from runtime through to spawned dex2oat.
Ian Rogers [Wed, 2 Apr 2014 21:55:49 +0000 (14:55 -0700)]
Pass instruction-set from runtime through to spawned dex2oat.

Change-Id: I1727af7beb9f710c29124d4d6bc9175e4856f3cc

10 years agoProfile: renamed kThresholdPercent and make it configurable
Calin Juravle [Wed, 2 Apr 2014 18:08:47 +0000 (19:08 +0100)]
Profile: renamed kThresholdPercent and make it configurable

Bug: 12877748
Change-Id: If266f20f77faad4a726ef8df451a0c42f541392f

10 years agoMerge "force dex2oat target executables to be compiled for 32-bit"
Colin Cross [Wed, 2 Apr 2014 20:15:25 +0000 (20:15 +0000)]
Merge "force dex2oat target executables to be compiled for 32-bit"

10 years agoMerge "Add r4 as promotable register if implicit suspend checks"
Dave Allison [Wed, 2 Apr 2014 20:14:58 +0000 (20:14 +0000)]
Merge "Add r4 as promotable register if implicit suspend checks"

10 years agoAdd r4 as promotable register if implicit suspend checks
Dave Allison [Wed, 2 Apr 2014 00:45:18 +0000 (17:45 -0700)]
Add r4 as promotable register if implicit suspend checks

If we are doing implicit suspend checks we should be able
to use r4 as a target for promotion.

Also bump OAT version

Change-Id: Ia27d14ece3b3259dbb74bcf89feaa9da2cda6db8

10 years agoforce dex2oat target executables to be compiled for 32-bit
Colin Cross [Thu, 20 Mar 2014 19:55:13 +0000 (12:55 -0700)]
force dex2oat target executables to be compiled for 32-bit

64-bit dex2oat doesn't support 32-bit targets yet, force dex2oat
target executables to compile 32-bit for now by passing in a
value for LOCAL_MULTILIB to build-art-executable.

Bug: 13764385
Change-Id: I41adba1e64f373e4b61a3c13af2592ed4f7d0b57

10 years agoProfile: repurposed kTresholdPercent
Calin Juravle [Wed, 2 Apr 2014 16:03:08 +0000 (17:03 +0100)]
Profile: repurposed kTresholdPercent

Previously kTresholdPercent was the percentage of samples of the total
that a method must comprise before compiling.

I changed it to mean the threshold for a running total...i.e. compile
all the methods that comprise K% of the samples cumulatively.

(in the process fixed ProfileData#percent doc and changed its name)

Bug: 12877748
Change-Id: Ib0e18e525a16c11b189afc3d840c09183ac629de

10 years agoMerge "Avoid debug check violation in thread registration."
Ian Rogers [Wed, 2 Apr 2014 15:49:42 +0000 (15:49 +0000)]
Merge "Avoid debug check violation in thread registration."

10 years agoAvoid debug check violation in thread registration.
Ian Rogers [Wed, 2 Apr 2014 15:34:36 +0000 (08:34 -0700)]
Avoid debug check violation in thread registration.

Bug: 13757855
Change-Id: Ied83a7fc43e2b9a89a8b99aa4f74069ef8a369b1

10 years agoMerge "Fixed total method count in profile file parsing."
Calin Juravle [Wed, 2 Apr 2014 15:17:21 +0000 (15:17 +0000)]
Merge "Fixed total method count in profile file parsing."

10 years agoFixed total method count in profile file parsing.
Calin Juravle [Wed, 2 Apr 2014 14:41:43 +0000 (15:41 +0100)]
Fixed total method count in profile file parsing.

Change-Id: Iae38b3ca296378d17f054ac330301035ec684084

10 years agoRuntime::PreZygoteFork returns void, not boolean.
Narayan Kamath [Wed, 2 Apr 2014 11:54:23 +0000 (12:54 +0100)]
Runtime::PreZygoteFork returns void, not boolean.

This method aborts on failure (as it should) and unconditionally
returns true, so making it return void simplifies callers.

Change-Id: Iae39bd327f20311579ece47efa8afd1be7defce9

10 years agoMerge "Include <sys/resource.h> for rlimit."
Narayan Kamath [Wed, 2 Apr 2014 11:15:38 +0000 (11:15 +0000)]
Merge "Include <sys/resource.h> for rlimit."

10 years agoInclude <sys/resource.h> for rlimit.
Narayan Kamath [Wed, 2 Apr 2014 11:06:02 +0000 (12:06 +0100)]
Include <sys/resource.h> for rlimit.

Change-Id: I0e487f8191e284052d8b82eb942d723147d780a1

10 years agoMerge "Update missed DEX2OAT -> DEX2OATD changes."
Nicolas Geoffray [Wed, 2 Apr 2014 10:34:54 +0000 (10:34 +0000)]
Merge "Update missed DEX2OAT -> DEX2OATD changes."

10 years agoUpdate missed DEX2OAT -> DEX2OATD changes.
Nicolas Geoffray [Wed, 2 Apr 2014 10:33:28 +0000 (11:33 +0100)]
Update missed DEX2OAT -> DEX2OATD changes.

Change-Id: I9556ac9ce30fe057e8b278858303e25c547e86ba

10 years agoMerge "Move most zygote related code to frameworks/base."
Narayan Kamath [Wed, 2 Apr 2014 10:29:49 +0000 (10:29 +0000)]
Merge "Move most zygote related code to frameworks/base."

10 years agoMerge "Use debug version of DEX2OAT explicitly."
Nicolas Geoffray [Wed, 2 Apr 2014 08:53:01 +0000 (08:53 +0000)]
Merge "Use debug version of DEX2OAT explicitly."

10 years agoUse debug version of DEX2OAT explicitly.
Nicolas Geoffray [Wed, 26 Mar 2014 10:56:24 +0000 (10:56 +0000)]
Use debug version of DEX2OAT explicitly.

Change-Id: I57b4c8caedcc6bfbeaa541d8171f8b5b3069c584

10 years agoMerge "Fix ClassHelper::GetDirectInterface for proxy class"
Sebastien Hertz [Wed, 2 Apr 2014 07:48:31 +0000 (07:48 +0000)]
Merge "Fix ClassHelper::GetDirectInterface for proxy class"

10 years agoMerge "Cleanup transaction support"
Sebastien Hertz [Wed, 2 Apr 2014 07:45:51 +0000 (07:45 +0000)]
Merge "Cleanup transaction support"

10 years agoCleanup transaction support
Sebastien Hertz [Fri, 21 Feb 2014 14:46:30 +0000 (15:46 +0100)]
Cleanup transaction support

Updates Thread::CreateInternalStackTrace to support both transactional and
non-transactional modes using template.

Generalizes non-transactional mode for invariant fields (which are set only
once).

Removes ArrayLog::VisitRoots as we never create Array logs of ObjectArray. As
ObjectArray elements are set using Object::SetFieldObject, they are already
recorded in the object logs: the object is the array itself and the offset
corresponds to the element index in this array. And also checks we never log
ObjectArray in array logs.

Fixes location of thrown exception when calling native method during class
initialization.

Change-Id: Idbc368d3b8292b85ff40bc8a7c559e085477bf89

10 years agoKeep the symbol table in the shared libraries.
Christopher Ferris [Tue, 1 Apr 2014 19:29:09 +0000 (12:29 -0700)]
Keep the symbol table in the shared libraries.

In order to allow the unwinder code to have meaningful names for
art functions, leave the symbol table.

Here are the size increases:

Platform    Size Increase
--------    -------------
arm         ~631K
arm64       ~631K
mips        ~424K
x86         ~565K
x86_64      ~565K

Bug: 12958251
Change-Id: Ib8bf11bef648f8296f4d6544f7b2af0d7f969ad8

10 years agoMerge "Use TEST_ART_RUN_TESTS consistently"
Brian Carlstrom [Wed, 2 Apr 2014 03:18:59 +0000 (03:18 +0000)]
Merge "Use TEST_ART_RUN_TESTS consistently"

10 years agoUse TEST_ART_RUN_TESTS consistently
Brian Carlstrom [Wed, 2 Apr 2014 01:09:33 +0000 (18:09 -0700)]
Use TEST_ART_RUN_TESTS consistently

Change-Id: I0242702886d53a39f2604e209a0763ff82278e1c

10 years agoMerge "Add GenBarrier() calls to terminate all IT blocks."
Dave Allison [Tue, 1 Apr 2014 23:44:59 +0000 (23:44 +0000)]
Merge "Add GenBarrier() calls to terminate all IT blocks."

10 years agoAdd GenBarrier() calls to terminate all IT blocks.
Dave Allison [Tue, 1 Apr 2014 22:14:46 +0000 (15:14 -0700)]
Add GenBarrier() calls to terminate all IT blocks.

This is needed to prevent things like load hoisting from putting
instructions inside the IT block.

Bug: 13749123
Change-Id: I98a010453b163ac20a90f626144f798fc06e65a9

10 years agoMerge "Fix ThreadStress, unify ANR lock descriptions."
Ian Rogers [Tue, 1 Apr 2014 22:46:11 +0000 (22:46 +0000)]
Merge "Fix ThreadStress, unify ANR lock descriptions."

10 years agoMerge "Fix Thread offsets for ARM64 assembly"
Andreas Gampe [Tue, 1 Apr 2014 22:44:36 +0000 (22:44 +0000)]
Merge "Fix Thread offsets for ARM64 assembly"

10 years agoMerge "Fix running with DlMalloc instead of RosAlloc."
Mathieu Chartier [Tue, 1 Apr 2014 22:37:45 +0000 (22:37 +0000)]
Merge "Fix running with DlMalloc instead of RosAlloc."

10 years agoFix ThreadStress, unify ANR lock descriptions.
Ian Rogers [Tue, 1 Apr 2014 22:33:03 +0000 (15:33 -0700)]
Fix ThreadStress, unify ANR lock descriptions.

Bug: 13323656
Change-Id: I902825a847af9aa570ed79701409298e3532bebf

10 years agoFix running with DlMalloc instead of RosAlloc.
Mathieu Chartier [Tue, 1 Apr 2014 22:01:46 +0000 (15:01 -0700)]
Fix running with DlMalloc instead of RosAlloc.

Bug: 13748830
Bug: 13744490

Change-Id: Ieec97cf58ebf9864a40ee85aae582cdcf3f27c0c

10 years agoFix Thread offsets for ARM64 assembly
Andreas Gampe [Tue, 1 Apr 2014 21:18:21 +0000 (14:18 -0700)]
Fix Thread offsets for ARM64 assembly

Change-Id: I8d0516091b5a865f415e1446425203785e607f8a

10 years agoMerge "Build changes to build multilib tests"
Andreas Gampe [Tue, 1 Apr 2014 21:13:05 +0000 (21:13 +0000)]
Merge "Build changes to build multilib tests"

10 years agoBuild changes to build multilib tests
Andreas Gampe [Wed, 26 Mar 2014 01:09:32 +0000 (18:09 -0700)]
Build changes to build multilib tests

Test files will be emitted into directories for both first and second
target architectures. Going with the naming scheme for binaries,
single-architecture and 32b cases have the standard name, and
64b goes into a directory with "64" suffix.

In multi-architecture setups, the default concrete test targets are
extended with a "32" and "64" suffix, e.g., test-art-target-oat-JniTest64.
The suffix-less form is linked to the primary architecture target (usually 64).
That means running combined targets, e.g., test-art-target-oat, will only
test the primary architecture right now.

Fixed target run tests calling the right dalvikvm. Fixed library search
path for tests derived from CommonRuntimeTest.

Missing in this work-in-progress is correct handling of dex2oat for the
secondary architecture. To make it work on 64b, comment out line 101
in build/Android.executable.mk

Change-Id: I3d260994e6efe8b73b56c71994053cc9392943a9

10 years agoMerge "Quick compiler: add comment to Arm encoding"
buzbee [Tue, 1 Apr 2014 20:56:35 +0000 (20:56 +0000)]
Merge "Quick compiler: add comment to Arm encoding"

10 years agoQuick compiler: add comment to Arm encoding
buzbee [Tue, 1 Apr 2014 19:42:20 +0000 (12:42 -0700)]
Quick compiler: add comment to Arm encoding

A question from an AOSP contributer demonstrated the need for
explanation of a seemingly odd encoding for vldrd/vldrs.  In short,
we add a "def" bit for lr on those instructions to cover the cases
in which we have to materialize a new base pointer at assembly
time using lr as a temp register.

Change-Id: I22c5740218a90e0ff387c6aac2bd20cc98eece85

10 years agoMerge "Fix reflection access checks for app compatibility."
Jeff Hao [Tue, 1 Apr 2014 18:33:31 +0000 (18:33 +0000)]
Merge "Fix reflection access checks for app compatibility."

10 years agoFix reflection access checks for app compatibility.
Jeff Hao [Tue, 1 Apr 2014 18:21:30 +0000 (11:21 -0700)]
Fix reflection access checks for app compatibility.

Also updates field access test.

Bug: 13740995

Change-Id: I224712cfcb0c05429b831c26980cabad7bdef49a

10 years agoMerge "Quick compiler, MIPS resource cleanup"
buzbee [Tue, 1 Apr 2014 18:15:02 +0000 (18:15 +0000)]
Merge "Quick compiler, MIPS resource cleanup"

10 years agoMerge "Revert "Fix access checks for app compatibility.""
Jeff Hao [Tue, 1 Apr 2014 18:04:42 +0000 (18:04 +0000)]
Merge "Revert "Fix access checks for app compatibility.""

10 years agoRevert "Fix access checks for app compatibility."
Jeff Hao [Tue, 1 Apr 2014 18:04:24 +0000 (18:04 +0000)]
Revert "Fix access checks for app compatibility."

This reverts commit b59b2c8dbdea2a6a3086378f2cf65adc9bc282cd.

Change-Id: I718658b8450a5ce6249df317b635f63356b1ce3c

10 years agoMerge "Add handler for printing java stack traces for compiled code SIGSEGV."
Mathieu Chartier [Tue, 1 Apr 2014 18:01:23 +0000 (18:01 +0000)]
Merge "Add handler for printing java stack traces for compiled code SIGSEGV."

10 years agoMerge "Fix access checks for app compatibility."
Jeff Hao [Tue, 1 Apr 2014 18:01:17 +0000 (18:01 +0000)]
Merge "Fix access checks for app compatibility."

10 years agoMerge "Make the support code for read barriers a bit more general."
Hiroshi Yamauchi [Tue, 1 Apr 2014 17:58:30 +0000 (17:58 +0000)]
Merge "Make the support code for read barriers a bit more general."

10 years agoFix access checks for app compatibility.
Jeff Hao [Tue, 1 Apr 2014 17:58:29 +0000 (10:58 -0700)]
Fix access checks for app compatibility.

Change-Id: I3191e5e92d30e9bee24051fd305296ddcf143e18

10 years agoAdd handler for printing java stack traces for compiled code SIGSEGV.
Mathieu Chartier [Sun, 30 Mar 2014 22:25:44 +0000 (15:25 -0700)]
Add handler for printing java stack traces for compiled code SIGSEGV.

Added a new FaultHandler which attempts to print a java stack trace
when a SIGSEGV occurse in generated code. This should help debugging
compiler and GC related heap corruption.

Bug: 13725693
Bug: 12934910

Change-Id: Id54d83ea180c222eb86d449c61926e83f0b026ad

10 years agoMerge "Calling convention support for cross 64/32 compilation."
Ian Rogers [Tue, 1 Apr 2014 17:57:01 +0000 (17:57 +0000)]
Merge "Calling convention support for cross 64/32 compilation."

10 years agoCalling convention support for cross 64/32 compilation.
Ian Rogers [Tue, 1 Apr 2014 17:36:00 +0000 (10:36 -0700)]
Calling convention support for cross 64/32 compilation.

Add REX support for x86-64 operands.

Change-Id: I093ae26fb8c111d54b8c72166f054984564c04c6

10 years agoMerge "Fix stack overflow slow path error."
Mathieu Chartier [Tue, 1 Apr 2014 16:30:24 +0000 (16:30 +0000)]
Merge "Fix stack overflow slow path error."

10 years agoMove most zygote related code to frameworks/base.
Narayan Kamath [Mon, 31 Mar 2014 15:44:54 +0000 (16:44 +0100)]
Move most zygote related code to frameworks/base.

Avoids code duplication across art/dalvik. Also, most of
this code is not directly related to the runtime (mounting external
storage, multi user etc.) and therefore belongs in the frameworks.

Change-Id: Icf4723dd0ec4521ef6b1f785c99d50aebca7779a

10 years agoMerge "Revert "Revert "Optimize easy multiply and easy div remainder."""
Ian Rogers [Tue, 1 Apr 2014 15:38:25 +0000 (15:38 +0000)]
Merge "Revert "Revert "Optimize easy multiply and easy div remainder."""

10 years agoMerge "Allow mixing of thread offsets between 32 and 64bit architectures."
Ian Rogers [Tue, 1 Apr 2014 15:33:07 +0000 (15:33 +0000)]
Merge "Allow mixing of thread offsets between 32 and 64bit architectures."

10 years agoAllow mixing of thread offsets between 32 and 64bit architectures.
Ian Rogers [Sat, 15 Mar 2014 00:43:00 +0000 (17:43 -0700)]
Allow mixing of thread offsets between 32 and 64bit architectures.

Begin a more full implementation x86-64 REX prefixes.
Doesn't implement 64bit thread offset support for the JNI compiler.

Change-Id: If9af2f08a1833c21ddb4b4077f9b03add1a05147

10 years agoMerge "art: Make calling convention immune to SIRT structure change"
Andreas Gampe [Tue, 1 Apr 2014 14:57:22 +0000 (14:57 +0000)]
Merge "art: Make calling convention immune to SIRT structure change"

10 years agoMerge "Fix instruction printing for filled-new-array"
Andreas Gampe [Tue, 1 Apr 2014 14:39:24 +0000 (14:39 +0000)]
Merge "Fix instruction printing for filled-new-array"

10 years agoMerge "Use ResetDef to prevent from removing necessary stores for x86 long-to-fp."
Bill Buzbee [Tue, 1 Apr 2014 14:38:36 +0000 (14:38 +0000)]
Merge "Use ResetDef to prevent from removing necessary stores for x86 long-to-fp."

10 years agoFix ClassHelper::GetDirectInterface for proxy class
Sebastien Hertz [Tue, 1 Apr 2014 12:39:44 +0000 (14:39 +0200)]
Fix ClassHelper::GetDirectInterface for proxy class

Returns only the direct interfaces implemented by the proxy class. We collect
them from the "interfaces" field in the synthesized proxy class instead of
looking into the iftable.

Also updates proxy_test to reflect this change.

Bug: 13689930
Change-Id: I926e2ed30f9e65972d700a378671cec82dedaa7c

10 years agoMerge "Disable timing sensitive tests on dist builds."
Nicolas Geoffray [Tue, 1 Apr 2014 09:14:51 +0000 (09:14 +0000)]
Merge "Disable timing sensitive tests on dist builds."

10 years agoMerge "Return correct JDWP type tag for array class"
Sebastien Hertz [Tue, 1 Apr 2014 09:07:49 +0000 (09:07 +0000)]
Merge "Return correct JDWP type tag for array class"

10 years agoMerge "Art script: Use PWD for android-data and cleanup after running."
Nicolas Geoffray [Tue, 1 Apr 2014 08:28:39 +0000 (08:28 +0000)]
Merge "Art script: Use PWD for android-data and cleanup after running."

10 years agoMerge "Add -lpthread -ldl to link executable/tests"
Andrew Hsieh [Tue, 1 Apr 2014 08:23:38 +0000 (08:23 +0000)]
Merge "Add -lpthread -ldl to link executable/tests"

10 years agoDisable timing sensitive tests on dist builds.
Brian Carlstrom [Mon, 31 Mar 2014 21:00:52 +0000 (14:00 -0700)]
Disable timing sensitive tests on dist builds.

Change-Id: I94ebeb5009fac7026bd157a12bdf39e392665a3a

10 years agoAdd -lpthread -ldl to link executable/tests
Andrew Hsieh [Tue, 1 Apr 2014 03:52:01 +0000 (11:52 +0800)]
Add -lpthread -ldl to link executable/tests

The new binutils-2.23 based linker in
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6
no longer implicity adds dependencies on *so an executable needs.
eg.

  ld -o barrier_test barrier_test.o common_runtime_test.o ... -lartd

produces error messages read

  art/runtime/thread-inl.h:43: error: undefined reference to 'pthread_getspecific'
  art/runtime/common_runtime_test.h:219: error: undefined reference to 'dlsym'
  external/gtest/src/../include/gtest/internal/gtest-port.h:1482: error: undefined reference to 'pthread_getspecific'

because libartd.so DT_NEEDED libdl.so and libpthread.so, and new linker no longer
implicitly add both to dependencies.  Explicitly add -lpthread -ldl to fix the issue

Change-Id: Ic29c68480b2ed55d282be949640b9158411f213d

10 years agoart: Make calling convention immune to SIRT structure change
Dmitry Petrochenko [Mon, 31 Mar 2014 02:12:31 +0000 (09:12 +0700)]
art: Make calling convention immune to SIRT structure change

Introduce stack_indirect_reference_table::referencesOffset and
rely on it in calling convention to avoid issues if SIRT structure
change.

Change-Id: Icc0c5c5b1313173df2ee519ab8934183074fdfb6
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
10 years agoFix instruction printing for filled-new-array
Andreas Gampe [Tue, 1 Apr 2014 01:10:53 +0000 (18:10 -0700)]
Fix instruction printing for filled-new-array

Only print the registers that are actually used. The rest is
garbage.

Change-Id: Ic9f03a51f81b95f7c70cf3e19122c8980003ae36

10 years agoMerge "Implement implicit stack overflow checks"
Dave Allison [Tue, 1 Apr 2014 01:07:45 +0000 (01:07 +0000)]
Merge "Implement implicit stack overflow checks"

10 years agoImplement implicit stack overflow checks
Dave Allison [Thu, 27 Mar 2014 22:10:22 +0000 (15:10 -0700)]
Implement implicit stack overflow checks

This also fixes some failing run tests due to missing
null pointer markers.

The implementation of the implicit stack overflow checks introduces
the ability to have a gap in the stack that is skipped during
stack walk backs.  This gap is protected against read/write and
is used to trigger a SIGSEGV at function entry if the stack
will overflow.

Change-Id: I0c3e214c8b87dc250cf886472c6d327b5d58653e

10 years agoMake the support code for read barriers a bit more general.
Hiroshi Yamauchi [Mon, 31 Mar 2014 22:14:47 +0000 (15:14 -0700)]
Make the support code for read barriers a bit more general.

Add an option for Baker in addition to Brooks.

Bug: 12687968
Change-Id: I8a31db817ff6686c72951b6534f588228e270b11

10 years agoFix stack overflow slow path error.
Mathieu Chartier [Mon, 31 Mar 2014 23:11:41 +0000 (16:11 -0700)]
Fix stack overflow slow path error.

The frame size without spill was being passed into the slow path
instead of the spill size. This was incorrect since only the spills
will have been pushed at the point of the overflow check.

Also addressed an other comment.

Change-Id: Ic6e455122473a8f796b291d71f945bcf72788662

10 years agoMerge "Fix a DCHECK failure when causing GC from DDMS."
Hiroshi Yamauchi [Mon, 31 Mar 2014 18:34:45 +0000 (18:34 +0000)]
Merge "Fix a DCHECK failure when causing GC from DDMS."

10 years agoMerge "Mark ScopedArenaAllocator's allocations undefined for Valgrind."
Vladimir Marko [Mon, 31 Mar 2014 16:36:03 +0000 (16:36 +0000)]
Merge "Mark ScopedArenaAllocator's allocations undefined for Valgrind."

10 years agoMerge "Faster AssembleLIR for ARM."
Vladimir Marko [Mon, 31 Mar 2014 16:16:36 +0000 (16:16 +0000)]
Merge "Faster AssembleLIR for ARM."

10 years agoMark ScopedArenaAllocator's allocations undefined for Valgrind.
Vladimir Marko [Mon, 31 Mar 2014 14:32:56 +0000 (15:32 +0100)]
Mark ScopedArenaAllocator's allocations undefined for Valgrind.

Bug: 13659516
Change-Id: Id538c1bb1d256173a1f3db5ae0be920420da6d5d

10 years agoFaster AssembleLIR for ARM.
Vladimir Marko [Tue, 7 Jan 2014 18:21:20 +0000 (18:21 +0000)]
Faster AssembleLIR for ARM.

This also reduces sizeof(LIR) by 4 bytes (32-bit builds).

Change-Id: I0cb81f9bf098dfc50050d5bc705c171af26464ce

10 years agoMerge "Add support for adding two integers in optimizing compiler."
Nicolas Geoffray [Mon, 31 Mar 2014 10:44:46 +0000 (10:44 +0000)]
Merge "Add support for adding two integers in optimizing compiler."

10 years agoAdd support for adding two integers in optimizing compiler.
Nicolas Geoffray [Fri, 28 Mar 2014 15:43:40 +0000 (15:43 +0000)]
Add support for adding two integers in optimizing compiler.

Change-Id: I5524e193cd07f2692a57c6b4f8069904471b2928

10 years agoMerge "Remove use of pthread_cond_timedwait_monotonic."
Narayan Kamath [Mon, 31 Mar 2014 10:03:07 +0000 (10:03 +0000)]
Merge "Remove use of pthread_cond_timedwait_monotonic."