OSDN Git Service
Jeff Brown [Thu, 11 Sep 2014 01:41:18 +0000 (18:41 -0700)]
Print the command line and ABI in stack dumps like debuggerd.
Ensure the heading is "Cmd line:" just like debuggerd and
as it used to be in Dalvik.
Fix a missing newline.
Trim all training nulls from the command line.
Don't bother printing the original command line if unset.
Add the ABI to the dump to help the native stack symbol tool.
Bug:
17474152
(cherry picked from commit
09865b8aa2d85f2824fbdac8034cab01629e8adc)
Change-Id: I52d55660276092ed73b61d5e0708460ec39f1a4a
Brian Carlstrom [Thu, 11 Sep 2014 20:10:09 +0000 (20:10 +0000)]
Merge "Add DumpClass context on CacheField and CacheMethod failures"
Brian Carlstrom [Wed, 10 Sep 2014 17:08:37 +0000 (10:08 -0700)]
Add DumpClass context on CacheField and CacheMethod failures
Change-Id: Ia1992d98c998cdc98896f5912da50c4849de7699
Brian Carlstrom [Thu, 11 Sep 2014 19:28:59 +0000 (19:28 +0000)]
Merge changes I57f70381,I9f225825
* changes:
Fix cpplint issue.
Fix crash when connected to DDMS
Brian Carlstrom [Thu, 11 Sep 2014 19:28:53 +0000 (19:28 +0000)]
Merge "Use WellKnownClasses in ThrowStackOverflowError to reduce changes of further stack overflow"
Brian Carlstrom [Thu, 11 Sep 2014 19:21:04 +0000 (12:21 -0700)]
Fix cpplint issue.
Change-Id: I57f70381b005a3601bba1ab4d646e974860af1c4
Brian Carlstrom [Thu, 11 Sep 2014 06:10:47 +0000 (23:10 -0700)]
Use WellKnownClasses in ThrowStackOverflowError to reduce changes of further stack overflow
Bug:
17463118
(cherry picked from commit
bfc2b98a3cf7a9d580f2477e54aabded5004fd26)
Change-Id: Iea04bb7f6c4daa9cbdb8ee6ce8ddcbeb9f05aa3d
Sebastien Hertz [Thu, 11 Sep 2014 14:23:44 +0000 (16:23 +0200)]
Fix crash when connected to DDMS
Restore init of WellKnownClasses::org_apache_harmony_dalvik_ddmc_Chunk_data and
removed duplicated line.
Bug:
17467328
Bug:
17463118
(cherry picked from commit
96cd6714d94b47512710776761dec98c8be68bef)
Change-Id: I9f225825bef4995460e1c79a9f3a6c1331f24201
Mingyao Yang [Thu, 11 Sep 2014 18:10:04 +0000 (18:10 +0000)]
Merge "Add some comments for retired class."
Andreas Gampe [Thu, 11 Sep 2014 15:06:09 +0000 (15:06 +0000)]
Merge "ART: Correctly make methods preverified"
Andreas Gampe [Thu, 11 Sep 2014 02:48:05 +0000 (19:48 -0700)]
ART: Correctly make methods preverified
Bug:
16828525
(cherry picked from commit
df1532b9ba0cda2d00b78fbdef461f8a6cf8a737)
Change-Id: I66756348b2aa50e41dacca59769b6810a91c73b0
Nicolas Geoffray [Thu, 11 Sep 2014 11:25:26 +0000 (11:25 +0000)]
Merge "Fix builds on archs the compiler does not support."
Nicolas Geoffray [Thu, 11 Sep 2014 11:17:43 +0000 (12:17 +0100)]
Fix builds on archs the compiler does not support.
Change-Id: Ibfc47026596c868fb6d48465a6e564a0b1e07fd0
Nicolas Geoffray [Thu, 11 Sep 2014 10:39:42 +0000 (10:39 +0000)]
Merge "Fix valgrind errors."
Sebastien Hertz [Thu, 11 Sep 2014 10:00:04 +0000 (10:00 +0000)]
Merge "Fix deadlock in VirtualMachine.AllThreads"
Sebastien Hertz [Tue, 9 Sep 2014 10:08:49 +0000 (12:08 +0200)]
Fix deadlock in VirtualMachine.AllThreads
We cannot add any object in the JDWP object registry while holding the
Locks::thread_list_lock. Indeed we may need to suspend a thread and take it,
causing a deadlock by waiting for ourself on this lock.
Bug:
17343664
(cherry picked from commit
d35776413901a6a9d478e06dc354ea4f7d962e04)
Change-Id: I07d150b95a6d2b62c913bf2ca2ac217911b2f19d
Sebastien Hertz [Thu, 11 Sep 2014 09:41:31 +0000 (09:41 +0000)]
Merge "Don't hold any lock when visiting classes from JDWP"
Sebastien Hertz [Thu, 28 Aug 2014 12:41:50 +0000 (14:41 +0200)]
Don't hold any lock when visiting classes from JDWP
Computes reference type ids of all loaded classes without holding the class
linker lock. Because computing the JDWP reference type id can cause thread
suspension, we can't hold any lock. This is detected in debug build (using
libartd.so) and causes an abort.
Also adds missing thread safety annotations related to ObjectRegistry::lock_.
Bug:
17305632
Bug:
16720689
(cherry picked from commit
95795e286145a4aece5c4a095fa2e7e88ee2115a)
Change-Id: If4fb069790a0a3358ad49da8f75c62a54c0f0b56
Nicolas Geoffray [Thu, 11 Sep 2014 09:30:02 +0000 (10:30 +0100)]
Fix valgrind errors.
For now just stack allocate the code generator. Will think
about cleaning up the root problem later (CodeGenerator being an
arena object).
Change-Id: I161a6f61c5f27ea88851b446f3c1e12ee9c594d7
Nicolas Geoffray [Thu, 11 Sep 2014 08:21:10 +0000 (08:21 +0000)]
Merge "Fix bug in register allocator."
Andreas Gampe [Wed, 10 Sep 2014 23:43:32 +0000 (23:43 +0000)]
Merge "ART: Fix things for valgrind"
Stephen Hines [Wed, 10 Sep 2014 23:15:15 +0000 (23:15 +0000)]
Merge "Revert "Disable Clang internal assembler.""
Stephen Hines [Wed, 10 Sep 2014 23:14:26 +0000 (23:14 +0000)]
Revert "Disable Clang internal assembler."
This reverts commit
d619cab991f116d7a90c9abeff8770e7d7a3a45a.
Change-Id: I69da36d734678dd5e9a99c1c53093fcaf81a66c3
Andreas Gampe [Wed, 10 Sep 2014 02:53:48 +0000 (19:53 -0700)]
ART: Fix things for valgrind
Wire up valgrind gtests. Add valgrind-test-art-host, currently
only depending on valgrind-test-art-host-gtest32.
Fix an Alloc setting to allow running valgrind.
Refactor the fault handler to manage (and correctly release) the
handlers.
Fix minor failure-case leaks exposed by tests.
Failing tests:
The optimizing compiler is leaking non-arena-ed structures
(e.g., assembler buffers), as code generators are not destroyed.
The solution has been moved to a follow-up CL.
Note: All 64b tests are failing as we cannot allocate a heap.
Change-Id: I7f854cfd098d9f68107ce492363e7dba9a82b9fa
Ian Rogers [Wed, 10 Sep 2014 22:41:54 +0000 (22:41 +0000)]
Merge "Re-add read barrier to roots in the verifier."
Ian Rogers [Wed, 10 Sep 2014 22:41:42 +0000 (22:41 +0000)]
Merge "Revert "Add read barriers for the roots in the verifier.""
Ian Rogers [Wed, 10 Sep 2014 22:33:05 +0000 (15:33 -0700)]
Re-add read barrier to roots in the verifier.
Fixes read-barriers but keeps verifier API invariants. Based on:
https://android-review.googlesource.com/#/c/102962
Bug:
17398101
Change-Id: Iad986784a5d735ccb3214362ccfc7ef69bc02c57
Bill Buzbee [Wed, 10 Sep 2014 22:30:52 +0000 (22:30 +0000)]
Merge "ART: Fix variable formatting and CodeLayout's multiple visits"
Mingyao Yang [Wed, 10 Sep 2014 22:22:13 +0000 (22:22 +0000)]
Merge "Remove reference_static_offsets used for iterating through class static fields."
Ian Rogers [Wed, 10 Sep 2014 21:43:52 +0000 (21:43 +0000)]
Revert "Add read barriers for the roots in the verifier."
This reverts commit
7da9586b559290e1c16207c6513ffe485de61655.
Bug:
17398101
Change-Id: I1d6110fdf0d3a3c9241c8e7e7f4b85a298f9dd8e
Mingyao Yang [Wed, 10 Sep 2014 22:16:19 +0000 (15:16 -0700)]
Add some comments for retired class.
Change-Id: I9208ddc9a73ce751d5bfba786cf0496faba8e126
Bill Buzbee [Wed, 10 Sep 2014 22:10:13 +0000 (22:10 +0000)]
Merge "Fix kThumb2Vldrd definition to set correct flag."
Mingyao Yang [Wed, 10 Sep 2014 19:03:22 +0000 (12:03 -0700)]
Remove reference_static_offsets used for iterating through class static fields.
Since static fields are contiguous in class object and there is no need to
traverse super classes, it's not meaningful to use reference_static_offsets.
Also especially with embedded vtable/imt, static field offset can't be encoded
with an unsigned integer anyway.
A corresponding change is made to Class.java to remove the member field.
Bug:
16236588
Change-Id: I1fde3cd9efce884945876f0658c63d992164fd94
Jean Christophe Beyler [Thu, 4 Sep 2014 15:15:11 +0000 (08:15 -0700)]
ART: Fix variable formatting and CodeLayout's multiple visits
The CodeLayout pass visits multiple times the same BasicBlock. This patch
fixes that issue to reduce its overhead.
The patch also fixes cUnit to c_unit in the bb_optimization files.
Change-Id: I76afa73dc79b9ee9993223c066a974ca81adf203
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Mathieu Chartier [Wed, 10 Sep 2014 18:29:32 +0000 (18:29 +0000)]
Merge "Ensure class is linked before resolution"
Sebastien Hertz [Wed, 10 Sep 2014 17:44:39 +0000 (19:44 +0200)]
Ensure class is linked before resolution
Adds a missing call to ClassLinker::EnsureResolved to ensure we did link the
class and retired the temp class (placeholder) before doing the resolution.
Bug:
17435441
(cherry picked from commit
72da76359aa5599f78ddca79b294e9bf30e004ed)
Change-Id: I3b368567c7b24ec2ff7ee1dec7bcd3501a6061f8
Christopher Ferris [Wed, 10 Sep 2014 18:07:01 +0000 (18:07 +0000)]
Merge "Add proper cfi directives."
Christopher Ferris [Tue, 9 Sep 2014 20:55:13 +0000 (13:55 -0700)]
Add proper cfi directives.
This function has a mix of arm and cfi directives. Since our unwinders
can work with both, remove the arm directives and fix the cfi directives.
Bug:
17392751
(cherry picked from commit
7fae7c40e62ffe669fc224c57ed530b4d9c8da2c)
Change-Id: I82a84db47ffa283f9e392d24de9a8c9958a59631
Nicolas Geoffray [Wed, 10 Sep 2014 17:18:37 +0000 (17:18 +0000)]
Merge "Fix misuse of ArenaAllocator."
Hiroshi Yamauchi [Wed, 10 Sep 2014 17:02:31 +0000 (17:02 +0000)]
Merge "Address read barrier issue with cl/106467"
Chih-Hung Hsieh [Wed, 10 Sep 2014 16:33:08 +0000 (16:33 +0000)]
Merge "Disable Clang internal assembler."
Vladimir Marko [Wed, 10 Sep 2014 16:11:18 +0000 (16:11 +0000)]
Merge "Improve dex location canonicalization-related performance."
Vladimir Marko [Fri, 5 Sep 2014 13:01:17 +0000 (14:01 +0100)]
Improve dex location canonicalization-related performance.
Eagerly add canonical dex file locations to the OatFile's
primary lookup map in Setup(). This moves the boot.oat work
from every app startup to the zygote initialization. Since
we always ended up initializing the canonical location map
anyway due to the way that we're loading dex files, the lazy
initialization didn't save anything.
Clean up dex file name canonicalization to make sure we
free() the memory returned by realpath() rather than using
std::unique_ptr<> with the default deleter.
Avoid some unnecessary duplicate OatDexFile lookups.
Bug:
16828525
Bug:
17346103
Change-Id: Id8fbc8992f62996138eb2006a0046c6529747c09
Nicolas Geoffray [Wed, 10 Sep 2014 09:49:34 +0000 (10:49 +0100)]
Fix bug in register allocator.
When an input can be a constant, there is no need to
do a move.
Fix 003-omnibus-opcodes failure.
Change-Id: Ic40f99d3ae889505c1d2be8665f8521c2ebb5feb
Nicolas Geoffray [Wed, 10 Sep 2014 09:34:01 +0000 (10:34 +0100)]
Fix misuse of ArenaAllocator.
Allocator must survive its allocations (the pool is not enough).
Spotted by valgrind.
Change-Id: I7104a93e625995f1205710e6d07904b3d315e412
Mathieu Chartier [Wed, 10 Sep 2014 02:15:05 +0000 (02:15 +0000)]
Merge "Increase dex2oat timeouts for debug builds"
Mathieu Chartier [Wed, 10 Sep 2014 00:26:58 +0000 (17:26 -0700)]
Increase dex2oat timeouts for debug builds
Should fix the 056-const-string-jumbo test.
(cherry picked from commit
0bff4f375d8013a4a59cf70b3427fb461a17e6de)
Change-Id: I38d03fa7f981f0c067c52782e57938bbcbabef17
Junmo Park [Wed, 10 Sep 2014 01:50:24 +0000 (10:50 +0900)]
Fix kThumb2Vldrd definition to set correct flag.
kThumb2Vldrd shoud be set IS_LOAD_OFF4 not IS_LOAD_OFF.
Change-Id: I6b8ec3c54513f687a846ba7f3a817f6e439abcc9
Signed-off-by: Junmo Park <junmoz.park@samsung.com>
Mathieu Chartier [Tue, 9 Sep 2014 21:59:47 +0000 (21:59 +0000)]
Merge "Change Reference.get() intrinsic to Reference.getReferent()."
Hiroshi Yamauchi [Mon, 8 Sep 2014 20:22:56 +0000 (13:22 -0700)]
Address read barrier issue with cl/106467
And tidy/add a check.
Bug:
12687968
Change-Id: If63dc0d9d0a0ce5f2eeb81734ff8f4307865f67d
Brian Carlstrom [Tue, 9 Sep 2014 21:08:19 +0000 (21:08 +0000)]
Merge "Remove art-* targets in favor of build-art-* targets."
Chih-Hung Hsieh [Tue, 9 Sep 2014 20:59:33 +0000 (13:59 -0700)]
Disable Clang internal assembler.
To avoid compilation errors with macros and directives in asm_support_x86.S.
BUG:
17443165
Change-Id: Ia89387bf2213cf1bfd4dd7248a19b47391e8fb67
Mathieu Chartier [Tue, 9 Sep 2014 20:51:09 +0000 (13:51 -0700)]
Change Reference.get() intrinsic to Reference.getReferent().
The reference intrinsic was incorrectly inlining
PhantomReference.get(). We now get around this by adding a
layer of indirection. Reference.get() now calls getReferent()
which is intrinsified and inlined.
Requires:
https://android-review.googlesource.com/#/c/107100/
Bug:
17429865
Change-Id: Ie91e70abf43cedf3c707c7bb8a5059e19d2a2577
Brian Carlstrom [Mon, 8 Sep 2014 18:13:47 +0000 (11:13 -0700)]
Remove art-* targets in favor of build-art-* targets.
- Build both archs version when available.
- Add --64 and --32 command line flags to the art script.
Change-Id: I037ec94670767f1761adb26f44aafc5592ea3a2b
Jeff Hao [Tue, 9 Sep 2014 20:22:30 +0000 (20:22 +0000)]
Merge "Change 099-vmdebug test to use File.createTempFile."
Jeff Hao [Tue, 9 Sep 2014 20:07:59 +0000 (13:07 -0700)]
Change 099-vmdebug test to use File.createTempFile.
Avoids issues with concurrency.
Bug:
17439227
(cherry picked from commit
1ae33d6839a0e14a7e37bf9b88896479e30282d2)
Change-Id: I672e83537a12110a77c589697b721b9b26f3c53b
Jeff Hao [Tue, 9 Sep 2014 20:19:15 +0000 (20:19 +0000)]
Merge "Disable tracing if enabled by default for new tracing test."
Jeff Hao [Mon, 8 Sep 2014 22:32:39 +0000 (15:32 -0700)]
Disable tracing if enabled by default for new tracing test.
Bug:
17412385
(cherry picked from commit
b087849f5bbbf25bf5b03cf6172d2a50c08119e9)
Change-Id: I3641d6649cddda82c36e52658bf6d743c6446935
Jeff Hao [Tue, 9 Sep 2014 20:16:43 +0000 (20:16 +0000)]
Merge "Change when sampling thread is reset during shutdown to prevent races."
Jeff Hao [Mon, 8 Sep 2014 16:38:18 +0000 (09:38 -0700)]
Change when sampling thread is reset during shutdown to prevent races.
Also adds some extra argument checking and testing for tracing.
Bug:
17412385
(cherry picked from commit
f8bdd4e783842577e49f418a0b5962ba49dfdd93)
Change-Id: Ifc4f1a296155d73255b29d264b5475024e6419da
Bill Buzbee [Tue, 9 Sep 2014 13:50:53 +0000 (13:50 +0000)]
Merge "x86: evaluation destination should be after load of source in RA"
Vladimir Marko [Tue, 9 Sep 2014 09:08:41 +0000 (09:08 +0000)]
Merge "Small error reporting fix in class linker."
Andreas Gampe [Tue, 9 Sep 2014 08:22:59 +0000 (08:22 +0000)]
Merge "ART: Better error reporting on broken oat file"
Andreas Gampe [Tue, 9 Sep 2014 06:39:45 +0000 (23:39 -0700)]
ART: Better error reporting on broken oat file
Do not blow up when in GetHashBucket if GetHashBucketNum is zero.
Instead back-step to ElfFileOpen, which prints which symbol was
missing from which file.
Bug:
17422404
(cherry picked from commit
1b2140c9bf46388e4f59ecf3d62d99cd78fed12c)
Change-Id: I3b890dd1c31c08b1ccc0f7f668afcceee95f8d00
Sebastien Hertz [Tue, 9 Sep 2014 07:59:13 +0000 (07:59 +0000)]
Merge "Fix monitor visit for class initializer"
Sebastien Hertz [Mon, 8 Sep 2014 08:15:19 +0000 (10:15 +0200)]
Fix monitor visit for class initializer
We do not hold class object's lock when invoking class initializer. Therefore
it is wrong to visit it when looking for monitors owned by a thread.
Bug:
17377924
(cherry picked from commit
6d06f1b34322d91226c9dcd61e53c2b6731f8bb6)
Change-Id: I9a18c421297608dc3109624111f9fea021a16d24
Serguei Katkov [Mon, 8 Sep 2014 05:42:27 +0000 (12:42 +0700)]
x86: evaluation destination should be after load of source in RA
In almost most cases working with Register Allocator we must first
load source and then evaluate the destination. In this particular case
for byte-code shl-int/2addr v10, v10 we first find a destination (memory)
then load source (v10 -> physical register) and generate a shift operation
on memory. This is ok for this bytecode but RA thinks that v10 is in register
(we loaded source) and this is incorrect because updated value in memory
and physycal register is not up to date.
Change-Id: Ib4c71f70dcbf78b76ca89897e3bd605a89d77d08
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Andreas Gampe [Tue, 9 Sep 2014 05:09:47 +0000 (05:09 +0000)]
Merge "ART: Fix unchecked register index validity"
Andreas Gampe [Sun, 7 Sep 2014 20:06:12 +0000 (13:06 -0700)]
ART: Fix unchecked register index validity
The static check of index validity is against the type given by
the instruction, e.g., boolean for SPUT_BOOLEAN, but the target_type
is the resolved field type and can differ. An additional check is
necessary to avoid a read out of bounds.
Bug:
17411109
(cherry picked from commit
74ae47a0590feceea31a2388f98c83e3ec0df0ec)
Change-Id: Ie4ed8bbda79f3f6403a24e727450a943447aa71d
Brian Carlstrom [Tue, 9 Sep 2014 04:55:46 +0000 (04:55 +0000)]
Merge "Fix darwin run-test problems"
Brian Carlstrom [Tue, 9 Sep 2014 04:37:39 +0000 (21:37 -0700)]
Fix darwin run-test problems
Bug:
17428908
(cherry picked from commit
8a4064e2c0987637b11afcc656478d3113d81618)
Change-Id: Ica403bef3e7d93bf6e9197c44b77e39683e04d55
Mathieu Chartier [Tue, 9 Sep 2014 01:26:14 +0000 (01:26 +0000)]
Merge "Add fast path for FindClass using the type dex file."
Mathieu Chartier [Tue, 9 Sep 2014 01:22:38 +0000 (01:22 +0000)]
Merge "Ignore heap trim requests if we are the zygote"
Mathieu Chartier [Tue, 9 Sep 2014 01:22:01 +0000 (01:22 +0000)]
Merge "Revert "Fix heap trimmer daemon sleeping.""
Mathieu Chartier [Fri, 5 Sep 2014 01:33:17 +0000 (18:33 -0700)]
Add fast path for FindClass using the type dex file.
If we are using the PathClassLoader with a BootClassLoader
parent, we can handle the common case in the FindClass function
without needing to go back to java code.
Around 10% speedup measured of maps launch, could be noise due to
large variation of app launch times. Eliminates defineClassNative
from being anywhere near the top of sampling profiles.
Bug:
17397179
Bug:
16828525
(cherry picked from commit
8a39e7fe02e9a81853dc7a75cb50d9ece07a9b37)
Change-Id: I1f31de76c1b1a53e32173b1e61a59b0e2f267c98
Mathieu Chartier [Mon, 8 Sep 2014 20:35:11 +0000 (13:35 -0700)]
Ignore heap trim requests if we are the zygote
Done to prevent app launching lag due to sleep in heap trimmer
daemon.
Bug:
17310019
(cherry picked from commit
f81bfa3e21c8a4e031505470ea954c93949cb30b)
Change-Id: I3942d465781218aa04f7edc899ea87aa091f3cf7
Mathieu Chartier [Mon, 8 Sep 2014 20:08:41 +0000 (20:08 +0000)]
Revert "Fix heap trimmer daemon sleeping."
This reverts commit
698b44634396e8111e96e1116586fde89a838347.
(cherry picked from commit
4d3981c72a546b87c8f5d391ff8b5135b8ca99a7)
Change-Id: I7245bc08ebb95c12e7cc71b97edf9ca11ffbdf61
Mathieu Chartier [Mon, 8 Sep 2014 23:09:08 +0000 (23:09 +0000)]
Merge "Add test for hashCode and System.identityHashCode."
Mathieu Chartier [Mon, 8 Sep 2014 21:48:25 +0000 (14:48 -0700)]
Add test for hashCode and System.identityHashCode.
Change-Id: I325e95c23bda05bc9babff428111bb8d21f7f2d4
Mathieu Chartier [Mon, 8 Sep 2014 21:00:47 +0000 (21:00 +0000)]
Merge "Delete double finalization hack."
Brian Carlstrom [Mon, 8 Sep 2014 19:03:44 +0000 (19:03 +0000)]
Merge "Add CallNonvirtual test"
Brian Carlstrom [Mon, 8 Sep 2014 06:52:02 +0000 (23:52 -0700)]
Add CallNonvirtual test
Change-Id: If0cbfc587cb8fe5d47fda1149629954080dd0f6f
Vladimir Marko [Mon, 8 Sep 2014 08:55:29 +0000 (09:55 +0100)]
Small error reporting fix in class linker.
Change-Id: Ia9e94df48e9984c25ad8ab5c6ca41f9153984915
Nicolas Geoffray [Mon, 8 Sep 2014 16:09:18 +0000 (16:09 +0000)]
Merge "Add (simple) side effects flags and equality methods on nodes."
Nicolas Geoffray [Wed, 3 Sep 2014 13:51:22 +0000 (14:51 +0100)]
Add (simple) side effects flags and equality methods on nodes.
This is in preparation of doing GVN and LICM.
Change-Id: I43050ff846755f9387a62b893d548ecdb54e7e95
Nicolas Geoffray [Mon, 8 Sep 2014 14:41:40 +0000 (14:41 +0000)]
Merge "Clean-up and make the art script usable on target."
Nicolas Geoffray [Tue, 2 Sep 2014 14:24:25 +0000 (15:24 +0100)]
Clean-up and make the art script usable on target.
Also add a phony target to build what's needed to use it.
Change-Id: I0bca6b0cbe921653de05fec0ae0cbbff63df580e
Nicolas Geoffray [Mon, 8 Sep 2014 11:16:48 +0000 (11:16 +0000)]
Merge "Runtime support for the new stack maps for the opt compiler."
Nicolas Geoffray [Tue, 2 Sep 2014 14:17:15 +0000 (15:17 +0100)]
Runtime support for the new stack maps for the opt compiler.
Now most of the methods supported by the compiler can be optimized,
instead of using the baseline.
Change-Id: I80ab36a34913fa4e7dd576c7bf55af63594dc1fa
buzbee [Mon, 8 Sep 2014 04:22:20 +0000 (04:22 +0000)]
Merge "Quick compiler: Fix handling of unused returns"
buzbee [Sun, 7 Sep 2014 18:37:51 +0000 (11:37 -0700)]
Quick compiler: Fix handling of unused returns
As part of the inlining process, the quick compiler will attempt
to eliminate MOVE_RESULT instructions and deliver the result of
the inlined function directly to the eventual use.
The type of the returned value is determined by the subsequent
use (which had already been typed via the size and type
inference pass). However, if a method result is never used the code
just defaulted to assigning dummy core sink register[s]. This
caused a DCHECK failure on some 64-bit systems for methods returning
an unused reference (although the generated code was correct).
This CL selects sink registers for the unused return case based
on the type of the inlined method, and adds another DCHECK to
verify that the result of the size & type inference pass matches
with the inlined method's type.
Internal b/
17328561
Change-Id: I9803ad604fe1bdcf9ff9a1d310cf022a7b6deae2
Bill Buzbee [Sun, 7 Sep 2014 19:38:44 +0000 (19:38 +0000)]
Merge "ART: Make the dominator bitvectors expandable"
Bill Buzbee [Sun, 7 Sep 2014 19:23:21 +0000 (19:23 +0000)]
Merge "Fix Thumb2Stm, ldm definition of EncodingMap for arm"
Junmo Park [Mon, 1 Sep 2014 07:41:16 +0000 (16:41 +0900)]
Fix Thumb2Stm, ldm definition of EncodingMap for arm
Thumb2Stm instruction can save r0-r12,r14.
But the definition of EncodingMap only set r0-r12.
So it is fixed likes Thumb2Stmia.
Add new assembler formats kFmtLdmRegList and kFmtStmRegList.
Change-Id: Id03118d602f9d49d9d916f3dd9f3198f24ab9c37
Andreas Gampe [Sat, 6 Sep 2014 05:03:34 +0000 (05:03 +0000)]
Merge "ART: Refactor elf_writer_quick, add symbolizer"
Andreas Gampe [Fri, 5 Sep 2014 04:47:42 +0000 (21:47 -0700)]
ART: Refactor elf_writer_quick, add symbolizer
Refactors some classes in elf_writer_quick.h to elf_builder.h to
be more friendly for re-use. Use this in oatdump to add a symtab
to an oat file.
Bug:
17187621,
17322125
Change-Id: I2333291334fd98bd09cc5717fb83cb18efe3a029
Jean Christophe Beyler [Fri, 5 Sep 2014 23:06:42 +0000 (16:06 -0700)]
ART: Make the dominator bitvectors expandable
The dominator based bitvectors are not expandable. However, if we wish
to add BasicBlocks and recalculate, it is required to make them expandable.
Change-Id: I250684783c233eca31bb40a5bc971c97fcf7c42d
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Brian Carlstrom [Fri, 5 Sep 2014 23:05:06 +0000 (23:05 +0000)]
Merge "Fix numerous issues with DdmVmInternal allocation tracking"
Mathieu Chartier [Fri, 5 Sep 2014 21:40:03 +0000 (14:40 -0700)]
Delete double finalization hack.
No longer necessary.
Change-Id: Ie5eb9e9ce4b8473d3b3e65bd108f93223b9a80dd
Brian Carlstrom [Fri, 5 Sep 2014 20:01:41 +0000 (13:01 -0700)]
Fix numerous issues with DdmVmInternal allocation tracking
Issues addressed:
- Using without JDWP attached caused native crash.
- When buffer is full (64k entries), number of entries reported was 0.
- Disabling tracking after disabling tracking caused native crash.
- Asking for allocations after disabled caused native crash.
- Lock ordering issues between mutator lock and alloc tracker lock.
Adding 098-ddmc test to cover these cases.
Bug:
17392248
(cherry picked from commit
a5815065ac0877add9c0db3605d27b4d6c426e61)
Change-Id: Ib0bc18dfcdafcc050ab9dceed3d167dd878d1d7a