OSDN Git Service
Ian Rogers [Tue, 20 May 2014 05:29:04 +0000 (05:29 +0000)]
Merge "Now we have a proper C++ library, use std::unique_ptr."
Ian Rogers [Mon, 19 May 2014 23:49:03 +0000 (16:49 -0700)]
Now we have a proper C++ library, use std::unique_ptr.
Also remove the Android.libcxx.mk and other bits of stlport compatibility
mechanics.
Change-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61
Brian Carlstrom [Tue, 20 May 2014 05:12:31 +0000 (05:12 +0000)]
Merge "Updating clean-oat again"
buzbee [Tue, 20 May 2014 03:10:48 +0000 (03:10 +0000)]
Merge "Quick compiler, out of registers fix"
buzbee [Sun, 18 May 2014 06:16:26 +0000 (23:16 -0700)]
Quick compiler, out of registers fix
It turns out that the register pool sanity checker was not
working as expected, leaving some inconsistencies unreported.
This could result in "out of registers" failures, as well
as other more subtle problems.
This CL fixes the sanity checker, adds a lot more check and cleans
up the previously undetected episodes of insanity.
Cherry-pick of internal change 468162
Change-Id: Id2da97e99105a4c272c5fd256205a94b904ecea8
Brian Carlstrom [Mon, 19 May 2014 23:09:42 +0000 (16:09 -0700)]
Updating clean-oat again
Also fix test-art-host-oat dex2oat'ing to use the proper new directory layout.
Change-Id: I4a65e88910a72dbe342c814551e4364d73e26e9c
Mathieu Chartier [Mon, 19 May 2014 23:48:46 +0000 (23:48 +0000)]
Merge "Don't get and restore thread state for ScopedFastNativeObjectAccess."
Andreas Gampe [Mon, 19 May 2014 23:20:26 +0000 (23:20 +0000)]
Merge "ART: Fix ARM64 long-jump context caller-save smashes"
Andreas Gampe [Mon, 19 May 2014 18:32:41 +0000 (11:32 -0700)]
ART: Fix ARM64 long-jump context caller-save smashes
In aarch64, d8-d15 are callee-saved. We smashed exactly the wrong
registers.
Add code to stub_test that checks whether the callee-saved fp
registers are preserved on ARM64. There are no callee-saved registers
for x86, so the invoke methods are not extended for those architectures.
Fix a minor type in callee-save frame setup for ARM64.
Bug:
14160872
Change-Id: I080fce6eda7d560b4efb610f0e9454f3471fa4f9
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
Hiroshi Yamauchi [Mon, 19 May 2014 21:19:54 +0000 (21:19 +0000)]
Merge "Check and log a to-space overflow explicitly."
Hiroshi Yamauchi [Mon, 19 May 2014 19:49:45 +0000 (12:49 -0700)]
Check and log a to-space overflow explicitly.
Measured no noticeable performance regression with Ritzperf
EvaluateAndApplyChanges and -Xgc:SS on Mako.
Change-Id: Ib5ab934b867f91789a82ae771b45c95e9d01390c
Ian Rogers [Mon, 19 May 2014 20:29:27 +0000 (20:29 +0000)]
Merge "Build fix."
Ian Rogers [Mon, 19 May 2014 20:28:52 +0000 (13:28 -0700)]
Build fix.
Change-Id: Ie5a3abb9a729a4a724e247b127c200a7be4d900d
Brian Carlstrom [Mon, 19 May 2014 19:08:33 +0000 (19:08 +0000)]
Merge "Remove unneeded realpath that was causing bad dependencies in a clean build"
Brian Carlstrom [Mon, 19 May 2014 18:58:55 +0000 (11:58 -0700)]
Remove unneeded realpath that was causing bad dependencies in a clean build
(cherry picked from commit
361b324a396071aa6e32ca3296ab07818f887e59)
Change-Id: I59756a4ad89014d01e4022caf63d1ac34bef5c07
Dan Albert [Mon, 19 May 2014 18:47:59 +0000 (18:47 +0000)]
Merge "Switch ART to libc++."
Ian Rogers [Fri, 16 May 2014 19:26:00 +0000 (12:26 -0700)]
Switch ART to libc++.
TODO: remove all vestiges of stlport.
Change-Id: I95a3cb0b53d0898f0a5d388b606e79522f4d85e0
Brian Carlstrom [Mon, 19 May 2014 18:22:18 +0000 (18:22 +0000)]
Merge "Follow up to "Add ISA directory to image and odex pathnames.""
Brian Carlstrom [Mon, 19 May 2014 17:25:33 +0000 (10:25 -0700)]
Follow up to "Add ISA directory to image and odex pathnames."
Change-Id: I7f08cc3052fbed93a56ccf1ab7675ae8bc129da9
Brian Carlstrom [Mon, 19 May 2014 16:50:20 +0000 (16:50 +0000)]
Merge "Add ISA directory to image and odex pathnames."
Andreas Gampe [Mon, 19 May 2014 15:06:54 +0000 (15:06 +0000)]
Merge "Increase the size of guard for Stack Overflow (x86_64)"
Nicolas Geoffray [Mon, 19 May 2014 09:24:53 +0000 (09:24 +0000)]
Merge "Build 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
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>
Ian Rogers [Sun, 18 May 2014 22:09:12 +0000 (22:09 +0000)]
Merge "Make 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
Mathieu Chartier [Sun, 18 May 2014 20:00:29 +0000 (20:00 +0000)]
Merge "Delete 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
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"
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
Andreas Gampe [Sat, 17 May 2014 00:24:16 +0000 (00:24 +0000)]
Merge "Fix 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
Hiroshi Yamauchi [Sat, 17 May 2014 00:08:37 +0000 (00:08 +0000)]
Merge "Visit methods in stack frames during root visits."
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
Andreas Gampe [Fri, 16 May 2014 22:47:16 +0000 (22:47 +0000)]
Merge "ART: 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
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
Ian Rogers [Fri, 16 May 2014 19:28:33 +0000 (19:28 +0000)]
Merge "Add 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
Ying Wang [Fri, 16 May 2014 18:28:52 +0000 (18:28 +0000)]
Merge "64-bit host multilib build."
Bill Buzbee [Fri, 16 May 2014 18:06:42 +0000 (18:06 +0000)]
Merge "ART: 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>
Ying Wang [Thu, 24 Apr 2014 01:19:44 +0000 (18:19 -0700)]
64-bit host multilib build.
Bug:
13751317
Change-Id: I98c0d593e441add79d51ec1b690c4abd3489a8cf
Mathieu Chartier [Fri, 16 May 2014 17:41:50 +0000 (17:41 +0000)]
Merge "Change 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
Bill Buzbee [Fri, 16 May 2014 17:31:55 +0000 (17:31 +0000)]
Merge "Add x86_64 code generation support"
Tsu Chiang Chuang [Fri, 16 May 2014 17:22:54 +0000 (17:22 +0000)]
Merge "add make target variables for gtests"
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"
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
Tsu Chiang Chuang [Fri, 16 May 2014 04:16:21 +0000 (21:16 -0700)]
add make target variables for gtests
Change-Id: I109dca4ffdb35484cdee49751cb5bb3be10dcb60
Bill Buzbee [Fri, 16 May 2014 12:34:27 +0000 (12:34 +0000)]
Merge "AArch64: Fix quick compiler monitor implementation."
Narayan Kamath [Fri, 16 May 2014 12:18:09 +0000 (12:18 +0000)]
Merge "dalvikvm: create the dalvikvm symlink to the primary version"
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
Nicolas Geoffray [Fri, 16 May 2014 08:48:11 +0000 (08:48 +0000)]
Merge "Workaround 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
Nicolas Geoffray [Fri, 16 May 2014 08:10:05 +0000 (08:10 +0000)]
Merge "Linearize 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
Sebastien Hertz [Fri, 16 May 2014 06:14:47 +0000 (06:14 +0000)]
Merge "Fix JDWP location event report on return instructions"
Ian Rogers [Fri, 16 May 2014 00:06:58 +0000 (00:06 +0000)]
Merge "Compatibility 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
Bill Buzbee [Thu, 15 May 2014 22:07:33 +0000 (22:07 +0000)]
Merge "ART: A Compile Filter for x86_64"
Ian Rogers [Thu, 15 May 2014 21:53:16 +0000 (21:53 +0000)]
Merge "Avoid 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
Andreas Gampe [Thu, 15 May 2014 21:45:44 +0000 (21:45 +0000)]
Merge "ART: 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
Ian Rogers [Thu, 15 May 2014 21:33:42 +0000 (21:33 +0000)]
Merge "Move RoS allocator to use unordered_set."
Brian Carlstrom [Thu, 15 May 2014 20:09:03 +0000 (20:09 +0000)]
Merge "Workaround x86 interpretter stack overflow"
Bill Buzbee [Thu, 15 May 2014 19:55:32 +0000 (19:55 +0000)]
Merge "Quick 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
Andreas Gampe [Thu, 15 May 2014 19:34:40 +0000 (19:34 +0000)]
Merge "ART: 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
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
Brian Carlstrom [Thu, 15 May 2014 18:18:29 +0000 (11:18 -0700)]
Workaround x86 interpretter stack overflow
Bug:
14982147
Change-Id: I5fa5c30dbac7e50dd6dd7c8d12bbc769c0dfc150
Ian Rogers [Thu, 15 May 2014 17:23:38 +0000 (17:23 +0000)]
Merge "Don't import llvm.mk for non-portable builds."
Tsu Chiang Chuang [Thu, 15 May 2014 17:08:31 +0000 (17:08 +0000)]
Merge "Declare 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
Mathieu Chartier [Thu, 15 May 2014 16:43:53 +0000 (16:43 +0000)]
Merge "Improve 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
Ian Rogers [Thu, 15 May 2014 16:20:42 +0000 (16:20 +0000)]
Merge "Fix 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
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
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
Andreas Gampe [Thu, 15 May 2014 14:45:44 +0000 (14:45 +0000)]
Merge "ART: Resolve MAP_32BIT limitation in x86_64"
Sebastien Hertz [Thu, 15 May 2014 09:30:08 +0000 (09:30 +0000)]
Merge "Fix build"
Sebastien Hertz [Thu, 15 May 2014 09:26:34 +0000 (11:26 +0200)]
Fix build
Fix format error.
Change-Id: Ic793c52f46d645bf88ea6b28d5b4fa1bdb315a20
Sebastien Hertz [Thu, 15 May 2014 08:10:45 +0000 (08:10 +0000)]
Merge "Register 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
Sebastien Hertz [Thu, 15 May 2014 06:56:11 +0000 (06:56 +0000)]
Merge "Combine JDWP location events"
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
Andreas Gampe [Thu, 15 May 2014 01:19:02 +0000 (01:19 +0000)]
Merge "ART: 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
Andreas Gampe [Thu, 15 May 2014 00:35:31 +0000 (00:35 +0000)]
Merge "ART: 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
Mathieu Chartier [Thu, 15 May 2014 00:32:14 +0000 (00:32 +0000)]
Merge "Fix 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
Andreas Gampe [Wed, 14 May 2014 23:55:45 +0000 (23:55 +0000)]
Merge "ART: Fix PWD in oat tests"
Brian Carlstrom [Wed, 14 May 2014 23:47:34 +0000 (23:47 +0000)]
Merge "Declare variable for all art dex tests."
Andreas Gampe [Wed, 14 May 2014 23:36:59 +0000 (23:36 +0000)]
Merge "ART: 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