OSDN Git Service
Stephen Kyle [Fri, 22 Aug 2014 14:03:07 +0000 (15:03 +0100)]
ART: Reject field accesses to non-reference vregs.
The verifier will now reject any iget/iput insts
that do not have a reference object in vB.
Bug:
17207857
Change-Id: I2826f0f7abfc88561f4da9486588592f4b296d14
Signed-off-by: Stuart Monteith <stuart.monteith@arm.com>
Andreas Gampe [Fri, 22 Aug 2014 04:44:19 +0000 (04:44 +0000)]
Merge "ART: Add dex dependency for gtest"
Dave Allison [Fri, 22 Aug 2014 01:16:56 +0000 (01:16 +0000)]
Merge "Fix signal test build"
Dave Allison [Fri, 22 Aug 2014 00:22:38 +0000 (17:22 -0700)]
Fix signal test build
Bug:
17188805
(cherry picked from commit
b9d6a55eb4eb5872739ed26ac535f0c6342e813b)
Change-Id: I0a271aa214eebe11a8442ebf68811e0d8f077d36
Dave Allison [Fri, 22 Aug 2014 01:12:53 +0000 (01:12 +0000)]
Merge "Add supported architectures to signal test."
Dave Allison [Fri, 22 Aug 2014 01:12:30 +0000 (01:12 +0000)]
Merge "Fix fault handler to unregister on shutdown"
Dave Allison [Fri, 22 Aug 2014 01:12:03 +0000 (01:12 +0000)]
Merge "Remove profiler log line"
Andreas Gampe [Fri, 22 Aug 2014 01:04:38 +0000 (18:04 -0700)]
ART: Add dex dependency for gtest
Change-Id: I22d5e9b69e40585c6ee57381ee758b4b32e07f96
Ian Rogers [Thu, 21 Aug 2014 23:44:23 +0000 (23:44 +0000)]
Merge "ART: Remove a BasicBlock's fall_through pointer in Hide()"
Hiroshi Yamauchi [Thu, 21 Aug 2014 23:34:51 +0000 (23:34 +0000)]
Merge "Avoid handle-less fields in ClassLinker::InitializeClass()"
Ian Rogers [Thu, 21 Aug 2014 23:34:14 +0000 (23:34 +0000)]
Merge "ART: Implement kMirOpNullCheck"
Hiroshi Yamauchi [Thu, 21 Aug 2014 22:59:43 +0000 (15:59 -0700)]
Avoid handle-less fields in ClassLinker::InitializeClass()
There were some handle-less fields in a SafeMap across GC points.
Bug:
12687968
Change-Id: Ib8c6527d4e23031f1d0074fa11d8f85499b68340
Brian Carlstrom [Thu, 21 Aug 2014 22:58:24 +0000 (22:58 +0000)]
Merge "Make a couple of map checks debug only."
Andreas Gampe [Thu, 21 Aug 2014 22:18:06 +0000 (22:18 +0000)]
Merge "Fix host 64-bit ISA string"
Alex Light [Thu, 21 Aug 2014 17:00:27 +0000 (10:00 -0700)]
Fix host 64-bit ISA string
Bug:
17185619,
15358152
Change-Id: I5b80e36890abf659634c38ec7dd6fa336bf8a75a
Narayan Kamath [Thu, 21 Aug 2014 16:38:09 +0000 (17:38 +0100)]
Make a couple of map checks debug only.
This cost us close to 80ms in app startup times.
The checks that a reused region was within an already
existent map has been demoted to a debug check.
A couple of other negative checks have been removed
outright because one of them was superflous and the other
wasn't guaranteed to be correct.
bug:
16828525
(cherry picked from commit
bddaea2b88b0a19d9cc7a4dea772af8e829323b3)
Change-Id: Ia6f3e69692bb9cb5b4ff6f47946ea38a56d4cdb6
Andreas Gampe [Thu, 21 Aug 2014 20:24:24 +0000 (20:24 +0000)]
Merge "ART: Remove GOT setup from x86 assembly where not needed"
Andreas Gampe [Thu, 21 Aug 2014 01:21:45 +0000 (18:21 -0700)]
ART: Remove GOT setup from x86 assembly where not needed
Change-Id: Id839d6d6427da7b7faa4340e04085cdab388e9a5
Dave Allison [Thu, 21 Aug 2014 00:38:41 +0000 (17:38 -0700)]
Fix fault handler to unregister on shutdown
This fixes a problem with the fault handler where it wasn't
unregistering itself during shutdown of the runtime.
Bug:
17133266
(cherry picked from commit
e8b9afcd0cd86b8808af29a97332038aab70c604)
Change-Id: I1a4ec4292ec049046dda30769265680201729efb
Ian Rogers [Thu, 21 Aug 2014 18:49:06 +0000 (18:49 +0000)]
Merge "ART: A couple of checks were missed in class LockWord"
Dave Allison [Wed, 20 Aug 2014 21:29:39 +0000 (14:29 -0700)]
Add supported architectures to signal test.
This adds ARM, AARCH64, i386 and x86_64 to the supported architectures
in 004-SignalTest
Bug:
16948053
(cherry picked from commit
d4af31aa69fe8786a291c566c375bbac04da9ced)
Change-Id: I17a992b2cf47f8744f867b8e3f1c360aa345093d
Dave Allison [Thu, 21 Aug 2014 16:45:04 +0000 (09:45 -0700)]
Remove profiler log line
This removes a LOG(INFO) saying that the profile is disabled.
Bug:
17166556
(cherry picked from commit
b9c3888380666a7b44718f04f787693787cd57c6)
Change-Id: I9c9c470f554605a1183bcf84c5d864f9c4f24f72
Ian Rogers [Thu, 21 Aug 2014 18:38:48 +0000 (18:38 +0000)]
Merge "x86: A couple of minor changes for String.indexOf() inlining"
Ian Rogers [Thu, 21 Aug 2014 18:30:14 +0000 (18:30 +0000)]
Merge "ART: Fix verifier fail message."
Ian Rogers [Thu, 21 Aug 2014 17:52:05 +0000 (17:52 +0000)]
Merge "Fix OOM test case to handle more optimizations"
Mathieu Chartier [Thu, 21 Aug 2014 16:45:17 +0000 (16:45 +0000)]
Merge "Check pending exception result in AllocObjectWithAllocator."
Mathieu Chartier [Thu, 21 Aug 2014 01:19:23 +0000 (18:19 -0700)]
Check pending exception result in AllocObjectWithAllocator.
Possible previous bug:
Allocation fails due to OOM and the collector transitions.
This caused us to incorrectly retry the allocation with a pending
exception. We now return null if there is a pending exception.
Bug:
17164348
(cherry picked from commit
27f5ae830c5418fa92094608a6e9f693ea88bb69)
Change-Id: I8e7ecafbade7f0b955812df3dd7c94fdc696c856
Sebastien Hertz [Thu, 21 Aug 2014 14:52:34 +0000 (14:52 +0000)]
Merge "Fixed wrong field usage in Instrumentation::RemoveListener"
Daniel Mihalyi [Thu, 21 Aug 2014 13:57:25 +0000 (15:57 +0200)]
Fixed wrong field usage in Instrumentation::RemoveListener
Change-Id: I574fcacf754c1da1dc03459d5859b04bcebeac11
Signed-off-by: Daniel Mihalyi <daniel.mihalyi@mattakis.com>
Elliott Hughes [Thu, 21 Aug 2014 04:13:56 +0000 (04:13 +0000)]
Merge "Kill HAVE_ANDROID_PTHREAD_SETNAME_NP."
Elliott Hughes [Thu, 21 Aug 2014 03:18:18 +0000 (20:18 -0700)]
Kill HAVE_ANDROID_PTHREAD_SETNAME_NP.
All it means is __BIONIC__ anyway.
Change-Id: I3ef4ef1a14d0a77c75539f2ab533ee2f3964e1a5
Andreas Gampe [Thu, 21 Aug 2014 00:59:30 +0000 (00:59 +0000)]
Merge "ART: Relax GetInstructionSetFromString"
Jean Christophe Beyler [Wed, 18 Jun 2014 21:14:15 +0000 (14:14 -0700)]
ART: Remove a BasicBlock's fall_through pointer in Hide()
Remove the fall_through link that a BasicBlock has to its child when
calling its Hide function. Useful for removing the visible link that is
there when we dump the CFG.
Change-Id: Ie82c48b195d1d62e2984d284dcc29ed7d7444db2
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Andreas Gampe [Wed, 20 Aug 2014 00:28:06 +0000 (17:28 -0700)]
ART: Relax GetInstructionSetFromString
Do not abort on an unknown instruction set string. Instead return
kNone and let the caller handle this.
Also simplify the patchoat tool to use this.
Bug:
17136416
(cherry picked from commit
aabbb2066a715b3fd8e752291f74c6d77b970450)
Change-Id: I24131914bcf91c04ae93179bf809a2907f1f2b7a
Ian Rogers [Wed, 20 Aug 2014 23:22:57 +0000 (23:22 +0000)]
Merge "Make common BitVector operations inline-able."
Ian Rogers [Wed, 20 Aug 2014 22:08:45 +0000 (15:08 -0700)]
Make common BitVector operations inline-able.
Change-Id: Ie25de4fae56c6712539f04172c42e3eff57df7ca
Elliott Hughes [Wed, 20 Aug 2014 22:48:19 +0000 (22:48 +0000)]
Merge "bionic has always had gettid."
Elliott Hughes [Wed, 20 Aug 2014 22:00:04 +0000 (15:00 -0700)]
bionic has always had gettid.
dex2oat calls GetTid for every line it outputs via Message, which is why
this showed up so much in strace.
Bug:
17049821
Change-Id: Ib51c7f88410b291692874023902cf43f4b9a9d1c
Razvan A Lupusoru [Mon, 4 Aug 2014 16:38:46 +0000 (09:38 -0700)]
ART: Implement kMirOpNullCheck
The semantics of kMirOpNullCheck is to check object for null and
throw exception in that case. However, the implementation for it
is empty. This has been changed and appropriate dataflow have been
added to correctly reflect behavior.
In order to allow testing of implementation, the SpecialMethodInliner
has been updated to get rid of invoke and use this instead. This helps
all optimizations which do not check the MIR_INLINED flag because
when invoke is left in, they believe that invoke will still be done.
Change-Id: I62e425e42bdbc6357246fb949db5f79de73cf358
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Mathieu Chartier [Wed, 20 Aug 2014 17:00:48 +0000 (17:00 +0000)]
Merge "Enable large object space for zygote."
Mathieu Chartier [Wed, 20 Aug 2014 01:24:04 +0000 (18:24 -0700)]
Enable large object space for zygote.
We now enable the large object space before the zygote fork.
This reduces the size of the zygote and removes the need for
excessive explicit GCs during phone booting.
Changed the card set mod union table to support forgetting cards.
If a card has no non null references which are in another space
then it is removed from the set.
Added logging of the zygote size when you do a SIGQUIT.
Dalvik PSS is the same or slightly lower (1-3%).
Zygote space size:
Before: 15MB
After: 8MB (+ some large objects).
TODO: Combine remembered sets and mod union tables into a single
interface.
Bug:
16398684
Change-Id: Ie48cdf35004a0a37eedb1ccc1bf214b1fa9e0cca
buzbee [Wed, 20 Aug 2014 13:33:58 +0000 (13:33 +0000)]
Merge "Quick compiler: fix Arm64 inline locking code"
buzbee [Tue, 19 Aug 2014 23:47:06 +0000 (16:47 -0700)]
Quick compiler: fix Arm64 inline locking code
The Arm64 monitor enter code was incorrectly comparing the
thread ID to zero rather than the lock value to determine if the
inline fast path was doable. As a result, we ended up always
using the out-of-line case.
internal b/
16707253
Change-Id: I499530da84beecf1f3f5c5ebb666e3eb12599ac0
Dave Allison [Wed, 20 Aug 2014 01:08:13 +0000 (01:08 +0000)]
Merge "Merge stack usage reduction for overflow checks"
Dave Allison [Thu, 14 Aug 2014 17:02:48 +0000 (17:02 +0000)]
Merge stack usage reduction for overflow checks
Cherry pick from:
b038ba66a166fb264ca121632f447712e0973b5b
Change-Id: I19999e72ff731d4fc73d91b9ff767de5858c15ee
Mark Mendell [Tue, 19 Aug 2014 02:19:06 +0000 (22:19 -0400)]
Fix OOM test case to handle more optimizations
The 080-oom-throw test case has some code in triggerInstanceOOM to
exhaust memory. Unfortunately, a sufficiently intelligent compiler can
inline the call to memEater.confuseCompilerOptimization and realize that
it is a no-op. In that case, the memEater variable is dead, and if a
compiler can improve the GC map, the only live heap data will be the
last allocated chunk.
Fix this by ensuring that the start of the chain (memEater) is really
live. Also ensure that it becomes dead before exiting the method, or the
subsequent println will fail allocating memory.
Change-Id: I345ebc3e19bd86e176c616ff18bcac4ed8dbb419
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Brian Carlstrom [Mon, 18 Aug 2014 23:42:43 +0000 (23:42 +0000)]
Merge "Really fix target gtest dependencies"
Brian Carlstrom [Mon, 18 Aug 2014 23:07:10 +0000 (16:07 -0700)]
Really fix target gtest dependencies
In
64006834b26f7138131fac87c3b0973cda70e560 we started depending on
TARGET_CORE_JARS which are phony targets and undefined when using
"mm test-art-target".
Change-Id: I671c5d6068ff999782ad5f388f3077f4c1594884
Brian Carlstrom [Mon, 18 Aug 2014 22:38:34 +0000 (15:38 -0700)]
AttachCurrentThread should only warn on missing thread name if CheckJNI is enabled.
Bug:
17108693
Change-Id: I346cc090e091605c552e5954d7ea1ca4874cea5f
Brian Carlstrom [Mon, 18 Aug 2014 23:42:35 +0000 (23:42 +0000)]
Merge "AttachCurrentThread should only warn on missing thread name if CheckJNI is enabled."
Elena Sayapina [Fri, 15 Aug 2014 08:52:42 +0000 (15:52 +0700)]
ART: Fix verifier fail message.
Verifier failure message is corrupted.
The verification failure reason overlaps verification failure location.
MethodVerifier::Fail() method creates failure message stream by
std::ostringstream(failure location) constructor which by default
sets the stream's position indicator to the begging of that stream.
Inserting failure reason to the stream by "<<" then overrides the failure location.
Using std::ostringstream(failure location, std::ostringstream::ate) fixes the issue
by setting the stream's position indicator to the end of the stream on opening.
Change-Id: I8cc1cffc95bc5c56aadbb9ab8c0cdc8bc680d6f4
Signed-off-by: Elena Sayapina <elena.v.sayapina@intel.com>
Vladimir Marko [Wed, 20 Aug 2014 11:45:55 +0000 (11:45 +0000)]
Merge "Improve GVN performance when merging null-checked values."
Vladimir Marko [Tue, 19 Aug 2014 17:08:39 +0000 (18:08 +0100)]
Improve GVN performance when merging null-checked values.
And ignore the limit on maximum number of processed basic
blocks once the GVN has actually converged and we're just
applying optimizations.
Bug:
16398693
Change-Id: Ie5aa0386ea4e0e9ae2bbf13963e2424e1713b22f
Sebastien Hertz [Tue, 19 Aug 2014 12:09:20 +0000 (12:09 +0000)]
Merge "Fix JDWP event races"
Sebastien Hertz [Mon, 18 Aug 2014 17:26:39 +0000 (19:26 +0200)]
Fix JDWP event races
Fix a race where the JDWP connection could be closed before the VM_DEATH event
is sent during runtime shutdown.
Fix potential race where we could wait forever for the JDWP thread to establish
connection.
Bug:
16720689
(cherry picked from commit
d8b3537b89fa68599534a65afc3b272639cd4a75)
Change-Id: I4b8996ade6a38fa8f7f23c3000b7184b162907d7
Mathieu Chartier [Tue, 19 Aug 2014 00:44:50 +0000 (00:44 +0000)]
Merge "Fix heap corruption and verification."
Mathieu Chartier [Mon, 18 Aug 2014 22:02:59 +0000 (15:02 -0700)]
Fix heap corruption and verification.
There was a faulty assumption that space End() was always aligned to
card boundaries. This was true for all spaces other than the image
and resulted in heap corruption when the last object of the image
space contained a reference to an object in another space.
Also fixed an error where we called the pre GC verification post GC.
Bug:
17080623
(cherry picked from commit
6724d8649ab73e4fb86c8014bda51b13bddf2f3f)
Change-Id: I931149421c738653863eb6105dfdf7ecd750601a
Vladimir Marko [Tue, 19 Aug 2014 09:58:50 +0000 (09:58 +0000)]
Merge "AArch64: Add tbz/tbnz and tst."
Zheng Xu [Mon, 18 Aug 2014 09:28:22 +0000 (17:28 +0800)]
AArch64: Add tbz/tbnz and tst.
Since the branch offset supported by tbz/tbnz is quite small(-32k ~ +32k),
it will be replaced by tst and beq/bneq in the fix-up stage if the branch
offset is too large.
Change-Id: I4cace06bec6425e0f2e1f5f7c471eec08d06bca6
Vladimir Marko [Wed, 20 Aug 2014 10:43:39 +0000 (10:43 +0000)]
Merge "X86: Fix alias info in GenInlinedIndexOf()."
Vladimir Marko [Tue, 19 Aug 2014 14:00:34 +0000 (15:00 +0100)]
X86: Fix alias info in GenInlinedIndexOf().
For 32-bit X86, GenInlinedIndexOf() pushes and pops EDI. In
one branch it then calls Load32Disp() with adjusted stack
offset. That calculates wrong alias_info for the generated
insn. If left unfixed, this could confuse load hoisting.
Bug:
17128502
Change-Id: I0ea07b8f5e25410e290304f662d5fd5bf66c0933
Nicolas Geoffray [Wed, 20 Aug 2014 10:22:35 +0000 (10:22 +0000)]
Merge "Fix bug introduced in https://android-review.googlesource.com/102610."
Nicolas Geoffray [Wed, 20 Aug 2014 03:59:12 +0000 (04:59 +0100)]
Fix bug introduced in https://android-review.googlesource.com/102610.
Also make oatdump work again.
Change-Id: Iab96971645f40585bc04769d410f2273d3977f51
Mathieu Chartier [Wed, 20 Aug 2014 20:56:42 +0000 (20:56 +0000)]
Merge "Add null check to CheckVirtualMethod"
Mathieu Chartier [Wed, 20 Aug 2014 19:09:38 +0000 (12:09 -0700)]
Add null check to CheckVirtualMethod
There was a runtime SIGSEGV that should have been a check jni
failure.
Also added regression test.
Bug:
16320699
(cherry picked from commit
167350d9c781c5e3893714bb26ab5cb1c4abf6b4)
Change-Id: I7edea6af6517f1e5628678e824b8307daf491418
Dave Allison [Wed, 20 Aug 2014 19:49:40 +0000 (19:49 +0000)]
Merge "Workaround problem reading main stack on intel devices."
Dave Allison [Mon, 18 Aug 2014 22:49:51 +0000 (15:49 -0700)]
Workaround problem reading main stack on intel devices.
This works around a problem where ART can't read the lowest page
of the main stack. The workaround is to add 4K to the stack
start address on the main stack on Intel.
Please see https://b2.corp.google.com/issues/
17111575 for
underlying cause.
Cherry picked from
d970bac690baa6f735b0cd187440546869088a0f
Bug:
17031544
Change-Id: Ifc3216e10160bb1eec9d989fd57b10345bc89537
Ian Rogers [Mon, 18 Aug 2014 18:22:03 +0000 (18:22 +0000)]
Merge "Optimized instrumentation listener handling"
Daniel Mihalyi [Mon, 18 Aug 2014 16:45:31 +0000 (18:45 +0200)]
Optimized instrumentation listener handling
Some instrumentation listener lists may be modified while iterating
over the list to deliver an instrumentation event. Therefore the
previous implementation copied the list of listeners before starting
the iteration.
This new implementation only copies the list of instrumentation
listeners when the list is changed. Instances of the list are
reference counted using std::shared_ptr<>.
Change-Id: I1b84db1f2042836dc1110925243f49e5790156d6
Andreas Gampe [Mon, 18 Aug 2014 20:00:14 +0000 (20:00 +0000)]
Merge "[MIPS] Fix the code generated by GenSelectConst32"
Andreas Gampe [Mon, 18 Aug 2014 16:41:58 +0000 (16:41 +0000)]
Merge "ART: Do not recursively abort when visiting locks in a bad state"
Andreas Gampe [Sat, 16 Aug 2014 20:41:10 +0000 (13:41 -0700)]
ART: Do not recursively abort when visiting locks in a bad state
This avoids a nested abort in VisitLocks.
Bug:
17080621,
16382675
(cherry picked from commit
760172c3ccd6e75f6f1a89d8006934e8ffb1303e)
Change-Id: Id604976ac9dcac0e319fb25cab4d2cbc98d7ee24
Andreas Gampe [Mon, 18 Aug 2014 16:40:13 +0000 (16:40 +0000)]
Merge "ART: Avoid expensive class lookup in compiler driver"
Andreas Gampe [Sat, 16 Aug 2014 05:35:46 +0000 (22:35 -0700)]
ART: Avoid expensive class lookup in compiler driver
When we are not compiling multidex, avoid an expensive by-descriptor
lookup for classes when deciding whether to skip compilation.
Bug:
17072698
(cherry picked from commit
d84f916d35bb0dc74d7daa075b883e5ee1ce1109)
Change-Id: I19bcb2a2928207fcae0badd466cdc52945bd37c4
Piotr Jastrzebski [Mon, 18 Aug 2014 08:27:04 +0000 (08:27 +0000)]
Merge "Update ziparchive usage to the new API."
Hiroshi Yamauchi [Mon, 18 Aug 2014 18:53:39 +0000 (18:53 +0000)]
Merge "Check that we don't accidentally invoke compiled code when -Xint."
Hiroshi Yamauchi [Sat, 16 Aug 2014 00:11:12 +0000 (17:11 -0700)]
Check that we don't accidentally invoke compiled code when -Xint.
The heap poisoning breakge (b/
17018234) would have been detected with
this check.
Bug:
17018234
Change-Id: If4827ea1b02396d41012f0955e55c887387a0565
Hiroshi Yamauchi [Tue, 19 Aug 2014 21:58:24 +0000 (21:58 +0000)]
Merge "Avoid handle-less methods in ClassLinker::LinkInterfaceMethods()."
Hiroshi Yamauchi [Tue, 19 Aug 2014 20:10:36 +0000 (13:10 -0700)]
Avoid handle-less methods in ClassLinker::LinkInterfaceMethods().
There were some handle-less methods in local variables across
potential GC points.
Bug:
12687968
Change-Id: I786fbaadf7a52e98194080c67c90fc1c35060d59
Brian Carlstrom [Tue, 19 Aug 2014 21:11:18 +0000 (21:11 +0000)]
Merge "Make apps able to run with a failing patchoat"
Alex Light [Thu, 14 Aug 2014 21:16:26 +0000 (14:16 -0700)]
Make apps able to run with a failing patchoat
Bug:
17000769
Change-Id: I0a1a4dc7f5d4bb268530840302ecfb1555231e05
Andreas Gampe [Tue, 19 Aug 2014 21:03:22 +0000 (21:03 +0000)]
Merge "ART: Fix ARM invoke stub, run Generic JNI in jni_compiler_test"
Andreas Gampe [Mon, 18 Aug 2014 23:43:12 +0000 (16:43 -0700)]
ART: Fix ARM invoke stub, run Generic JNI in jni_compiler_test
On devices which support it, run all jni compiler tests also with
the Generic JNI infrastructure.
Fix art_quick_invoke_stub for ARM32 to enforce 16B stack alignment.
As the native convention does not require as much, the previous
code would keep it unaligned.
Bug:
17107929
Change-Id: Ibce423949846e447d2b0246d07973b6b717691ac
Andreas Gampe [Tue, 19 Aug 2014 20:05:38 +0000 (20:05 +0000)]
Merge "ART: Set default visibility to protected"
Andreas Gampe [Wed, 13 Aug 2014 07:15:43 +0000 (00:15 -0700)]
ART: Set default visibility to protected
Set default visibility of symbols to protected. This allows the
linker to optimize internal calls and helps avoid plt calls.
Make almost all assembly stubs hidden, as -fvisibility does not
seem to apply to them. Change the assembly tests accordingly. Also
allows to clean up previous hacks to avoid plt calls.
Bug:
16974467
(cherry picked from commit
235e77bd9f19e4faefda109be40f8744f3a66f40)
Change-Id: I9030dcf6116251f434f94a2b08e56e12085af652
Andreas Gampe [Tue, 19 Aug 2014 18:13:41 +0000 (18:13 +0000)]
Merge "ART: More failure output on run-test"
Andreas Gampe [Tue, 19 Aug 2014 05:26:49 +0000 (22:26 -0700)]
ART: More failure output on run-test
Change-Id: Ifdf1516e950117069b3cfa58c4bda03281dad661
Jeff Hao [Tue, 19 Aug 2014 17:47:41 +0000 (17:47 +0000)]
Merge "Check for constructor first when installing tracing stubs."
Jeff Hao [Tue, 19 Aug 2014 17:17:36 +0000 (10:17 -0700)]
Check for constructor first when installing tracing stubs.
Addresses comments in
https://android-review.googlesource.com/#/c/104383/ made after the commit.
Bug:
16386215
(cherry picked from commit
5afe466c027c6ac821bf7c9a88cd7de5260a639b)
Change-Id: Ic81161d0b96a0633c4c534a93172cff59312fa61
Ian Rogers [Fri, 15 Aug 2014 23:27:29 +0000 (23:27 +0000)]
Merge "ART source line debug info in OAT files"
Yevgeny Rouban [Fri, 8 Aug 2014 09:29:38 +0000 (16:29 +0700)]
ART source line debug info in OAT files
OAT files have source line information enough for ART runtime needs like
jump to/from interpreter and thread suspension. But this information
is not enough for finer grained source level debugging and low-level
profiling (VTune or perf).
This patch adds to OAT files two additional sections:
.debug_line - DWARF formatted Elf32 section with detailed source line
information (mapping from native PC to Java source lines).
In addition to the debugging symbols added using the dex2oat option
--include-debug-symbols, the source line information is added to
the section .debug_line.
The source line info can be read by many Elf reading tools like objdump,
readelf, dwarfdump, gdb, perf, VTune, ...
gdb can use this debug line information in x86. In 64-bit mode
the information can be used if the oat file is mapped in the lower
address space (address has higher 32 bits zeroed). Relocation works.
Testing:
1. art/test/run-test --host --gdb [--64] 001-HelloWorld
2. in gdb: break Main.java:19
3. in gdb: break Runtime.java:111
4. in gdb: run - stops at void java.lang.Runtime.<init>()
5. in gdb: backtrace - shows call stack down to main()
6. in gdb: continue - stops at void Main.main() (only in 32-bit mode)
7. in gdb: backtrace - shows call stack down to main()
8. objdump -W <oat-file> - addresses are from VMA range of .text
section reported by objdump -h <file>
9. dwarfdump -ka <oat-file> - no errors expected
Size of aosp-x86-eng boot.oat increased by 11% from 80.5Mb to 89.2Mb
with two sections added .debug_line (7.2Mb) and .rel.debug (1.5Mb).
Change-Id: Ib8828832686e49782a63d5529008ff4814ed9cda
Signed-off-by: Yevgeny Rouban <yevgeny.y.rouban@intel.com>
Ian Rogers [Fri, 15 Aug 2014 23:14:01 +0000 (23:14 +0000)]
Merge "x86_64: Use RegClassBySize() for field accesses"
Brian Carlstrom [Fri, 15 Aug 2014 19:05:09 +0000 (19:05 +0000)]
Merge "Make gdb fixup work with multiple DWARF Compilation Units"
Ian Rogers [Fri, 15 Aug 2014 21:47:37 +0000 (21:47 +0000)]
Merge "Tidy up monitor comments."
Ian Rogers [Fri, 15 Aug 2014 20:39:34 +0000 (13:39 -0700)]
Tidy up monitor comments.
Change-Id: Ib9d993f964ba6e2bec1979b486c26d3920a4a40c
Alex Light [Thu, 14 Aug 2014 00:15:38 +0000 (17:15 -0700)]
Make gdb fixup work with multiple DWARF Compilation Units
Change-Id: I83042362fc199ca48c8452230709a377e52a2cf5
Piotr Jastrzebski [Wed, 13 Aug 2014 06:50:03 +0000 (07:50 +0100)]
Update ziparchive usage to the new API.
Bug:
16162465
Change-Id: I759c751741efd98a6470b1e04c31491686d9a189
Raghu Gandham [Thu, 14 Aug 2014 20:46:53 +0000 (13:46 -0700)]
[MIPS] Fix the code generated by GenSelectConst32
Change-Id: Icc1d0449566435200a10fa3ca5489f78d122bc89
Ian Rogers [Fri, 15 Aug 2014 18:39:31 +0000 (18:39 +0000)]
Merge "Make Monitor::Wait more robust to spurious Inflate failures."
Ian Rogers [Fri, 15 Aug 2014 18:09:28 +0000 (11:09 -0700)]
Make Monitor::Wait more robust to spurious Inflate failures.
Bug:
17062710
Change-Id: Ife5f6b335caacc70cab543cd568676d277d3beb6
(cherry picked from commit
6f22fc166ed6c11cad229bff442c064e704de101)