OSDN Git Service
Nicolas Geoffray [Thu, 18 Dec 2014 12:59:03 +0000 (12:59 +0000)]
Merge "When inlining, also look whether we can allocate registers."
Nicolas Geoffray [Wed, 17 Dec 2014 23:21:58 +0000 (23:21 +0000)]
When inlining, also look whether we can allocate registers.
arm and x86 currently don't allocate registers for floating point
and long operations, so we can't inline methods with these operations.
Change-Id: I11e4b97ddbe90f4978f2abe1081fb0f849acb811
Sebastien Hertz [Thu, 18 Dec 2014 08:43:14 +0000 (08:43 +0000)]
Merge "Use correct handle scope offset from StackVisitor"
Sebastien Hertz [Wed, 17 Dec 2014 19:02:50 +0000 (20:02 +0100)]
Use correct handle scope offset from StackVisitor
Bug:
18785293
Change-Id: I10e144cffac00978e3c84d43a30caccd61559b27
Sebastien Hertz [Thu, 18 Dec 2014 08:16:26 +0000 (08:16 +0000)]
Merge "Cleanup JDWP event matching"
Hiroshi Yamauchi [Thu, 18 Dec 2014 05:34:54 +0000 (05:34 +0000)]
Merge "Fix a race condition during the rosalloc verification."
Mathieu Chartier [Thu, 18 Dec 2014 03:51:42 +0000 (03:51 +0000)]
Merge "Fix concurrent GC ergonomics"
Hiroshi Yamauchi [Wed, 17 Dec 2014 23:49:56 +0000 (15:49 -0800)]
Fix a race condition during the rosalloc verification.
Since an exiting thread could revoke its thread-local runs without
holding the mutator lock, when rosalloc verification is running at a
pause, the thread could concurrently modify runs and cause a race
condition/verification check failure.
Now an exiting thread acquires the mutator lock when it revokes its
thread-local runs, which should avoid the race condition.
Bug:
18734151
Bug:
18577084
Change-Id: Ic8af558b96dff6fb6f5ace65351e2824a6ff4629
Andreas Gampe [Thu, 18 Dec 2014 02:57:43 +0000 (02:57 +0000)]
Merge "ART: Punt to the interpreter for VerifiedMethod errors"
Andreas Gampe [Wed, 17 Dec 2014 22:35:46 +0000 (14:35 -0800)]
ART: Punt to the interpreter for VerifiedMethod errors
In case that the GC map can't be created (because of size restrictions),
do not fail the class. Instead punt to the interpreter.
Bug:
17791183
(cherry picked from commit
f535c69f115c61ffadca1bd2706244d0aa30f9aa)
Change-Id: I348bb306dbfc85c235fa93c0c527fba6627551fe
Mathieu Chartier [Wed, 17 Dec 2014 02:49:31 +0000 (18:49 -0800)]
Fix concurrent GC ergonomics
Fixed a race with the gc_request_pending_ boolean which would cause
two concurrent GCs to start in a row in most cases. This broke sticky
CMS ergonomics since the second GC was a sticky CMS which started way
too early resulting in low throughput. Since the throughput was low,
it switch to partial / full for the next iteration.
The race happened as follows, allocating thread would request
concurrent GC which woke up the daemon thread. The daemon thread
cleared the gc_request_pending_ boolean, but before we set the
concurrent_start_bytes_ to max in to prevent more request, the
allocating thread would call RequestConcurrentGC again. This caused
the next WaitForConcurrentGCRequest to return right away and a
concurrent GC to occur earlier than necessary.
Changed the allocation rate ergonomics to use allocation rate
during the GC instead of allocation rate inbetween GCs, this is
better since the allocation rate may become slower if the GC steals
mutator time, resulting in concurrent GCs starting a bit earlier
than they need to.
Fixed a bug in GrowForUtilization where we didn't use the adjusted
max_free when we shrank down the heap, this caused the sticky CMS to
occasionally shrink the heap more than necessary.
EvaluateAndApplyChanges:
Before: ~12.6s GC time
After: ~7.75s GC time
Change-Id: I354bc825b3c44ccfbfe867af0d437b17fe1fe022
Mathieu Chartier [Thu, 18 Dec 2014 00:17:22 +0000 (00:17 +0000)]
Merge "Add thread suspend histogram"
Mathieu Chartier [Wed, 17 Dec 2014 22:56:47 +0000 (14:56 -0800)]
Add thread suspend histogram
Helps measure time to suspend.
Example output (maps after a few seconds):
suspend all histogram: Sum: 2.806ms 99% C.I. 2us-1090.560us Avg: 43.843us Max: 1126us
Change-Id: I7bd9dd3b401fb3e3059e8718556d60910e541611
Igor Murashkin [Wed, 17 Dec 2014 22:04:19 +0000 (22:04 +0000)]
Merge "Add a new imgdiag tool to diff boot.art/core.art against a process"
Mathieu Chartier [Wed, 17 Dec 2014 19:13:39 +0000 (19:13 +0000)]
Merge "Add systrace events to monitors and thread suspension"
Mathieu Chartier [Wed, 17 Dec 2014 18:13:30 +0000 (10:13 -0800)]
Add systrace events to monitors and thread suspension
Added systrace events to SuspendThreadByPeer, SuspendThreadByThreadId
and monitor contention.
Bug:
18379850
Bug:
17470248
Change-Id: I29eaf97c67361a6c6b437940b8729600d78696df
Sebastien Hertz [Wed, 17 Dec 2014 18:59:44 +0000 (18:59 +0000)]
Merge "JDWP: fix setting multiple breakpoints in the same method"
Nicolas Geoffray [Wed, 17 Dec 2014 17:13:35 +0000 (17:13 +0000)]
Merge "Now that GraphChecker has a state, don't re-use it."
Nicolas Geoffray [Wed, 17 Dec 2014 17:10:47 +0000 (17:10 +0000)]
Now that GraphChecker has a state, don't re-use it.
Otherwise, we'll see the same ids twice.
Change-Id: Ic9bb801629ff90cc788248528d5260aaaff73675
Sebastien Hertz [Wed, 17 Dec 2014 15:35:50 +0000 (16:35 +0100)]
JDWP: fix setting multiple breakpoints in the same method
When setting multiple breakpoints in the same method, we were
incorrectly setting the deoptimization kind of all the breakpoints
set after a first breakpoint. This resulted in incorrect
deoptimization/undeoptimization and even an abort. This was caught
by running the debugger with sanity checks enabled with libartd.so.
We now set next breakpoints with the deoptimization kind of the first
existing breakpoint (if any) so we trigger right [un]deoptimization
when adding or removing a breakpoint.
Bug:
18782753
Bug:
18651686
Change-Id: Idf36ede73302fba83a154052bef701bedc8bc726
Nicolas Geoffray [Wed, 17 Dec 2014 16:18:23 +0000 (16:18 +0000)]
Merge "Fix ids and remove invoke when inlining."
David Brazdil [Wed, 17 Dec 2014 16:05:08 +0000 (16:05 +0000)]
Merge "ART: Added Checker, a pattern matching test engine"
David Brazdil [Mon, 1 Dec 2014 17:04:16 +0000 (17:04 +0000)]
ART: Added Checker, a pattern matching test engine
This patch adds a Python script which implements a domain-specific
mini-language similar to that of LLVM's FileCheck. It is primarily
intended for writing tests for the optimizing compiler but could be
configured for other use cases too. It is implemented from scratch in
order to avoid dependency on LLVM.
Checker tests are written in Java and dex2oat is invoked with a flag
which dumps the CFG before and after each pass of the optimizing
compiler. The output is then compared against assertions in the
test's comments parsed by Checker. See comments in tools/checker.py
for more details about the currently supported language features.
This initial CL implements only one type of assertion - whether the
output contains lines matching a desired pattern in the given order -
but supports both plain text and regex matching and allows for
equivalency testing by matching for the outcome of a previous match.
See the tests in compiler/optimizing/test/ConstantFolding.java for
examples.
Change-Id: I1ad7431b399c38dc0391ccee74d2c643ba0b0675
Nicolas Geoffray [Wed, 17 Dec 2014 15:33:21 +0000 (15:33 +0000)]
Merge "Test sometimes timeouts with vogar."
Nicolas Geoffray [Wed, 17 Dec 2014 15:27:14 +0000 (15:27 +0000)]
Test sometimes timeouts with vogar.
Change-Id: I9091a2a86c82173fa45ff9e3d1770d3891375546
Nicolas Geoffray [Wed, 17 Dec 2014 10:13:46 +0000 (10:13 +0000)]
Fix ids and remove invoke when inlining.
Bugs found by Razvan Lupusoru.
Change-Id: I3a5a9af280d8700d18f52abb4a2cff0e3a9aac74
Nicolas Geoffray [Wed, 17 Dec 2014 12:25:25 +0000 (12:25 +0000)]
Merge "Revert "Small optimization for recursive calls: avoid dex cache.""
Nicolas Geoffray [Wed, 17 Dec 2014 12:25:12 +0000 (12:25 +0000)]
Revert "Small optimization for recursive calls: avoid dex cache."
Fails on target.
This reverts commit
390f59f9bec64fd81b05e796dfaeb03ab6d4cc81.
Change-Id: Ic3865b8897068ba20df0fbc2bcf561faf6c290c1
Nicolas Geoffray [Wed, 17 Dec 2014 11:55:20 +0000 (11:55 +0000)]
Merge "Small optimization for recursive calls: avoid dex cache."
Nicolas Geoffray [Fri, 12 Dec 2014 19:22:03 +0000 (19:22 +0000)]
Small optimization for recursive calls: avoid dex cache.
Change-Id: Ic4054b6c38f0a2a530ba6ef747647f86cee0b1b8
Sebastien Hertz [Wed, 22 Oct 2014 08:57:10 +0000 (10:57 +0200)]
Cleanup JDWP event matching
* Use std::vector for the event match list.
* Make event reporting methods void since result is never used.
* Use nullptr keyword instead of NULL.
Change-Id: Icd6f47e46cefc2cc63325df00037cd4b6a475259
Andreas Gampe [Wed, 17 Dec 2014 04:18:28 +0000 (04:18 +0000)]
Merge "Fix typo bug for Mips32."
Douglas Leung [Wed, 17 Dec 2014 04:15:41 +0000 (20:15 -0800)]
Fix typo bug for Mips32.
Change-Id: I429038ee6748d538fa03da819777f3456a4fd9a5
Mathieu Chartier [Wed, 17 Dec 2014 00:00:56 +0000 (00:00 +0000)]
Merge "Delete gc request lock"
Mathieu Chartier [Tue, 16 Dec 2014 23:23:00 +0000 (15:23 -0800)]
Delete gc request lock
Fixes valgrind tests.
Change-Id: I763e5709fffb002b14615ed5d08236970643e520
Ying Wang [Tue, 16 Dec 2014 21:38:48 +0000 (21:38 +0000)]
Merge "Revert "Fix VM-less builds.""
Igor Murashkin [Thu, 13 Nov 2014 22:38:00 +0000 (14:38 -0800)]
Add a new imgdiag tool to diff boot.art/core.art against a process
Analyze the dirty memory pages of a running process per-object,
this allows is to to fine-tune the dirty object binning algorithm in
image writer.
Also:
* Factor out oatdump command line parsing code into cmdline.h
* Factor out common build rules for building variations of binaries
* Add a gtest for imgdiag
Bug:
17611661
Change-Id: I3ac852a0d223af66f6d59ae5dbc3df101475e3d0
Brian Carlstrom [Tue, 16 Dec 2014 18:53:36 +0000 (18:53 +0000)]
Merge "Remove obsolete PRODUCT_DEX_PREOPT_.*_IN_DATA"
Nicolas Geoffray [Tue, 16 Dec 2014 18:04:15 +0000 (18:04 +0000)]
Merge "Fix crash in x86 disassembler."
Andreas Gampe [Tue, 16 Dec 2014 16:53:04 +0000 (16:53 +0000)]
Merge "[MIPSR6] Adjust assembly routines for MIPS R6 isa"
Duane Sand [Tue, 4 Nov 2014 19:09:36 +0000 (11:09 -0800)]
[MIPSR6] Adjust assembly routines for MIPS R6 isa
Change-Id: I771b58b9e8054bb99cd01a7f713ff8e29a9ae5d3
Brian Carlstrom [Tue, 16 Dec 2014 06:10:04 +0000 (22:10 -0800)]
Remove obsolete PRODUCT_DEX_PREOPT_.*_IN_DATA
Bug:
18673991
Change-Id: I8be2f997005611b791755c8d7fa44974f1816d6b
Nicolas Geoffray [Tue, 16 Dec 2014 14:54:18 +0000 (14:54 +0000)]
Fix crash in x86 disassembler.
Probably a typo from last refactoring.
Change-Id: I086a87120ca0f0dfddbe803573b0e0f79cc6d945
Mathieu Chartier [Tue, 16 Dec 2014 03:32:17 +0000 (03:32 +0000)]
Merge "Don't add or remove verifiers if aborting"
Mathieu Chartier [Tue, 16 Dec 2014 03:26:29 +0000 (19:26 -0800)]
Don't add or remove verifiers if aborting
Prevents deadlock if marking verifier roots fails when we attempt to
dump the stack traces. The deadlock occurs from FindLocksAtDexPC
since this allocates a new verifier then adds / removes it from the
method_verifiers_ array.
Bug:
18651054
Change-Id: Ia9b9470ce5e4ac20bfbb39bef0283974cf487765
Mathieu Chartier [Tue, 16 Dec 2014 01:33:07 +0000 (01:33 +0000)]
Merge "Add more logging to Mutex::ExclusiveUnlock"
Mathieu Chartier [Tue, 16 Dec 2014 01:23:45 +0000 (17:23 -0800)]
Add more logging to Mutex::ExclusiveUnlock
Bug:
18713034
Change-Id: I9db5ca0a25592714ac9e292a2b8d46ef73779c8b
Mathieu Chartier [Tue, 16 Dec 2014 01:17:42 +0000 (01:17 +0000)]
Merge "Decrement suspend count if thread is shutting down"
Mathieu Chartier [Mon, 15 Dec 2014 23:59:49 +0000 (15:59 -0800)]
Decrement suspend count if thread is shutting down
Prevents deadlock caused by incrementing suspend count in
SuspendThreadByPeer, then getting a cleared nativePeer field. This
resulted in us not decrementing the suspend count which caused a
deadlock in WaitForOtherNonDaemonThreadsToExit.
Bug:
18739541
Change-Id: I4a63f1823993a0f99f32025cd479072be49ba8d5
Mathieu Chartier [Mon, 15 Dec 2014 23:46:59 +0000 (23:46 +0000)]
Merge "Move GC daemon locking logic into heap"
Mathieu Chartier [Mon, 15 Dec 2014 22:23:10 +0000 (14:23 -0800)]
Move GC daemon locking logic into heap
Fixes deadlock caused by acquirng the mutator lock while
synchronizing on the daemon thread.
Bug:
18739541
Change-Id: I925b8f0f3b58178da6eff17b9c073f655c39597b
Nicolas Geoffray [Mon, 15 Dec 2014 22:59:03 +0000 (22:59 +0000)]
Merge "Inlining support in optimizing."
Nicolas Geoffray [Mon, 1 Dec 2014 10:31:54 +0000 (10:31 +0000)]
Inlining support in optimizing.
Currently only inlines simple things that don't require an
environment, such as:
- Returning a constant.
- Returning a parameter.
- Returning an arithmetic operation.
Change-Id: Ie844950cb44f69e104774a3cf7a8dea66bc85661
Mathieu Chartier [Mon, 15 Dec 2014 19:56:57 +0000 (19:56 +0000)]
Merge "Clean up debugger"
Mathieu Chartier [Mon, 15 Dec 2014 01:01:31 +0000 (17:01 -0800)]
Clean up debugger
Separated logic for native vs java heap, cleaned up lock annotations.
Added missing end of space marker for bump pointer spaces.
Bug:
18730149
Change-Id: I5bc21f0cee83b9cfa357e8a59658885c12cae09c
Andreas Gampe [Mon, 15 Dec 2014 18:30:38 +0000 (18:30 +0000)]
Merge "ART: Do not inline elf writer debug symbols"
Andreas Gampe [Sat, 13 Dec 2014 05:41:29 +0000 (21:41 -0800)]
ART: Do not inline elf writer debug symbols
Using Clang, this pushes the frame size of the caller across our
limit. Thus forbid inlining. The function is only called once per
compile, impact is insignificant.
Bug:
18738594
Change-Id: I19c3f1168a5104ab508a8dbf9f2a8c035cb97e3c
Mathieu Chartier [Mon, 15 Dec 2014 17:37:59 +0000 (17:37 +0000)]
Merge "Use WaitHoldingLocks in ReferenceProcessor::MakeCircularListIfUnenqueued."
Andreas Gampe [Mon, 15 Dec 2014 16:17:27 +0000 (16:17 +0000)]
Merge "ART: Break up x86 disassembler main function"
Andreas Gampe [Sat, 13 Dec 2014 02:44:19 +0000 (18:44 -0800)]
ART: Break up x86 disassembler main function
The function leads to large stack frames with Clang. Break out
some parts and use four char* variables for opcode.
Bug:
18733806
Change-Id: I8bf6da6c763175d7081c4231fa5d3b6809316220
Andreas Gampe [Mon, 15 Dec 2014 16:14:53 +0000 (16:14 +0000)]
Merge "ART: Show invalid oat header cause in error message"
Andreas Gampe [Fri, 12 Dec 2014 23:25:14 +0000 (15:25 -0800)]
ART: Show invalid oat header cause in error message
Include the IsValid failure cause in the error message of opening
an oat file.
Make oat magic and version constexpr so we can have static_asserts
over the lengths.
Bug:
17187621
Change-Id: I8cef1c6cc9cb2faa052167a3437e81b4c2cbefa7
Calin Juravle [Mon, 15 Dec 2014 16:05:52 +0000 (16:05 +0000)]
Merge "Add more compilation stats to optimizing"
Nicolas Geoffray [Mon, 15 Dec 2014 15:30:41 +0000 (15:30 +0000)]
Merge "Save all registers in native to Java stubs."
Pavel Vyssotski [Mon, 15 Dec 2014 12:00:17 +0000 (18:00 +0600)]
Use WaitHoldingLocks in ReferenceProcessor::MakeCircularListIfUnenqueued.
The caller may be holding mutator_lock_, so we must use WaitHoldingLocks.
Otherwise we get 'bad_mutexes_held' error with debug build.
See also https://android-review.googlesource.com/#/c/93892.
Change-Id: I87b1119e22a9934fdc622c4c4e2690b8b552b539
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
Hiroshi Yamauchi [Sat, 13 Dec 2014 01:28:36 +0000 (01:28 +0000)]
Merge "Disable HomogeneousSpaceCompact for GSS collector"
Mathieu Chartier [Sat, 13 Dec 2014 00:46:56 +0000 (00:46 +0000)]
Merge "Add regression test for deadlock caused by Thread.getAllStackTraces"
Mathieu Chartier [Fri, 12 Dec 2014 21:05:33 +0000 (13:05 -0800)]
Add regression test for deadlock caused by Thread.getAllStackTraces
Also added stress test for Thread.getAllStackTraces. The test calls
Thread.getAllStackTraces from multiple threads to stress race
conditions which can cause deadlocks.
Bug:
18661622
Change-Id: Ideee7073fdcce784414808d08eca9ea310240073
Elliott Hughes [Fri, 12 Dec 2014 23:50:59 +0000 (23:50 +0000)]
Merge "Remove a dependency on AndroidConfig.h."
Elliott Hughes [Fri, 12 Dec 2014 23:49:56 +0000 (15:49 -0800)]
Remove a dependency on AndroidConfig.h.
Change-Id: I3fad347d49eb51f7a0f6d0ba9223d096a23f74a0
Mathieu Chartier [Fri, 12 Dec 2014 21:04:39 +0000 (21:04 +0000)]
Merge "Add ReferenceQueue test"
Mathieu Chartier [Fri, 12 Dec 2014 02:43:48 +0000 (18:43 -0800)]
Add ReferenceQueue test
Also cleaned up reference queue.
TODO: Add tests for missing functionality.
Bug:
10808403
Change-Id: I182f9cb69022fe542ea9e53d4c6d35cff90af332
Andreas Gampe [Fri, 12 Dec 2014 19:14:18 +0000 (19:14 +0000)]
Merge "ART: More logging on GetAccessFlags failure"
Mingyao Yang [Fri, 12 Dec 2014 19:07:41 +0000 (19:07 +0000)]
Merge "Some enhancements on BCE."
Andreas Gampe [Fri, 12 Dec 2014 19:06:00 +0000 (11:06 -0800)]
ART: More logging on GetAccessFlags failure
Bug:
18732531
Change-Id: I803d0dcd8c5e142b57dbdc40051fecbf71dd351d
Mingyao Yang [Fri, 5 Dec 2014 23:56:23 +0000 (15:56 -0800)]
Some enhancements on BCE.
1) Better format detection when creating ValueBound.
2) Some code cleanup on returning bool for overflow_or_underflow.
Change-Id: I03e8bd0d756652da021ccb5b2a62075648d39cc2
Elliott Hughes [Fri, 12 Dec 2014 18:18:42 +0000 (18:18 +0000)]
Merge "Remove portable."
Mathieu Chartier [Fri, 12 Dec 2014 17:51:59 +0000 (17:51 +0000)]
Merge "Remove proxy logic from GetCodeItem"
Elliott Hughes [Thu, 11 Dec 2014 22:34:28 +0000 (14:34 -0800)]
Remove portable.
Change-Id: I3bf3250fa866fd2265f1b115d52fa5dedc48a7fc
Sebastien Hertz [Fri, 12 Dec 2014 16:20:32 +0000 (16:20 +0000)]
Merge "ART: Fix DDM client hang transmitting native heap dump with MALLOC_IMPL=dlmalloc"
Vladimir Marko [Fri, 12 Dec 2014 14:01:10 +0000 (14:01 +0000)]
Merge "AArch64: Fix incorrect use of preceding LIR."
Lin Zang [Fri, 12 Dec 2014 13:54:47 +0000 (21:54 +0800)]
Disable HomogeneousSpaceCompact for GSS collector
HomogeneousSpaceCompact is not suitable when GSS is forground collector.
This will fix issue that device can not boot with GSS collecor.
Change-Id: Iafdf431c207351571f41bbc9196dff02ba674ab4
Signed-off-by: Lin Zang <lin.zang@intel.com>
Nicolas Geoffray [Fri, 12 Dec 2014 13:54:19 +0000 (13:54 +0000)]
Merge "Un-break --perf option to the art art script."
Nicolas Geoffray [Fri, 12 Dec 2014 13:52:00 +0000 (13:52 +0000)]
Un-break --perf option to the art art script.
Change-Id: I5446751982cc33f27aa6785359b3eb3ba969f93e
Nicolas Geoffray [Fri, 12 Dec 2014 10:29:38 +0000 (10:29 +0000)]
Save all registers in native to Java stubs.
This will make things more friendly when experimenting with the
number of callee saves in optimizing.
Change-Id: Iefd9a2da329a420eb69fc2fa9e91c06bbda30cdb
Ningsheng Jian [Wed, 10 Dec 2014 07:13:22 +0000 (15:13 +0800)]
AArch64: Fix incorrect use of preceding LIR.
In Cortex-A53 erratum 835769 fixup, we should check the LIR for
previous emitted instruction, skipping pseudo LIRs and other
non-emitting LIRs.
Change-Id: I908f4c638650d7ad9c91112b74095bba2d81612e
Dan Albert [Thu, 11 Dec 2014 23:39:59 +0000 (23:39 +0000)]
Merge "Fix alloc-dealloc-mismatch failures in dex2oat."
Mathieu Chartier [Thu, 11 Dec 2014 21:25:33 +0000 (13:25 -0800)]
Remove proxy logic from GetCodeItem
TODO: Fix places where this doesn't work. Seems maybe in debugger,
etc.
Bug:
17939199
Change-Id: I1dd3c1b071dc37aa1d0a6c187848978588248617
Dan Albert [Thu, 11 Dec 2014 22:09:51 +0000 (14:09 -0800)]
Fix alloc-dealloc-mismatch failures in dex2oat.
These errors are for calling `delete` on something allocated with
`new[]`.
Bug:
18202869
Change-Id: I8032664dd0819740e83a04cd5a0d56e2c097aacf
Mathieu Chartier [Thu, 11 Dec 2014 20:50:47 +0000 (20:50 +0000)]
Merge "Increase default allocation stack size"
Mathieu Chartier [Thu, 11 Dec 2014 02:45:30 +0000 (18:45 -0800)]
Increase default allocation stack size
Prevents some GC for alloc which can occur if the allocation stack
overflows.
Bug:
18707404
(cherry picked from commit
4911153db37264de407b2a08c2e4c9bb6aef3545)
Change-Id: I4748485dd495526ab1a313f366d93dbb3ee8112b
Dan Albert [Thu, 11 Dec 2014 19:33:59 +0000 (19:33 +0000)]
Merge "Don't use the version script for executables."
Andreas Gampe [Thu, 11 Dec 2014 19:25:43 +0000 (19:25 +0000)]
Merge "Revert "Revert "Ensure void type is resolved when running without image"""
Mathieu Chartier [Thu, 11 Dec 2014 19:19:40 +0000 (19:19 +0000)]
Merge "Add verifier support for dequickening"
Andreas Gampe [Thu, 11 Dec 2014 19:16:39 +0000 (19:16 +0000)]
Merge "ART: More ELF and oat file safety measures"
Mathieu Chartier [Wed, 10 Dec 2014 20:06:45 +0000 (12:06 -0800)]
Add verifier support for dequickening
Also some cleanup.
Bug:
17950037
Change-Id: I1f50fe07f1558e9c4f78953b7afa639d7f310b3c
Andreas Gampe [Thu, 11 Dec 2014 04:51:45 +0000 (20:51 -0800)]
ART: More ELF and oat file safety measures
In an ELF file, look for a shstrtab section when loading in
program-header-only mode. If the section is outside the file size,
it strongly indicates a broken compile.
When compiling oat files in the class linker, explicitly unlink
on failure. This should catch cases when dex2oat is killed or
crashes and doesn't have a chance to delete its (partial) output.
Bug:
15567083
(cherry picked from commit
ad00fed942a9a04cf3f46784bbd04a5f00dd4ab8)
Change-Id: Ia0c75f151d91c6f26a71696967255d6d409ca882
Nicolas Geoffray [Thu, 11 Dec 2014 15:35:28 +0000 (15:35 +0000)]
Merge "Add another failing test."
Nicolas Geoffray [Thu, 11 Dec 2014 15:34:38 +0000 (15:34 +0000)]
Add another failing test.
Change-Id: I19050efdf57a06d6391be319b96bcf62536dd189
Vladimir Marko [Thu, 11 Dec 2014 14:29:53 +0000 (14:29 +0000)]
Merge "ARM: Combine multiply accumulate operations."