OSDN Git Service

android-x86/art.git
10 years agoDon't get and restore thread state for ScopedFastNativeObjectAccess.
Mathieu Chartier [Mon, 19 May 2014 17:52:16 +0000 (10:52 -0700)]
Don't get and restore thread state for ScopedFastNativeObjectAccess.

Before we would ensure that we were runnable for fast native object
access. However, these are done when you are already runnable.

Change-Id: Ia4c6e4c83d146fe2a988b37b3133ca46b0f0fa42

10 years agoMerge "Add ISA directory to image and odex pathnames."
Brian Carlstrom [Mon, 19 May 2014 16:50:20 +0000 (16:50 +0000)]
Merge "Add ISA directory to image and odex pathnames."

10 years agoMerge "Increase the size of guard for Stack Overflow (x86_64)"
Andreas Gampe [Mon, 19 May 2014 15:06:54 +0000 (15:06 +0000)]
Merge "Increase the size of guard for Stack Overflow (x86_64)"

10 years agoMerge "Build live ranges in preparation for register allocation."
Nicolas Geoffray [Mon, 19 May 2014 09:24:53 +0000 (09:24 +0000)]
Merge "Build live ranges in preparation for register allocation."

10 years agoBuild live ranges in preparation for register allocation.
Nicolas Geoffray [Fri, 16 May 2014 08:28:54 +0000 (09:28 +0100)]
Build live ranges in preparation for register allocation.

Change-Id: I7ae24afaa4e49276136bf34f4ba7d62db7f28c01

10 years agoIncrease the size of guard for Stack Overflow (x86_64)
Serguei Katkov [Wed, 14 May 2014 10:00:05 +0000 (17:00 +0700)]
Increase the size of guard for Stack Overflow (x86_64)

24K stack overflow guard is not enough for 64-bit working in
Interpreter mode. ART unit test 107-int-math2 crashes with it.

Patch increases the size to 32KB.

Change-Id: I8935c0f50f87c5ae0784dbae8be9db57ce2aebb3
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoMerge "Make vixl tests a dependency in the vixl makefile."
Ian Rogers [Sun, 18 May 2014 22:09:12 +0000 (22:09 +0000)]
Merge "Make vixl tests a dependency in the vixl makefile."

10 years agoMake vixl tests a dependency in the vixl makefile.
Ian Rogers [Sun, 18 May 2014 20:03:52 +0000 (13:03 -0700)]
Make vixl tests a dependency in the vixl makefile.

This fixes run test-art-host for 64-bit hosts.
Depends upon: https://android-review.googlesource.com/#/c/94999/

Change-Id: Ic595b7a5f6c5ddb86b5b4c20e626baba6ac7a28e

10 years agoMerge "Delete ClassHelper and fix compaction bug in GetDirectInterface"
Mathieu Chartier [Sun, 18 May 2014 20:00:29 +0000 (20:00 +0000)]
Merge "Delete ClassHelper and fix compaction bug in GetDirectInterface"

10 years agoDelete ClassHelper and fix compaction bug in GetDirectInterface
Mathieu Chartier [Fri, 16 May 2014 17:59:25 +0000 (10:59 -0700)]
Delete ClassHelper and fix compaction bug in GetDirectInterface

Cleanup helps to prevent compaction bugs. Fixed a fairly serious
compaction error caused by calling ClassHelper::GetDirectInterface
without handling the case where it causes thread suspension due to
ResolveType.

Bug: 8981901

Change-Id: I82b3bb6dd48d21eb6ece7aae0733c4a23c2bc408

10 years agoMerge "ART: Move start of linear mmap_scan out of reserved space"
Andreas Gampe [Sat, 17 May 2014 01:45:05 +0000 (01:45 +0000)]
Merge "ART: Move start of linear mmap_scan out of reserved space"

10 years agoART: Move start of linear mmap_scan out of reserved space
Andreas Gampe [Sat, 17 May 2014 00:28:58 +0000 (17:28 -0700)]
ART: Move start of linear mmap_scan out of reserved space

The first 64KB are protected by SELinux, and we will never be
able to acquire them.

Bug: 15024270
Change-Id: I186a0d5262d396a089d4028a8527a9c56f96dc49

10 years agoMerge "Fix generic jni issue in ArtMethod::GetQuickFrameInfo"
Andreas Gampe [Sat, 17 May 2014 00:24:16 +0000 (00:24 +0000)]
Merge "Fix generic jni issue in ArtMethod::GetQuickFrameInfo"

10 years agoFix generic jni issue in ArtMethod::GetQuickFrameInfo
Dmitry Petrochenko [Fri, 16 May 2014 10:43:39 +0000 (17:43 +0700)]
Fix generic jni issue in ArtMethod::GetQuickFrameInfo

The 64-bit host mode fails to start due to incorrect
detection of GetQuickGenericJniTrampoline.
The quick_code is 32-bit and taken from oat file, but
GetQuickGenericJniTrampoline returnf 0x7fffxx (64-bit)
address of trampoline and execution went to incorrect way.

Some clean-up.

Original Author: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Change-Id: I0952443b2a9f6833ad37ec373837ae208681fad7

10 years agoMerge "Visit methods in stack frames during root visits."
Hiroshi Yamauchi [Sat, 17 May 2014 00:08:37 +0000 (00:08 +0000)]
Merge "Visit methods in stack frames during root visits."

10 years agoAdd ISA directory to image and odex pathnames.
Brian Carlstrom [Thu, 15 May 2014 00:44:28 +0000 (17:44 -0700)]
Add ISA directory to image and odex pathnames.

Bug: 14882223
Bug: 14694978
Change-Id: Ic1b5ae836b8e91ea461dcd4f3da8e38dc3bec00f

10 years agoMerge "ART: Turn off ARM64 compilation for now"
Andreas Gampe [Fri, 16 May 2014 22:47:16 +0000 (22:47 +0000)]
Merge "ART: Turn off ARM64 compilation for now"

10 years agoART: Turn off ARM64 compilation for now
Andreas Gampe [Fri, 16 May 2014 22:45:02 +0000 (15:45 -0700)]
ART: Turn off ARM64 compilation for now

When no compiler filter string is given to dex2oat for ARM64,
default to interpreter.

Change-Id: I2a97e07b1d9b75a04aafe4aaa4437e500bdaf202

10 years agoVisit methods in stack frames during root visits.
Hiroshi Yamauchi [Fri, 16 May 2014 04:43:59 +0000 (21:43 -0700)]
Visit methods in stack frames during root visits.

This is necessary for a Baker-style read barrier to-space invariant to
hold. That is, an object either needs to be marked/forwarded as root
or it must be accessed only through a read barrier by mutators. Since
stack frames have direct pointers to methods that a mutator can access
without a read barrier, stack frame methods have to be visited as
root, which makes sense as stack frames are thread roots. This is the
case even if methods do not move as they have to be marked 'gray' for
the objects pointed to by them, which can move, to be recursively
marked/forwarded.

This also puts us in the right direction toward moving methods (and
fields) in the future.

Bug: 12687968
Change-Id: Id32b913c021a140073deea9149a8782e8f308303

10 years agoMerge "Add missing header necessary for libc++."
Ian Rogers [Fri, 16 May 2014 19:28:33 +0000 (19:28 +0000)]
Merge "Add missing header necessary for libc++."

10 years agoAdd missing header necessary for libc++.
Ian Rogers [Fri, 16 May 2014 19:27:03 +0000 (12:27 -0700)]
Add missing header necessary for libc++.

Change-Id: I0fe951f681415cf40b3e3f606feffd5bd6bd14c8

10 years agoMerge "64-bit host multilib build."
Ying Wang [Fri, 16 May 2014 18:28:52 +0000 (18:28 +0000)]
Merge "64-bit host multilib build."

10 years agoMerge "ART: Add support for constant vector literals"
Bill Buzbee [Fri, 16 May 2014 18:06:42 +0000 (18:06 +0000)]
Merge "ART: Add support for constant vector literals"

10 years agoART: Add support for constant vector literals
Mark Mendell [Tue, 29 Apr 2014 20:55:20 +0000 (16:55 -0400)]
ART: Add support for constant vector literals

Add in some vector instructions.  Implement the ConstVector
instruction, which takes 4 words of data and loads it into
an XMM register.

Initially, only the ConstVector MIR opcode is implemented. Others will
be added after this one goes in.

Change-Id: I5c79bc8b7de9030ef1c213fc8b227debc47f6337
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
10 years ago64-bit host multilib build.
Ying Wang [Thu, 24 Apr 2014 01:19:44 +0000 (18:19 -0700)]
64-bit host multilib build.

Bug: 13751317
Change-Id: I98c0d593e441add79d51ec1b690c4abd3489a8cf

10 years agoMerge "Change ObjectLock to take Handle instead of Handle pointer."
Mathieu Chartier [Fri, 16 May 2014 17:41:50 +0000 (17:41 +0000)]
Merge "Change ObjectLock to take Handle instead of Handle pointer."

10 years agoChange ObjectLock to take Handle instead of Handle pointer.
Mathieu Chartier [Fri, 16 May 2014 16:59:29 +0000 (09:59 -0700)]
Change ObjectLock to take Handle instead of Handle pointer.

Change-Id: I9abdcdc5c9c9174634336b9250ab24c6aee434ec

10 years agoMerge "Add x86_64 code generation support"
Bill Buzbee [Fri, 16 May 2014 17:31:55 +0000 (17:31 +0000)]
Merge "Add x86_64 code generation support"

10 years agoMerge "add make target variables for gtests"
Tsu Chiang Chuang [Fri, 16 May 2014 17:22:54 +0000 (17:22 +0000)]
Merge "add make target variables for gtests"

10 years agoMerge "ART: Fix Segment Fault with null owner while monitor logging is enabled"
Mathieu Chartier [Fri, 16 May 2014 16:37:42 +0000 (16:37 +0000)]
Merge "ART: Fix Segment Fault with null owner while monitor logging is enabled"

10 years agoART: Fix Segment Fault with null owner while monitor logging is enabled
Haifeng Li [Fri, 16 May 2014 02:47:59 +0000 (10:47 +0800)]
ART: Fix Segment Fault with null owner while monitor logging is enabled

When the monitor inflates from thin to fat with the existing hashcode,
the owner is nullptr, which will cause segment fault with
owner->GetThreadId().

Change-Id: I90081d581a0ffd3d38763cc175fd2d7f66076747

10 years agoadd make target variables for gtests
Tsu Chiang Chuang [Fri, 16 May 2014 04:16:21 +0000 (21:16 -0700)]
add make target variables for gtests

Change-Id: I109dca4ffdb35484cdee49751cb5bb3be10dcb60

10 years agoMerge "AArch64: Fix quick compiler monitor implementation."
Bill Buzbee [Fri, 16 May 2014 12:34:27 +0000 (12:34 +0000)]
Merge "AArch64: Fix quick compiler monitor implementation."

10 years agoMerge "dalvikvm: create the dalvikvm symlink to the primary version"
Narayan Kamath [Fri, 16 May 2014 12:18:09 +0000 (12:18 +0000)]
Merge "dalvikvm: create the dalvikvm symlink to the primary version"

10 years agoAArch64: Fix quick compiler monitor implementation.
Zheng Xu [Thu, 15 May 2014 16:21:01 +0000 (17:21 +0100)]
AArch64: Fix quick compiler monitor implementation.

Also with some small fixes :
1. Enable some dex byte code to compile.
2. Copy the register definition from runtime.cc.
3. A quick fix for "cmp Wn, Wm" in the assembler.
4. Optimise GenMoveException a bit by using xzr.
5. Fix improper use of StoreValueWide() on 32-bit value in FlushIns().
6. Fix one debug assert in the assembler.
It can pass all cases in run-all-test, except 044 which also fails with
the interpreter.

Change-Id: I9cc0253f1039c78d5100640235ac33e884b02560

10 years agoMerge "Workaround for multi-line comment error when compiled with g++."
Nicolas Geoffray [Fri, 16 May 2014 08:48:11 +0000 (08:48 +0000)]
Merge "Workaround for multi-line comment error when compiled with g++."

10 years agoWorkaround for multi-line comment error when compiled with g++.
Nicolas Geoffray [Fri, 16 May 2014 08:36:00 +0000 (09:36 +0100)]
Workaround for multi-line comment error when compiled with g++.

Change-Id: I2f6921d698688526bc52cd7dd33fd39c6853dc09

10 years agoMerge "Linearize the graph before creating live ranges."
Nicolas Geoffray [Fri, 16 May 2014 08:10:05 +0000 (08:10 +0000)]
Merge "Linearize the graph before creating live ranges."

10 years agoLinearize the graph before creating live ranges.
Nicolas Geoffray [Wed, 14 May 2014 08:43:38 +0000 (09:43 +0100)]
Linearize the graph before creating live ranges.

Change-Id: I02eb5671e3304ab062286131745c1366448aff58

10 years agoMerge "Fix JDWP location event report on return instructions"
Sebastien Hertz [Fri, 16 May 2014 06:14:47 +0000 (06:14 +0000)]
Merge "Fix JDWP location event report on return instructions"

10 years agoMerge "Compatibility layer to transition from UniquePtr to std::unique_ptr."
Ian Rogers [Fri, 16 May 2014 00:06:58 +0000 (00:06 +0000)]
Merge "Compatibility layer to transition from UniquePtr to std::unique_ptr."

10 years agoCompatibility layer to transition from UniquePtr to std::unique_ptr.
Ian Rogers [Thu, 15 May 2014 23:42:40 +0000 (16:42 -0700)]
Compatibility layer to transition from UniquePtr to std::unique_ptr.

Use ART_WITH_STLPORT (enabled for the target) to cause the use of UniquePtr,
for the host switch to std::unique_ptr. For now the type remains called
UniquePtr.
Make dalvik compile with clang on the host, move its build to C++11.

Change-Id: I5ba8d2757904bc089ed62047ea03de3c0853fb12

10 years agoMerge "ART: A Compile Filter for x86_64"
Bill Buzbee [Thu, 15 May 2014 22:07:33 +0000 (22:07 +0000)]
Merge "ART: A Compile Filter for x86_64"

10 years agoMerge "Avoid some unnecessary use of stl types."
Ian Rogers [Thu, 15 May 2014 21:53:16 +0000 (21:53 +0000)]
Merge "Avoid some unnecessary use of stl types."

10 years agoAvoid some unnecessary use of stl types.
Ian Rogers [Thu, 15 May 2014 21:47:50 +0000 (14:47 -0700)]
Avoid some unnecessary use of stl types.

May be a minor performance win but really done for libc++ as this removes a
dependency on a library function whose prototype includes a std::string.

Change-Id: Ifc07a9caef1206caf2a69a6e1b0bfc0ba56c8c62

10 years agoMerge "ART: Make build error a warning for TARGET_CPU_SMP"
Andreas Gampe [Thu, 15 May 2014 21:45:44 +0000 (21:45 +0000)]
Merge "ART: Make build error a warning for TARGET_CPU_SMP"

10 years agoART: Make build error a warning for TARGET_CPU_SMP
Andreas Gampe [Thu, 15 May 2014 20:54:25 +0000 (13:54 -0700)]
ART: Make build error a warning for TARGET_CPU_SMP

Builds that do not build for targets will not have this information.
Make it a warning.

Change-Id: Ibd5fa6f5d2c1cf6d86de30df24d25eddb23fb81d

10 years agoMerge "Move RoS allocator to use unordered_set."
Ian Rogers [Thu, 15 May 2014 21:33:42 +0000 (21:33 +0000)]
Merge "Move RoS allocator to use unordered_set."

10 years agoMerge "Workaround x86 interpretter stack overflow"
Brian Carlstrom [Thu, 15 May 2014 20:09:03 +0000 (20:09 +0000)]
Merge "Workaround x86 interpretter stack overflow"

10 years agoMerge "Quick Compiler: fix Arm cts failures"
Bill Buzbee [Thu, 15 May 2014 19:55:32 +0000 (19:55 +0000)]
Merge "Quick Compiler: fix Arm cts failures"

10 years agoQuick Compiler: fix Arm cts failures
Bill Buzbee [Thu, 15 May 2014 13:57:54 +0000 (13:57 +0000)]
Quick Compiler: fix Arm cts failures

Fixes move_wide_16#testN1, move_wide_16#testN2

Two bugs for the price of one (thanks CTS!)

First, the new stack overflow checking code was broken for very
large frames.  For Arm on method entry, we only have 1 available
temp register, r12, until argument registers are flushed.
Previously, for explicit checks on large frames,
r12 was immediately loaded with the stack_end value.  However,
later on when the frame is extended, if the frame size exceeds
the range of a reg-reg-imm subtract, the codegen utilities will
allocate a new temporary register to complete the operation. r12
was getting clobbered.  Similarly, for medium-large frames r12
could get clobbered during frame creation.

What we should always do when directly using fixed registers like
this is to lock them to prevent them from being allocated as a
temp.  The other half of the first bug is easily solved by delaying
the load of stack_end until after the new sp is computed.  We'll
increase the stall cost, but this is an uncommon case.

The second bug was likely a typo in LoadValueDisp().  I'm a bit
surprised we hadn't hit this one earlier - but perhaps it was
recently introduced.  The wrong base register was being used in
the non-float, wide, excessive offset case (which I suppose is also
somewhat uncommon).

Cherry-pick of internal commit If5b30f729e31d86db604045dd7581fd4626e0b55

Change-Id: If5b30f729e31d86db604045dd7581fd4626e0b55

10 years agoMerge "ART: Fix MonitorExit code on ARM"
Andreas Gampe [Thu, 15 May 2014 19:34:40 +0000 (19:34 +0000)]
Merge "ART: Fix MonitorExit code on ARM"

10 years agoART: Fix MonitorExit code on ARM
Andreas Gampe [Thu, 15 May 2014 18:16:06 +0000 (11:16 -0700)]
ART: Fix MonitorExit code on ARM

We do not emit barriers on non-SMP systems. But on ARM, we have
places that need to conditionally execute, which is done through
an IT instruction. The guide of said instruction thus changes
between SMP and non-SMP systems.

To cleanly approach this, change the API so that GenMemBarrier
returns whether it generated an instruction. ARM will have to
query the result and update any dependent IT.

Throw a build system error if TARGET_CPU_SMP is not set.

Fix runtime/Android.mk to work with new multilib host.

Bug: 14989275
Change-Id: I9e611b770e8a1cd4ca19367d7dae0573ec08dc61

10 years agoMove RoS allocator to use unordered_set.
Ian Rogers [Thu, 15 May 2014 18:43:06 +0000 (11:43 -0700)]
Move RoS allocator to use unordered_set.

Work-around existing stlport issues for the target. This will go away when the
target is using libc++.

Change-Id: I8f213ecd9dc7d93d17f4a0d7e84182c12af6ca1b

10 years agoWorkaround x86 interpretter stack overflow
Brian Carlstrom [Thu, 15 May 2014 18:18:29 +0000 (11:18 -0700)]
Workaround x86 interpretter stack overflow

Bug: 14982147
Change-Id: I5fa5c30dbac7e50dd6dd7c8d12bbc769c0dfc150

10 years agoMerge "Don't import llvm.mk for non-portable builds."
Ian Rogers [Thu, 15 May 2014 17:23:38 +0000 (17:23 +0000)]
Merge "Don't import llvm.mk for non-portable builds."

10 years agoMerge "Declare variable for all art oat tests"
Tsu Chiang Chuang [Thu, 15 May 2014 17:08:31 +0000 (17:08 +0000)]
Merge "Declare variable for all art oat tests"

10 years agoDeclare variable for all art oat tests
Tsu Chiang Chuang [Thu, 15 May 2014 16:59:33 +0000 (09:59 -0700)]
Declare variable for all art oat tests

Change-Id: If0795928ab08bbce80479eec32b987662631b8cf

10 years agoMerge "Improve large object free CHECK"
Mathieu Chartier [Thu, 15 May 2014 16:43:53 +0000 (16:43 +0000)]
Merge "Improve large object free CHECK"

10 years agoImprove large object free CHECK
Mathieu Chartier [Thu, 15 May 2014 16:35:48 +0000 (09:35 -0700)]
Improve large object free CHECK

The new CHECK prints the address of the object.

Bug: 14974497

Change-Id: I8e9e9f66767a220330cc77ef6549529bb2ac4112

10 years agoMerge "Fix CompilationUnit constructor issues."
Ian Rogers [Thu, 15 May 2014 16:20:42 +0000 (16:20 +0000)]
Merge "Fix CompilationUnit constructor issues."

10 years agoFix CompilationUnit constructor issues.
Ian Rogers [Thu, 15 May 2014 16:11:23 +0000 (09:11 -0700)]
Fix CompilationUnit constructor issues.

Ensure target64 is initialized. Switch from NULL to nullptr as the former gives
compilation errors with std::unique_ptr from libc++.

Change-Id: I7153368d9324d10ef257f7c7ce9571a1753e5ba8

10 years agoDon't import llvm.mk for non-portable builds.
Ian Rogers [Thu, 15 May 2014 16:03:20 +0000 (09:03 -0700)]
Don't import llvm.mk for non-portable builds.

Change-Id: I447e7d816c0e4f84bc4d13bc34ff93b026d192b5

10 years agoFix JDWP location event report on return instructions
Sebastien Hertz [Thu, 15 May 2014 08:48:53 +0000 (10:48 +0200)]
Fix JDWP location event report on return instructions

After change https://android-review.googlesource.com/94334, the debugger may
listen to kDexPcChange event without listening for kMethodExit event. In this
case, we need to report kDexPcChange event on RETURN instructions.

Bug: 11874828
Change-Id: Ic61f4eec71e7ece494bee628d7f3358a616d31d3

10 years agoMerge "ART: Resolve MAP_32BIT limitation in x86_64"
Andreas Gampe [Thu, 15 May 2014 14:45:44 +0000 (14:45 +0000)]
Merge "ART: Resolve MAP_32BIT limitation in x86_64"

10 years agoMerge "Fix build"
Sebastien Hertz [Thu, 15 May 2014 09:30:08 +0000 (09:30 +0000)]
Merge "Fix build"

10 years agoFix build
Sebastien Hertz [Thu, 15 May 2014 09:26:34 +0000 (11:26 +0200)]
Fix build

Fix format error.

Change-Id: Ic793c52f46d645bf88ea6b28d5b4fa1bdb315a20

10 years agoMerge "Register debugger for interesting instrumentation events only"
Sebastien Hertz [Thu, 15 May 2014 08:10:45 +0000 (08:10 +0000)]
Merge "Register debugger for interesting instrumentation events only"

10 years agoRegister debugger for interesting instrumentation events only
Sebastien Hertz [Tue, 13 May 2014 12:15:41 +0000 (14:15 +0200)]
Register debugger for interesting instrumentation events only

This avoids the overhead of notifying events (like method entry/exit, field
read/write, ...) from the interpreter when they are not requested on the JDWP
side. It also avoids burning JDWP ids for objects and classes before we find
out we do not need to report the event.

When we register a JDWP event (like a breakpoint), we add the debugger as
a listener for the corresponding instrumentation event (like kDexPcChanged).
On the other hand, when a JDWP event is cleared, we remove the debugger as a
listener for the corresponding instrumentation event. To control we add/remove
the debugger as listener only once per instrumentation event, we use reference
counting.

Like deoptimization, we can update instrumentation listeners only when when all
mutator threads are suspended. To add or remove the debugger as listener, we
extend the support of deoptimization requests to a more general support dealing
with instrumentation requests.
We add kRegisterForEvent and kUnregisterForEvent request kinds, respectively to
add or remove the debugger as a listener for a given instrumentation event.
Note: we will rename the related classes, methods, ... to avoid pollution in
the code review.

This CL also fixes Instrumentation::IsActive to take field read/write events
into account.

Bug: 14401699
Bug: 14826953
Change-Id: Ic896469e82a8589de419ebea4b9dc3116925f3ab

10 years agoMerge "Combine JDWP location events"
Sebastien Hertz [Thu, 15 May 2014 06:56:11 +0000 (06:56 +0000)]
Merge "Combine JDWP location events"

10 years agoART: Resolve MAP_32BIT limitation in x86_64
Qiming Shi [Thu, 24 Apr 2014 07:38:41 +0000 (15:38 +0800)]
ART: Resolve MAP_32BIT limitation in x86_64

Add checks that ensure when low4gb is set and an expected pointer
is given the requested memory fits into 4GB.

On x86_64, only use MAP_32BIT when there is no expected pointer.
This avoids a limitation in mmap (only 2GB visible).

Add tests to check behavior.

Original Author: Qiming Shi <qiming.shi@intel.com>
Change-Id: Ia2e3e0a46764ef70126b0c264f1fae681622d3cb

10 years agoMerge "ART: Fix oat_test for 64b"
Andreas Gampe [Thu, 15 May 2014 01:19:02 +0000 (01:19 +0000)]
Merge "ART: Fix oat_test for 64b"

10 years agoART: Fix oat_test for 64b
Andreas Gampe [Thu, 15 May 2014 00:37:41 +0000 (17:37 -0700)]
ART: Fix oat_test for 64b

The QuickEntryPoints structure has a size dependent on the pointer
size.

Change-Id: I369353200430a6ccaccded7589105312fd411b97

10 years agoMerge "ART: Fix typo in ArtMethod::FindCatchBlock"
Andreas Gampe [Thu, 15 May 2014 00:35:31 +0000 (00:35 +0000)]
Merge "ART: Fix typo in ArtMethod::FindCatchBlock"

10 years agoART: Fix typo in ArtMethod::FindCatchBlock
Andreas Gampe [Wed, 14 May 2014 04:42:05 +0000 (21:42 -0700)]
ART: Fix typo in ArtMethod::FindCatchBlock

The thrown exception is always resolved, as we have an instance of
it. What is potentially not resolved is the catch handler's exception
type.

The resolution failure will trigger a NoClassDefFoundError, which
should replace the original exception. For this, the API has to be
changed a little bit to tell callers that there was this change.

Change-Id: Id51d54a15c732ed175eb617b3b0331b89cbb2051

10 years agoMerge "Fix race in inflating thin locks."
Mathieu Chartier [Thu, 15 May 2014 00:32:14 +0000 (00:32 +0000)]
Merge "Fix race in inflating thin locks."

10 years agoFix race in inflating thin locks.
Mathieu Chartier [Wed, 14 May 2014 23:51:03 +0000 (16:51 -0700)]
Fix race in inflating thin locks.

Before we were inflating the lock word in the blocked state, this
meant that the garbage collector could be running at this point
resulting in the lock word changing from underneath us.

Bug: 14881707
Change-Id: If8897b2572a1b29a3cf44e5eb2e11c186236f519

10 years agoMerge "ART: Fix PWD in oat tests"
Andreas Gampe [Wed, 14 May 2014 23:55:45 +0000 (23:55 +0000)]
Merge "ART: Fix PWD in oat tests"

10 years agoMerge "Declare variable for all art dex tests."
Brian Carlstrom [Wed, 14 May 2014 23:47:34 +0000 (23:47 +0000)]
Merge "Declare variable for all art dex tests."

10 years agoMerge "ART: Fix comments for dmb"
Andreas Gampe [Wed, 14 May 2014 23:36:59 +0000 (23:36 +0000)]
Merge "ART: Fix comments for dmb"

10 years agoART: Fix comments for dmb
Andreas Gampe [Wed, 14 May 2014 23:28:34 +0000 (16:28 -0700)]
ART: Fix comments for dmb

Update the comments to mention correct barrier type.

Bug: 14680557
Change-Id: I26df43078c189cf16cc65e99b851981cbd063017

10 years agoMerge "ART: Fix ARM dmb placement in monitor-exit"
Andreas Gampe [Wed, 14 May 2014 23:18:50 +0000 (23:18 +0000)]
Merge "ART: Fix ARM dmb placement in monitor-exit"

10 years agoART: Fix PWD in oat tests
Andreas Gampe [Wed, 14 May 2014 22:33:03 +0000 (15:33 -0700)]
ART: Fix PWD in oat tests

PWD is not correct when OUT_DIR_COMMON_BASE is set to build into
a different out directory. Replace with $(realpath X).

Change-Id: I050bb859271c21ee1ecabbacd8c40669ae34accb

10 years agoMerge "Address comments from HandleScope change."
Mathieu Chartier [Wed, 14 May 2014 22:28:33 +0000 (22:28 +0000)]
Merge "Address comments from HandleScope change."

10 years agoMerge "64-bit build fix."
Ian Rogers [Wed, 14 May 2014 21:39:18 +0000 (21:39 +0000)]
Merge "64-bit build fix."

10 years ago64-bit build fix.
Ian Rogers [Wed, 14 May 2014 21:38:16 +0000 (14:38 -0700)]
64-bit build fix.

sizeof vs jlong comparison.

Change-Id: I6d9377e71169911201b2342d914ac014eb9c0b4a

10 years agoAddress comments from HandleScope change.
Mathieu Chartier [Wed, 14 May 2014 21:11:40 +0000 (14:11 -0700)]
Address comments from HandleScope change.

For:
https://android-review.googlesource.com/#/c/93793

Change-Id: I020d22a1508bf4f1770e6806d70e4fbb9a0fa0ab

10 years agoMerge "Ensure JNI primitive array type is appropriate."
Ian Rogers [Wed, 14 May 2014 19:09:45 +0000 (19:09 +0000)]
Merge "Ensure JNI primitive array type is appropriate."

10 years agoEnsure JNI primitive array type is appropriate.
Ian Rogers [Tue, 13 May 2014 02:15:18 +0000 (19:15 -0700)]
Ensure JNI primitive array type is appropriate.

Check the primitive array type for GetPrimitiveArray, ReleasePrimitiveArray,
GetPrimitiveArrayRegion and SetPrimitiveArrayRegion matches the given array
type. Check the GetPrimitiveArrayCritical and ReleasePrimitiveArrayCritical are
given a primitive array.
Add unit tests that null parameters lead to fatal errors, not crashes. Fix
issues where CheckJNI assumed non-null arguments.
Tidy testing code via the use of nullptr. Add a few extra checks.
Ensure arrays of void are not able to be created, use RI compatible
NoClassDefError.

Bug: 14817823

Change-Id: I9903bcd800d0da1988ced07f61fb97b783c5deab

10 years agoDeclare variable for all art dex tests.
Tsu Chiang Chuang [Tue, 13 May 2014 22:27:13 +0000 (15:27 -0700)]
Declare variable for all art dex tests.

Change-Id: Icd073e99ebf6bc8eb2bcc715685b0def9d133b85

10 years agodalvikvm: create the dalvikvm symlink to the primary version
Yongqin Liu [Tue, 13 May 2014 09:51:47 +0000 (17:51 +0800)]
dalvikvm: create the dalvikvm symlink to the primary version

use executable_prefer_symlink.mk to create the dalvikvm symlink
to the primary version of dalvikvm command.
So that the modules call dalvikvm command don't need to change again.

Change-Id: Ie5cefc26dc90fb56c35b6b9e4537eda126f61ea1
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
10 years agoMerge "Remove ISA from boot image name."
Brian Carlstrom [Wed, 14 May 2014 16:27:53 +0000 (16:27 +0000)]
Merge "Remove ISA from boot image name."

10 years agoRemove ISA from boot image name.
Brian Carlstrom [Wed, 14 May 2014 02:31:38 +0000 (19:31 -0700)]
Remove ISA from boot image name.

Partially reverts b9beb2e2efb6a204a69ca660d478b45f851e8f09

Bug: 14882223

(cherry picked from commit 3da44327c8306bb354c0163a7c7779dea6eeb38a)

Change-Id: Idc9266a97d1047434c110ef140e2f2708c4aadef

10 years agoMerge "Add a compilation tracing mechanism to the new compiler."
Nicolas Geoffray [Wed, 14 May 2014 13:27:44 +0000 (13:27 +0000)]
Merge "Add a compilation tracing mechanism to the new compiler."

10 years agoAdd a compilation tracing mechanism to the new compiler.
Nicolas Geoffray [Wed, 14 May 2014 08:43:38 +0000 (09:43 +0100)]
Add a compilation tracing mechanism to the new compiler.

Code mostly imported from: https://android-review.googlesource.com/#/c/81653/.

Change-Id: I150fe942be0fb270e03fabb19032180f7a065d13

10 years agoMerge "Support any cpu register sequence in LoadArgRegs"
Bill Buzbee [Wed, 14 May 2014 13:24:39 +0000 (13:24 +0000)]
Merge "Support any cpu register sequence in LoadArgRegs"

10 years agoMerge "x86_64: Handle UnsafeGet/Put equal to x86"
Bill Buzbee [Wed, 14 May 2014 13:22:45 +0000 (13:22 +0000)]
Merge "x86_64: Handle UnsafeGet/Put equal to x86"

10 years agoMerge "Fix special getter/setter to use RegClassForFieldLoadStore()."
Vladimir Marko [Wed, 14 May 2014 10:23:03 +0000 (10:23 +0000)]
Merge "Fix special getter/setter to use RegClassForFieldLoadStore()."

10 years agoFix special getter/setter to use RegClassForFieldLoadStore().
Vladimir Marko [Tue, 13 May 2014 16:53:49 +0000 (17:53 +0100)]
Fix special getter/setter to use RegClassForFieldLoadStore().

This ensures correct register class is used for volatile
load/store in these getters and setters.

Bug: 14112919
Change-Id: Ib7aa83d441fb007e97f9acc2a778bc20ffed837c

10 years agoART: A Compile Filter for x86_64
Vladimir Kostyukov [Tue, 13 May 2014 05:12:00 +0000 (12:12 +0700)]
ART: A Compile Filter for x86_64

This patch enables an x86_64 compile filter for everything
we're not ready to compile right now.

Signed-off-by: Vladimir Kostyukov <vladimir.kostyukov@intel.com>
Change-Id: I9ba87cf7f05e3465f12fd16a87b54f9649baf88a