OSDN Git Service
Mathieu Chartier [Thu, 22 May 2014 00:53:32 +0000 (00:53 +0000)]
Merge "Fix build."
Mathieu Chartier [Thu, 22 May 2014 00:48:25 +0000 (17:48 -0700)]
Fix build.
Old Atomic things were rebased over.
Change-Id: I437041af3247c316f2a75f5ef4bd35286fc8e2b1
Ian Rogers [Wed, 21 May 2014 23:19:19 +0000 (23:19 +0000)]
Merge "Begin migration of art::Atomic to std::atomic."
Andreas Gampe [Wed, 21 May 2014 22:20:22 +0000 (22:20 +0000)]
Merge "ART: Fix stub test inline assembly for x86"
Brian Carlstrom [Wed, 21 May 2014 22:11:02 +0000 (22:11 +0000)]
Merge "Fix test-art-target-oat for multi target"
Sebastien Hertz [Wed, 21 May 2014 14:06:49 +0000 (16:06 +0200)]
Fix test-art-target-oat for multi target
Avoids running dalvikvm with 32-bit native library. When the primary target is
64-bit, dalvikvm is a symlink to dalvikvm64 which can't load 32-bit native
library.
Bug:
15131102
Change-Id: I29c2f3b5a62b5f507674f3f6d1b9f3f2e5a9de23
Andreas Gampe [Wed, 21 May 2014 21:39:45 +0000 (14:39 -0700)]
ART: Fix stub test inline assembly for x86
Clang can handle the register pressure, but GCC can't. Make one
a memory constraint.
Change-Id: I49f048b29f5677449bf6ee6282516462332ee645
Andreas Gampe [Wed, 21 May 2014 21:20:18 +0000 (21:20 +0000)]
Merge "ART: Make StubTest IMT sanity check a warning"
Ian Rogers [Wed, 21 May 2014 21:18:13 +0000 (21:18 +0000)]
Merge "Work around Mac assembler differences."
Andreas Gampe [Wed, 21 May 2014 21:16:28 +0000 (21:16 +0000)]
Merge "ART: Fix libjavacore dependency"
Andreas Gampe [Wed, 21 May 2014 21:12:18 +0000 (14:12 -0700)]
ART: Make StubTest IMT sanity check a warning
It seems we can't rely on the specific test against a framework
class. Make the sanity check a warning right now, and fix this up
later.
Change-Id: I673edf33cb4a61e20a4ec806b311deebce86e4de
Andreas Gampe [Wed, 21 May 2014 18:14:35 +0000 (18:14 +0000)]
Merge "ART: Add INVOKE_TRAMPOLINE and imt_conflict stub to 64b architectures"
Andreas Gampe [Wed, 21 May 2014 15:28:48 +0000 (08:28 -0700)]
ART: Add INVOKE_TRAMPOLINE and imt_conflict stub to 64b architectures
"Generalize" the return type notion of the interface helpers.
Includes a simple test for imt_conflict. The other interface
trampolines are as of yet untested.
Change-Id: I30fc75f5103766d57628ff22bcbac7c7f81037e3
Andreas Gampe [Wed, 21 May 2014 18:02:08 +0000 (11:02 -0700)]
ART: Fix libjavacore dependency
Add a dependency for libjavacore for the secondary architecture.
Change-Id: I30f07c200e1cbb7d50b026fa6b21d09ab9aadd66
Mathieu Chartier [Wed, 21 May 2014 18:00:06 +0000 (18:00 +0000)]
Merge "Change zygote_creation_lock_ to be member instead of static."
Mathieu Chartier [Wed, 21 May 2014 17:44:32 +0000 (10:44 -0700)]
Change zygote_creation_lock_ to be member instead of static.
Static variables aren't thread safe and could cause the zygote to be
created twice.
Bug:
15133494
Change-Id: I65c8f089bed8de93f895b62b3dcff4c936931860
buzbee [Wed, 21 May 2014 15:08:33 +0000 (15:08 +0000)]
Merge "64-bit temp register support."
buzbee [Tue, 13 May 2014 22:59:07 +0000 (15:59 -0700)]
64-bit temp register support.
Add a 64-bit temp register allocation path. The recent physical
register handling rework supports multiple views of the same
physical register (or, such as for Arm's float/double regs,
different parts of the same physical register).
This CL adds a 64-bit core register view for 64-bit targets. In
short, each core register will have a 64-bit name, and a 32-bit
name. The different views will be kept in separate register pools,
but aliasing will be tracked. The core temp register allocation
routines will be largely identical - except for 32-bit targets,
which will continue to use pairs of 32-bit core registers for holding
long values.
Change-Id: I8f118e845eac7903ad8b6dcec1952f185023c053
Ian Rogers [Wed, 21 May 2014 06:52:19 +0000 (23:52 -0700)]
Work around Mac assembler differences.
Change-Id: Iba46c1794044e92f5a25bf7f836e0d919ed1f38c
Ian Rogers [Tue, 20 May 2014 23:40:37 +0000 (16:40 -0700)]
Begin migration of art::Atomic to std::atomic.
Change-Id: I4858d9cbed95e5ca560956b9dabd976cebe68333
Hiroshi Yamauchi [Wed, 21 May 2014 01:08:10 +0000 (01:08 +0000)]
Merge "Simplify Class::IsArtFieldClass()."
Hiroshi Yamauchi [Tue, 20 May 2014 20:46:00 +0000 (13:46 -0700)]
Simplify Class::IsArtFieldClass().
Fix the slight glitch that when ImageSpace::VerifyImageAllocations()
called in ImageSpace::Create(), the ArtField and ArtMethod class roots
weren't set, which were used by DCHECKs in Object::Size(), which
VerifyImageAllocations() calls, by delaying the point of the
VerifyImageAllocations() call to Runtime::Init() at which point the
class linker has set the class roots.
To completely disable read barriers from Object::SizeOf(), the
ReadBarrierOption template parameter should have been added to
Class::GetInstanceField(), which calls GetFieldObject(), when it's
called from Class::IsArtFieldClass(). This change fixes this by
removing the need for the call, instead of adding the
ReadBarrierOption parameter.
Bug:
12687968
Change-Id: Ibbecc08f4e3b898851805d690dff8ccac55e94f2
Brian Carlstrom [Wed, 21 May 2014 00:32:45 +0000 (00:32 +0000)]
Merge "Move another LOG to VLOG(signals)"
Brian Carlstrom [Wed, 21 May 2014 00:16:23 +0000 (00:16 +0000)]
Merge "Add context to LinkFields asserts since the previous_size check failed"
Brian Carlstrom [Tue, 20 May 2014 22:36:53 +0000 (15:36 -0700)]
Add context to LinkFields asserts since the previous_size check failed
Change-Id: If7a6c4219f52fd772141e6f070bb7d9a1d9464c0
Dave Allison [Tue, 20 May 2014 23:03:34 +0000 (23:03 +0000)]
Merge "Use strtod to read a double rather than operator >>"
Mathieu Chartier [Tue, 20 May 2014 22:40:41 +0000 (22:40 +0000)]
Merge "Add DALVIKVM_FLAGS to test invocation."
Mathieu Chartier [Sun, 18 May 2014 22:30:10 +0000 (15:30 -0700)]
Add DALVIKVM_FLAGS to test invocation.
Now, only gtest don't use these flags.
Running tests with GC options e.g:
DALVIK_VM="-Xgc:GSS" mm test-art-host-oat
Added a --runtime-option to test/run-test which passes the args to
the test:
test/run-test --runtime-option -Xgc:GSS --runtime-option -XX:UseTLAB 080
Change-Id: Ic928df32cb5aa36d3b0b55456e8b535e82ee9e97
Mathieu Chartier [Tue, 20 May 2014 22:16:33 +0000 (22:16 +0000)]
Merge "Improve heap verification for invalid roots."
Dave Allison [Tue, 20 May 2014 22:16:02 +0000 (15:16 -0700)]
Use strtod to read a double rather than operator >>
The >> operator doesn't work on the x86_64 build in the emulator. This
works around the issue by using strtod instead.
Bug:
15086512
Change-Id: Id7f13889df608ed37e1e8fdef7a449f2d272b9b5
Mathieu Chartier [Mon, 19 May 2014 23:55:27 +0000 (16:55 -0700)]
Improve heap verification for invalid roots.
The new root verification prints the root type and owner thread id as
well as the type of the object.
Also a bit of work for planned multi-threaded verification.
Bug:
14289301
Change-Id: Ia73c517dc11ec6dd82f3d945604ee3836b3db536
Brian Carlstrom [Tue, 20 May 2014 01:56:13 +0000 (18:56 -0700)]
Move another LOG to VLOG(signals)
Bug:
15024631
Change-Id: I5ef79292a69fe268fa52663731a38cfb3b856f32
Brian Carlstrom [Tue, 20 May 2014 21:10:08 +0000 (21:10 +0000)]
Merge "Workaround stack overflow issue with clang"
Sebastien Hertz [Tue, 20 May 2014 18:09:45 +0000 (20:09 +0200)]
Workaround stack overflow issue with clang
Bug:
14882674
Change-Id: I633251eb5229f0a65c27c6d771a7ff21f616a0f3
Andreas Gampe [Tue, 20 May 2014 18:47:40 +0000 (18:47 +0000)]
Merge "ART: Randomize mem_map start address for linear scan search"
Hiroshi Yamauchi [Tue, 20 May 2014 18:31:54 +0000 (18:31 +0000)]
Merge "Add use-artd-full."
Andreas Gampe [Tue, 20 May 2014 00:01:13 +0000 (17:01 -0700)]
ART: Randomize mem_map start address for linear scan search
When using linear scan for mem_map, randomize the start of the
search with getauxval(AT_RANDOM).
Change-Id: Id1e4c86b928147d74b9b0b73ff704de5d87b4500
Mathieu Chartier [Tue, 20 May 2014 17:45:08 +0000 (17:45 +0000)]
Merge "Fix race condition between GCDaemon and DeleteLocalReference"
Yevgeny Rouban [Mon, 19 May 2014 09:19:36 +0000 (16:19 +0700)]
Fix race condition between GCDaemon and DeleteLocalReference
There is a race condition between the GCDaemon visiting
thread local roots starting from the thread's indirect ref table (IRT)
and another thread calling JNI::DeleteLocalReference, which is clearing
one of the indirect references.
To cope with the race condition the DeleteLocalReference used to transit
from suspended to running state by creating a ScopedObjectReference(env).
But this transition was removed with the following patch:
https://android.googlesource.com/platform/art/+/
ef28b14268ed0f9db0c7bbd571aa514354a360bd%5E!/#F0
If so the GCDaemon must be careful to work with IRT entries.
This new patch:
1. calls the visitor only if the reference is not null. This if-null
behavior of ART GC is consistent with what Dalvik GC does.
2. But this might be not enough for some future sophisticated GC algorithms.
For example, if GC moves an object, then the IRT entry must be changed
with CAS only if it has not been cleared. So, for the safety reasons
the patch put backs the ScopedObjectReference soa(env) to
DeleteLocalReference.
Only one of those two changes would be enough.
mathieuc note: I decided to delete the root null check but kept the
ScopedObjectAccess in DeleteLocalRef and added missing annotations as
well as more ScopedObjectAccess in jni internals.
Bug:
14626564
Change-Id: I90d4b8494f61404579ecdd2918d1482093d99387
Signed-off-by: Yevgeny Rouban <yevgeny.y.rouban@intel.com>
Signed-off-by: Yang Chang <yang.chang@intel.com>
Vladimir Marko [Tue, 20 May 2014 15:46:29 +0000 (15:46 +0000)]
Merge "Improve stack walk performance."
Ian Rogers [Tue, 20 May 2014 15:36:05 +0000 (15:36 +0000)]
Merge "Allow X86 QBE to be extended"
Mark Mendell [Wed, 30 Apr 2014 18:13:18 +0000 (14:13 -0400)]
Allow X86 QBE to be extended
Enhancements and updates to allow X86Mir2LIR Backend to be subclassed
for experimentation. Add virtual in a whole bunch of places, and make
some other changes to get this to work.
Change-Id: I0980a19bc5d5725f91660f98c95f1f51c17ee9b6
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Vladimir Marko [Wed, 14 May 2014 15:51:16 +0000 (16:51 +0100)]
Improve stack walk performance.
Move a few functions from art_method.cc to art_method-inl.h
and introduce new overloads that take already known partial
results; do not rely on the compiler to magically merge the
identical but non-trivial paths. The partial results are
DCHECKed to be correct.
Change-Id: I342c3001bbff08a2bbbb9a7b62ae67188ad8cffc
buzbee [Tue, 20 May 2014 13:32:09 +0000 (13:32 +0000)]
Merge "Arm64 - update fp callee save base"
buzbee [Tue, 20 May 2014 13:28:55 +0000 (06:28 -0700)]
Arm64 - update fp callee save base
Hit commit button too quickly - this should have been part
of CL 95013.
Change-Id: I4a733414db74d6e9cab2d8fbe2eb9b398fff3f45
Bill Buzbee [Tue, 20 May 2014 13:24:17 +0000 (13:24 +0000)]
Merge "AArch64: fixes in A64 code generation."
Nicolas Geoffray [Tue, 20 May 2014 08:48:35 +0000 (08:48 +0000)]
Merge "Fix art-host build rule."
Nicolas Geoffray [Tue, 20 May 2014 08:43:15 +0000 (09:43 +0100)]
Fix art-host build rule.
Use HOST_CORE_IMG_OUT, now that the image is being generated in a
platform dependent directory.
Change-Id: I5509012e9ed0d745b70b2a58227213b027227c97
Brian Carlstrom [Tue, 20 May 2014 06:19:40 +0000 (06:19 +0000)]
Merge "Remove cleaning obsolete 2ND_ART_NATIVETEST_DIR and 2ND_ART_TEST_DIR directories"
Brian Carlstrom [Tue, 20 May 2014 06:19:14 +0000 (06:19 +0000)]
Merge "Up-to-date odex files should take precedence over profile checks"
Brian Carlstrom [Tue, 20 May 2014 06:14:42 +0000 (23:14 -0700)]
Remove cleaning obsolete 2ND_ART_NATIVETEST_DIR and 2ND_ART_TEST_DIR directories
Change-Id: Iba1735bc7762fbd6610191f75c13979e831851d6
Brian Carlstrom [Mon, 19 May 2014 05:37:51 +0000 (22:37 -0700)]
Up-to-date odex files should take precedence over profile checks
Change-Id: I70b1e2537dc7c45334a70a4b9ec75329221090bc
Ian Rogers [Tue, 20 May 2014 06:15:00 +0000 (06:15 +0000)]
Merge "Fix typo in option parsing."
Ian Rogers [Tue, 20 May 2014 06:07:40 +0000 (06:07 +0000)]
Merge "Fix the sense of when mutexes are used for longs in atomic support."
Ian Rogers [Tue, 20 May 2014 05:57:34 +0000 (22:57 -0700)]
Fix typo in option parsing.
Change-Id: I3fd7ad6e445babde0677179f3b49f76de3f6894f
Ian Rogers [Tue, 20 May 2014 05:55:00 +0000 (22:55 -0700)]
Fix the sense of when mutexes are used for longs in atomic support.
Change-Id: Ice50519a511e98fdc2fe74cd9eb77c32872022b4
Ian Rogers [Tue, 20 May 2014 05:42:50 +0000 (05:42 +0000)]
Merge "Fix DexFile.getClassNameList."
Ian Rogers [Tue, 20 May 2014 05:31:22 +0000 (22:31 -0700)]
Fix DexFile.getClassNameList.
Bug:
15086891
Change-Id: I8eaf0d19a56ecaea236e93e84131f5e4ff0843f6
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
Hiroshi Yamauchi [Mon, 19 May 2014 19:29:36 +0000 (12:29 -0700)]
Add use-artd-full.
Change-Id: I7bfa2da2870b6b76471d90b4110cbd17347868b0
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."
Matteo Franchin [Tue, 13 May 2014 11:33:28 +0000 (12:33 +0100)]
AArch64: fixes in A64 code generation.
- Disabled special method compilation, as it requires hard-float ABI,
- Disabled suspend checks, as runtime is not yet ready (e.g. trampolines
are not setting the suspend register, etc),
- Changing definition of zero register (the zero register has now 0x3f
as its register number),
- Fixing some issues with handling of cmp instructions in the assembler:
we now use the shift-register rather than the extended-register variant
of cmp and cmn,
- Partially fixing register setup (register sN is now mapped to dN),
- Fixing and completing implementation of register spills/unspills,
- Fixing LoadBaseDispBody() and StoreBaseDispBody().
Change-Id: Ia49ba48b6ca0f782380066345b7a198cb6c1dc1d
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