OSDN Git Service

android-x86/art.git
10 years agoMerge "Revert "Add support for relative patching to quick offsets.""
Mathieu Chartier [Fri, 30 May 2014 16:32:42 +0000 (16:32 +0000)]
Merge "Revert "Add support for relative patching to quick offsets.""

10 years agoRevert "Add support for relative patching to quick offsets."
Mathieu Chartier [Fri, 30 May 2014 16:32:31 +0000 (16:32 +0000)]
Revert "Add support for relative patching to quick offsets."

This reverts commit 57d27334bcb9ea95c969be70d8d93eb1a9c72b41.

Change-Id: I5df09ee342c337291388a48e4975a6bf5c1f9944

10 years agoMerge "Revert "Clean up image writer patching.""
Mathieu Chartier [Fri, 30 May 2014 16:32:12 +0000 (16:32 +0000)]
Merge "Revert "Clean up image writer patching.""

10 years agoRevert "Clean up image writer patching."
Mathieu Chartier [Fri, 30 May 2014 16:31:49 +0000 (16:31 +0000)]
Revert "Clean up image writer patching."

This reverts commit fc3b871ca37593561e3b67006771710bf4d174ea.

Change-Id: I4d1250f3adcd17fcd1b63496816e098db4d5be3c

10 years agoMerge "Change GetFreeMemory to use the growth limit."
Mathieu Chartier [Fri, 30 May 2014 16:30:19 +0000 (16:30 +0000)]
Merge "Change GetFreeMemory to use the growth limit."

10 years agoMerge "Fix build."
Narayan Kamath [Fri, 30 May 2014 11:08:38 +0000 (11:08 +0000)]
Merge "Fix build."

10 years agoFix build.
Narayan Kamath [Fri, 30 May 2014 10:58:09 +0000 (11:58 +0100)]
Fix build.

Lint error due to a wrong #include guard.

Change-Id: I3b5d56c412580ec14f5c09b859a1bd6f9eb667ee

10 years agoMerge "ART: Setting up cleanup"
Vladimir Marko [Fri, 30 May 2014 10:35:30 +0000 (10:35 +0000)]
Merge "ART: Setting up cleanup"

10 years agoART: Setting up cleanup
Jean Christophe Beyler [Wed, 7 May 2014 03:36:55 +0000 (20:36 -0700)]
ART: Setting up cleanup

- Moved code around to actually have the clean-up code in a PassDriver format.
    This allows us to better control what is being called after an optimization
    It also allows the use of a centralized pass system for both optimizations
      and cleanup.

Change-Id: I9d21e9bb9ee663739722f440d82adf04f73e380c
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Signed-off-by: Yixin Shou <yixin.shou@intel.com>
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Signed-off-by: Udayan Banerji <udayan.banerji@intel.com>
10 years agoMerge "Moved a BufferedOutputStream onto the heap to reduce stack usage."
Brian Carlstrom [Fri, 30 May 2014 00:57:10 +0000 (00:57 +0000)]
Merge "Moved a BufferedOutputStream onto the heap to reduce stack usage."

10 years agoMoved a BufferedOutputStream onto the heap to reduce stack usage.
Alex Light [Thu, 29 May 2014 22:42:47 +0000 (15:42 -0700)]
Moved a BufferedOutputStream onto the heap to reduce stack usage.

Bug: 15278350
Change-Id: I6aa7cf3979453e555686610e90520b762b812f8c

10 years agoChange GetFreeMemory to use the growth limit.
Mathieu Chartier [Fri, 30 May 2014 00:09:51 +0000 (17:09 -0700)]
Change GetFreeMemory to use the growth limit.

This makes more sense since it is what the allocator uses. Also fixed
somewhere where we were not properly passing in whether or not it was
a large object allocation.

Bug: 15327879
Change-Id: Ieab7af5427f5cdc2760390186b67e2c96d4bafa7

10 years agoMerge "Ignore catch blocks whose type can't be resolved."
Ian Rogers [Fri, 30 May 2014 00:05:29 +0000 (00:05 +0000)]
Merge "Ignore catch blocks whose type can't be resolved."

10 years agoIgnore catch blocks whose type can't be resolved.
Ian Rogers [Thu, 29 May 2014 23:55:06 +0000 (16:55 -0700)]
Ignore catch blocks whose type can't be resolved.

Reverts change 72b3e430d880ef57eaa6a34a0822165994052202 but keeps unit test and
missing delete that would fail assertions on long jump context recycling.

Change-Id: I926755e8b831b208aa7e1ce46421bef3793a1441

10 years agoMerge "Clean up image writer patching."
Mathieu Chartier [Thu, 29 May 2014 23:31:40 +0000 (23:31 +0000)]
Merge "Clean up image writer patching."

10 years agoClean up image writer patching.
Mathieu Chartier [Thu, 29 May 2014 22:36:38 +0000 (15:36 -0700)]
Clean up image writer patching.

Also fixed an issue related to incorrect patching of non relative
patches.

Change-Id: I55b0b3814b65b7fa8749a934dfaaf07b97735304

10 years agoMerge "Add support for relative patching to quick offsets."
Mathieu Chartier [Thu, 29 May 2014 22:00:50 +0000 (22:00 +0000)]
Merge "Add support for relative patching to quick offsets."

10 years agoMerge "Add read barriers for the weak roots in the JNI weak globals."
Hiroshi Yamauchi [Thu, 29 May 2014 21:14:56 +0000 (21:14 +0000)]
Merge "Add read barriers for the weak roots in the JNI weak globals."

10 years agoAdd support for relative patching to quick offsets.
Mathieu Chartier [Thu, 29 May 2014 17:19:19 +0000 (10:19 -0700)]
Add support for relative patching to quick offsets.

We now have support for patching relative patches to quick offsets
(interpreter bridge, generic trampoline). This fixes an issue where
the compiler was generating relative branches to methods but then
later deciding to not compile them, we now properly patch these in
the image writer.

Credits: agampe for help.
Bug: 15283931

Change-Id: I3ea5278b39def6c442432fb14103a91c6eae6d0f

10 years agoMerge "Make use of sigchainlib for signal chaining for implicit checks"
Dave Allison [Thu, 29 May 2014 19:51:32 +0000 (19:51 +0000)]
Merge "Make use of sigchainlib for signal chaining for implicit checks"

10 years agoAdd read barriers for the weak roots in the JNI weak globals.
Hiroshi Yamauchi [Thu, 29 May 2014 19:16:04 +0000 (12:16 -0700)]
Add read barriers for the weak roots in the JNI weak globals.

Bug: 12687968
Change-Id: Ic265a0e162e8cc9edc4ab7fa34f8afd5ce968d08

10 years agoMerge "AArch64: fixing some assertions."
Bill Buzbee [Thu, 29 May 2014 17:44:40 +0000 (17:44 +0000)]
Merge "AArch64: fixing some assertions."

10 years agoMerge "Improve tracking of memory locations in LVN."
Vladimir Marko [Thu, 29 May 2014 16:46:27 +0000 (16:46 +0000)]
Merge "Improve tracking of memory locations in LVN."

10 years agoMake use of sigchainlib for signal chaining for implicit checks
Dave Allison [Wed, 14 May 2014 22:41:25 +0000 (15:41 -0700)]
Make use of sigchainlib for signal chaining for implicit checks

This adds a preload library that overrides sigaction and sigprocmask
to implement signal chaining.  Signal chaining allows us to chain
any signal so that the ART runtime receives it before any signal
handler registered in native code by an application.  If the
ART signal handler doesn't want it, it will pass it on to the
user's handler.

ART uses signals for null pointer checks, stack overflow checks and
suspend points.

Also adds an OAT test to test this in isolation.

Change-Id: I9545f9f7343774c091410eb810504d9855fd399f

10 years agoImprove tracking of memory locations in LVN.
Vladimir Marko [Thu, 22 May 2014 11:09:08 +0000 (12:09 +0100)]
Improve tracking of memory locations in LVN.

Rewrite the tracking of values stored in memory to allow
recognizing the same value after storing it in memory and
loading it back to vreg. Drop reliance on value name
ordering for memory versioning in preparation for GVN.

Also fix a few minor issues in LVN.

Change-Id: Ifabe2d47d669d9ec43942cea6fd157e41af77ec8

10 years agoAArch64: fixing some assertions.
Matteo Franchin [Fri, 23 May 2014 16:32:52 +0000 (17:32 +0100)]
AArch64: fixing some assertions.

Fixing some assertions while attempting to get libartd.so to work.
Fixing also the shift logic in LoadBaseIndexed() and StoreBaseIndexed().
This commit only fixes a part of the assertion issues.

Change-Id: I473194d4260dd59a8ee6d73114429728c977ee0e

10 years agoMerge "Fix pass driver's dump_pass_list_ and print_pass_list_."
Vladimir Marko [Thu, 29 May 2014 09:55:11 +0000 (09:55 +0000)]
Merge "Fix pass driver's dump_pass_list_ and print_pass_list_."

10 years agoFix pass driver's dump_pass_list_ and print_pass_list_.
Vladimir Marko [Wed, 28 May 2014 20:41:35 +0000 (21:41 +0100)]
Fix pass driver's dump_pass_list_ and print_pass_list_.

The lists were allocated with new char[], so they should
have been held by std::unique_ptr<const char[]> rather than
std::unique_ptr<const char>. However, it's much cleaner with
std::string.

Change-Id: Ie7c604773272194345f5e6e3c4803c3a914edf99

10 years agoMerge "Move to dalvik.vm.lib.2 to force default to libart"
Brian Carlstrom [Wed, 28 May 2014 22:28:32 +0000 (22:28 +0000)]
Merge "Move to dalvik.vm.lib.2 to force default to libart"

10 years agoMove to dalvik.vm.lib.2 to force default to libart
Brian Carlstrom [Wed, 28 May 2014 21:56:39 +0000 (14:56 -0700)]
Move to dalvik.vm.lib.2 to force default to libart

Bug: 14298175

(cherry picked from commit b9c0c40e1f7eb38337919200f1fa328eaed92c1d)

Change-Id: I453d5391d757dcdac1f6fa3b1fb7bc85144177e1

10 years agoMerge "Fix DexFile.entries to return class names, not class descriptors"
Brian Carlstrom [Wed, 28 May 2014 21:52:50 +0000 (21:52 +0000)]
Merge "Fix DexFile.entries to return class names, not class descriptors"

10 years agoMerge "Use a heap allocated free buffer in MarkSweep::SweepArray()."
Hiroshi Yamauchi [Wed, 28 May 2014 21:27:36 +0000 (21:27 +0000)]
Merge "Use a heap allocated free buffer in MarkSweep::SweepArray()."

10 years agoUse a heap allocated free buffer in MarkSweep::SweepArray().
Hiroshi Yamauchi [Wed, 28 May 2014 21:04:59 +0000 (14:04 -0700)]
Use a heap allocated free buffer in MarkSweep::SweepArray().

This is for avoiding a large stack frame size.

Bug: 15278350
Change-Id: I63e92c2dd0ad7078fd74ee2392717dc44b431e9a

10 years agoFix DexFile.entries to return class names, not class descriptors
Brian Carlstrom [Wed, 28 May 2014 18:09:10 +0000 (11:09 -0700)]
Fix DexFile.entries to return class names, not class descriptors

Bug: 15141726

(cherry picked from commit f2f9daf9ba33b15abddfc8f8d03a708a7908b765)

Change-Id: I28ce8aae1713a9826a3373e1eb60e0edf267f64c

10 years agoMerge "ART: Print and dump functionalities per pass"
Ian Rogers [Wed, 28 May 2014 19:47:01 +0000 (19:47 +0000)]
Merge "ART: Print and dump functionalities per pass"

10 years agoMerge "Don't create bump pointer spaces unless necessary."
Mathieu Chartier [Wed, 28 May 2014 19:38:53 +0000 (19:38 +0000)]
Merge "Don't create bump pointer spaces unless necessary."

10 years agoMerge "x86_64: Support r8-r15, xmm8-xmm15 in assembler"
Bill Buzbee [Wed, 28 May 2014 19:32:41 +0000 (19:32 +0000)]
Merge "x86_64: Support r8-r15, xmm8-xmm15 in assembler"

10 years agoDon't create bump pointer spaces unless necessary.
Mathieu Chartier [Tue, 27 May 2014 17:10:11 +0000 (10:10 -0700)]
Don't create bump pointer spaces unless necessary.

We now only create these spaces if the foreground or background
collector is a moving collector.

Bug: 13564922
Bug: 14059466
Change-Id: I9f83c7881bc28423b78d5249c8e8854add91b60c

10 years agoMerge "Add read barriers to the weak roots in the intern table."
Hiroshi Yamauchi [Wed, 28 May 2014 19:20:28 +0000 (19:20 +0000)]
Merge "Add read barriers to the weak roots in the intern table."

10 years agoAdd read barriers to the weak roots in the intern table.
Hiroshi Yamauchi [Sat, 24 May 2014 02:58:15 +0000 (19:58 -0700)]
Add read barriers to the weak roots in the intern table.

Bug: 12687968
Change-Id: I424f1df76a7e3d7154fb9f3c951c973d19bd640f

10 years agoMerge "Allocate large enough space bitmaps for malloc spaces."
Hiroshi Yamauchi [Wed, 28 May 2014 18:04:31 +0000 (18:04 +0000)]
Merge "Allocate large enough space bitmaps for malloc spaces."

10 years agoMerge "Add option to specify compiler executable."
Brian Carlstrom [Wed, 28 May 2014 17:34:38 +0000 (17:34 +0000)]
Merge "Add option to specify compiler executable."

10 years agoMerge "x86_64: Add 64-bit version of instructions in asm"
Bill Buzbee [Wed, 28 May 2014 17:33:50 +0000 (17:33 +0000)]
Merge "x86_64: Add 64-bit version of instructions in asm"

10 years agox86_64: Support r8-r15, xmm8-xmm15 in assembler
Dmitry Petrochenko [Wed, 30 Apr 2014 06:40:19 +0000 (13:40 +0700)]
x86_64: Support r8-r15, xmm8-xmm15 in assembler

Added REX support. The TARGET_REX_SUPPORT should be used during build.

Change-Id: I82b457ff5085c8192ad873923bd939fbb91022ce
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
10 years agoMerge "Fix method tracing's handling of shadow frames on startup."
Jeff Hao [Wed, 28 May 2014 15:42:18 +0000 (15:42 +0000)]
Merge "Fix method tracing's handling of shadow frames on startup."

10 years agoAdd option to specify compiler executable.
Tsu Chiang Chuang [Thu, 22 May 2014 17:22:25 +0000 (10:22 -0700)]
Add option to specify compiler executable.

Change-Id: I973da5e74be5a62461caacbc708288fb95e1b99b

10 years agoFix method tracing's handling of shadow frames on startup.
Jeff Hao [Wed, 28 May 2014 01:25:47 +0000 (18:25 -0700)]
Fix method tracing's handling of shadow frames on startup.

Bug: 15142926
Change-Id: I7d7896ec3f62f46a43578f536292db6e219d83f0

10 years agoMerge "Fix the problem of not shutting down the profiler in ART properly"
Ian Rogers [Tue, 27 May 2014 23:00:36 +0000 (23:00 +0000)]
Merge "Fix the problem of not shutting down the profiler in ART properly"

10 years agoMerge "Set the type of a RegStorage correctly"
Bill Buzbee [Tue, 27 May 2014 21:49:36 +0000 (21:49 +0000)]
Merge "Set the type of a RegStorage correctly"

10 years agoMerge "ART: Fix sharpening across dex files"
Andreas Gampe [Tue, 27 May 2014 21:47:10 +0000 (21:47 +0000)]
Merge "ART: Fix sharpening across dex files"

10 years agoMerge "Art compiler: remove unnecessary sqrt call"
buzbee [Tue, 27 May 2014 21:43:47 +0000 (21:43 +0000)]
Merge "Art compiler: remove unnecessary sqrt call"

10 years agoART: Fix sharpening across dex files
Andreas Gampe [Tue, 27 May 2014 21:43:03 +0000 (14:43 -0700)]
ART: Fix sharpening across dex files

Bug: 15196336
Change-Id: If4301bcddce0ddbc60bb33403e4a76eed35bcb2f

10 years agoArt compiler: remove unnecessary sqrt call
buzbee [Tue, 27 May 2014 20:59:04 +0000 (13:59 -0700)]
Art compiler: remove unnecessary sqrt call

For reasons lost in the mists of time, the Dalvik JIT tested
the results of an inlined sqrt for NaN on Arm targets, and then
called an out-of-line routine to recompute if true.  The Quick
compiler inherited this behavior.  It is not necessary, and the CL
purges it (along with the out-of-line sqrt entrypoint).

Change-Id: I8c8fa6feacf9b7c3b9e190dfc6f728932fd948c6

10 years agoMerge "Quick compiler: generalize NarrowRegLoc()"
buzbee [Tue, 27 May 2014 20:18:06 +0000 (20:18 +0000)]
Merge "Quick compiler: generalize NarrowRegLoc()"

10 years agoSet the type of a RegStorage correctly
Mark Mendell [Tue, 27 May 2014 19:52:21 +0000 (15:52 -0400)]
Set the type of a RegStorage correctly

This will be used as a FP value, so call the right function to create
the RegStorage.

Change-Id: I2bd832746afac509d20f195a7770f2fbd215cbd7
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
10 years agox86_64: Add 64-bit version of instructions in asm
Dmitry Petrochenko [Mon, 19 May 2014 21:03:46 +0000 (04:03 +0700)]
x86_64: Add 64-bit version of instructions in asm

Add missed 64-bit versions of instructions.

Change-Id: I8151484d909dff487cb7e521494a0be249a42214
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
10 years agoART: Print and dump functionalities per pass
Jean Christophe Beyler [Tue, 29 Apr 2014 20:42:08 +0000 (13:42 -0700)]
ART: Print and dump functionalities per pass

LOG is a great logging tool but sometimes a pass has some debugging text it
 want to be able to turn on/off easily.

By going via a print_pass flag, we can actually turn it on/off easily per pass
 when debugging/instrumenting.

- Added a pass printer to help debug messages for future passes.
- Added a print_pass flag in CompilationUnit to filter out messages.

At the same time, did a similar system for dumping the CFG.

- Also moved some API into public from protected.

Change-Id: Ie0e89a8fc773e8583f3e4ffd6e4bd2eebdbb2bf4
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Signed-off-by: Yixin Shou <yixin.shou@intel.com>
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Signed-off-by: Udayan Banerji <udayan.banerji@intel.com>
10 years agoMerge "Workaround apparent clang compilation issue"
Brian Carlstrom [Tue, 27 May 2014 18:39:03 +0000 (18:39 +0000)]
Merge "Workaround apparent clang compilation issue"

10 years agoWorkaround apparent clang compilation issue
Brian Carlstrom [Tue, 27 May 2014 18:14:12 +0000 (11:14 -0700)]
Workaround apparent clang compilation issue

Bug: 15014252

(cherry picked from commit ec80e7e1506e7099210399626b46cb8183534e70)

Change-Id: I159d66764749e41d2a97e0912f796085b4fdb6e1

10 years agoMerge "AArch64: Add suspend check in managed code."
Bill Buzbee [Tue, 27 May 2014 18:08:40 +0000 (18:08 +0000)]
Merge "AArch64: Add suspend check in managed code."

10 years agoMerge "ART: Better SSA Allocation when recreating SSA"
Bill Buzbee [Tue, 27 May 2014 18:08:25 +0000 (18:08 +0000)]
Merge "ART: Better SSA Allocation when recreating SSA"

10 years agoMerge "AArch64: Enable FLOAT and DOUBLE opcodes"
Bill Buzbee [Tue, 27 May 2014 18:08:11 +0000 (18:08 +0000)]
Merge "AArch64: Enable FLOAT and DOUBLE opcodes"

10 years agoFix the problem of not shutting down the profiler in ART properly
Wei Jin [Wed, 21 May 2014 23:07:40 +0000 (16:07 -0700)]
Fix the problem of not shutting down the profiler in ART properly

This CL fixes the problem of not saving the last batch of profile data to the
external file when the runtime exits before the end of the current iteration of
profile sampling. This problem was fixed by shutting down the ART profiler
when the runtime exits and allowing the profiler to write the last batch of
data even it was signaled to shut down. This CL increases the precision of
profile data and fixes the bug that no data is saved if the duration of profile
sampling specified by VM arguments (by default 20 seconds) is longer than the
length of a single execution because the profiler was never signaled when the
runtime exits.

Change-Id: I7cc4805b7e2a22a990d04a5b9724ad1d931d7152
Signed-off-by: Wei Jin <wejin@google.com>
10 years agoART: Better SSA Allocation when recreating SSA
Jean Christophe Beyler [Thu, 1 May 2014 22:36:22 +0000 (15:36 -0700)]
ART: Better SSA Allocation when recreating SSA

The SSA calculation is not allocation friendly. This makes the
SSARepresentation remember how much is allocated and not reallocate
if SSA should be recalculated.

Also added some allocation friendly code for the dominance code.

Change-Id: Icd5586b7e2fefae8e1535975ab400b1ca95b500f
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
10 years agoAArch64: Enable FLOAT and DOUBLE opcodes
Serban Constantinescu [Fri, 23 May 2014 16:38:18 +0000 (17:38 +0100)]
AArch64: Enable FLOAT and DOUBLE opcodes

This patch enables all the DOUBLE and FLOAT opcodes except for REM ones.
It has been tested and passes all Dalvik tests except for:

failed: 018-stack-overflow[pid=1076]
failed: 107-int-math2[pid=1593]

Change-Id: I581f219bde354e3402aa3ad6e24ef15566da5f78
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
10 years agoMerge "Fix x86_64 test failures."
Brian Carlstrom [Mon, 26 May 2014 16:57:58 +0000 (16:57 +0000)]
Merge "Fix x86_64 test failures."

10 years agoFix x86_64 test failures.
Nicolas Geoffray [Mon, 26 May 2014 13:01:46 +0000 (14:01 +0100)]
Fix x86_64 test failures.

Change-Id: I97b3d1755d2e205ca7423248a2af37f1875d5116

10 years agoMerge "Add a linear scan register allocator to the optimizing compiler."
Nicolas Geoffray [Mon, 26 May 2014 10:53:44 +0000 (10:53 +0000)]
Merge "Add a linear scan register allocator to the optimizing compiler."

10 years agoAdd a linear scan register allocator to the optimizing compiler.
Nicolas Geoffray [Thu, 22 May 2014 11:50:17 +0000 (12:50 +0100)]
Add a linear scan register allocator to the optimizing compiler.

This is a "by-the-book" implementation. It currently only deals
with allocating registers, with no hint optimizations.

The changes remaining to make it functional are:
- Allocate spill slots.
- Resolution and placements of Move instructions.
- Connect it to the code generator.

Change-Id: Ie0b2f6ba1b98da85425be721ce4afecd6b4012a4

10 years agoMerge "Make DexFile content read only before running DexFileVerifier"
Brian Carlstrom [Mon, 26 May 2014 05:44:55 +0000 (05:44 +0000)]
Merge "Make DexFile content read only before running DexFileVerifier"

10 years agoMake DexFile content read only before running DexFileVerifier
Brian Carlstrom [Sun, 25 May 2014 23:08:51 +0000 (16:08 -0700)]
Make DexFile content read only before running DexFileVerifier

(cherry picked from commit 98725444129efe2b1b51c87740860caadaef2bf7)

Change-Id: I18a932b2f19d44b820232f4d4e9c358df20ab364

10 years agoAArch64: Add suspend check in managed code.
Zheng Xu [Fri, 23 May 2014 03:52:42 +0000 (11:52 +0800)]
AArch64: Add suspend check in managed code.

TODO: Remove x19 in the frame in runtime, generic jni, compiled jni.

Change-Id: Ibdc292c9e7adb3a5d3eff353c22f60ffc101f549

10 years agoMerge "Add TARGET_2ND_ARCH support for dump-oat-boot"
Brian Carlstrom [Sun, 25 May 2014 23:30:49 +0000 (23:30 +0000)]
Merge "Add TARGET_2ND_ARCH support for dump-oat-boot"

10 years agoQuick compiler: generalize NarrowRegLoc()
buzbee [Sun, 25 May 2014 22:10:52 +0000 (15:10 -0700)]
Quick compiler: generalize NarrowRegLoc()

Some of the RegStorage utilites (DoubleToLowSingle(),
DoubleToHighSingle(), etc.) worked only for targets which
which treat double precision registers as a pair of aliased
single precision registers.

This CL elminates those utilities, and replaces them with
a new RegisterInfo utility that will search an aliased register
set and return the member matching the required storage
configuration (if it exists).

Change-Id: Iff5de10f467d20a56e1a89df9fbf30d1cf63c240

10 years agoAdd TARGET_2ND_ARCH support for dump-oat-boot
Brian Carlstrom [Sun, 25 May 2014 21:38:17 +0000 (14:38 -0700)]
Add TARGET_2ND_ARCH support for dump-oat-boot

Change-Id: I87f1742f401af37893d336074c53dee92993b769

10 years agoMerge "Fix ExtractToMemMap to show original zip file name in ashmem"
Brian Carlstrom [Sun, 25 May 2014 21:14:29 +0000 (21:14 +0000)]
Merge "Fix ExtractToMemMap to show original zip file name in ashmem"

10 years agoMerge "x86_64: Rebase on top of "64-bit temp register support""
Bill Buzbee [Sat, 24 May 2014 16:01:22 +0000 (16:01 +0000)]
Merge "x86_64: Rebase on top of "64-bit temp register support""

10 years agoMerge "Implement all vector instructions for X86"
Bill Buzbee [Sat, 24 May 2014 15:35:09 +0000 (15:35 +0000)]
Merge "Implement all vector instructions for X86"

10 years agoImplement all vector instructions for X86
Mark Mendell [Thu, 22 May 2014 13:52:36 +0000 (09:52 -0400)]
Implement all vector instructions for X86

Add X86 code generation for the vector operations.  Added support for
X86 disassembler for the new instructions.

Change-Id: I72b48f5efa3a516a16bb1dd4bdb5c9270a8db53a
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
10 years agoMerge "Quick compiler: fix register clobbering."
buzbee [Sat, 24 May 2014 13:15:42 +0000 (13:15 +0000)]
Merge "Quick compiler: fix register clobbering."

10 years agoQuick compiler: fix register clobbering.
buzbee [Fri, 23 May 2014 23:04:08 +0000 (16:04 -0700)]
Quick compiler: fix register clobbering.

Ensure all aliased children of a register set are clobbered
when any member is clobbered.  Additionally, use a clobbering
mask to avoid clobbering non-overlapping siblings.

Change-Id: Ic0d88a30f3e5b7a359396f6541d602739fa3124a

10 years agoAllocate large enough space bitmaps for malloc spaces.
Hiroshi Yamauchi [Sat, 24 May 2014 04:27:30 +0000 (21:27 -0700)]
Allocate large enough space bitmaps for malloc spaces.

Fix a bug that we don't allocate space bitmaps for a malloc space that
are large enough to cover the non-growth-limited capacity.

Change-Id: I2e99a70eb8cddc284dffafa2d2afcc2f0c9074c7

10 years agox86_64: Rebase on top of "64-bit temp register support"
Dmitry Petrochenko [Thu, 22 May 2014 05:26:50 +0000 (12:26 +0700)]
x86_64: Rebase on top of "64-bit temp register support"

Added the 64-bit core/temp register definition, fixed RegisterPool
creation for x86_64 so that 64-bit core/temps are NOT used for now.
The long arithmetic still operates with register pair on x86_64 and
it is a subject for change in a separate patch.

Change-Id: I2be06d5aefaf80141983bc9d8ed8a2ee24c2b21b
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
10 years agoMerge "Improve invalid large object free dumping."
Mathieu Chartier [Sat, 24 May 2014 00:07:47 +0000 (00:07 +0000)]
Merge "Improve invalid large object free dumping."

10 years agoImprove invalid large object free dumping.
Mathieu Chartier [Fri, 23 May 2014 23:42:20 +0000 (16:42 -0700)]
Improve invalid large object free dumping.

Bug: 14974497
Change-Id: I30f99d693151ee5ae1f7b3d420519a0b1b21b2f4

10 years agoMerge "Add reserve area to allocation stacks."
Mathieu Chartier [Fri, 23 May 2014 23:30:35 +0000 (23:30 +0000)]
Merge "Add reserve area to allocation stacks."

10 years agoMerge "Revert "ART: Better SSA Allocation when recreating SSA""
Bill Buzbee [Fri, 23 May 2014 23:02:20 +0000 (23:02 +0000)]
Merge "Revert "ART: Better SSA Allocation when recreating SSA""

10 years agoRevert "ART: Better SSA Allocation when recreating SSA"
Bill Buzbee [Fri, 23 May 2014 23:00:22 +0000 (23:00 +0000)]
Revert "ART: Better SSA Allocation when recreating SSA"

Temporarily reverting until memory footprint cost of adding a vreg to ssa entrance map on every applicable MIR node can be assessed..

This reverts commit cb73fb35e5f7c575ed491c0c8e2d2b1a0a22ea2e.

Change-Id: Ia9c03bfc5d365ad8d8b949e870f1e3bcda7f9a54

10 years agoMerge "ART: Better SSA Allocation when recreating SSA"
Ian Rogers [Fri, 23 May 2014 22:45:34 +0000 (22:45 +0000)]
Merge "ART: Better SSA Allocation when recreating SSA"

10 years agoMerge "ART: BasicBlock API Implementation"
Ian Rogers [Fri, 23 May 2014 22:38:35 +0000 (22:38 +0000)]
Merge "ART: BasicBlock API Implementation"

10 years agoART: BasicBlock API Implementation
Jean Christophe Beyler [Mon, 12 May 2014 06:36:41 +0000 (23:36 -0700)]
ART: BasicBlock API Implementation

- Adding BasicBlock Utility functions.

Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Signed-off-by: Yixin Shou <yixin.shou@intel.com>
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Signed-off-by: Udayan Banerji <udayan.banerji@intel.com>
Change-Id: Ia264b4e68a9a56441ca143f1d98e5a333cf87b29

10 years agoMerge "[MIPS] Remove warnings about use of at register"
Ian Rogers [Fri, 23 May 2014 21:47:48 +0000 (21:47 +0000)]
Merge "[MIPS] Remove warnings about use of at register"

10 years agoMerge "Revert "Revert "Fix an outstanding compaction bug in interpreter."""
Mathieu Chartier [Fri, 23 May 2014 21:10:42 +0000 (21:10 +0000)]
Merge "Revert "Revert "Fix an outstanding compaction bug in interpreter."""

10 years agoFix ExtractToMemMap to show original zip file name in ashmem
Brian Carlstrom [Fri, 23 May 2014 09:47:28 +0000 (02:47 -0700)]
Fix ExtractToMemMap to show original zip file name in ashmem

(cherry picked from commit 1fca8e91f32dc8b13d3129b7ef4a0194839736e6)

Change-Id: Id7d22600496b090ac32150c8c6424da89964b6be

10 years agoRevert "Revert "Fix an outstanding compaction bug in interpreter.""
Mathieu Chartier [Thu, 22 May 2014 23:48:55 +0000 (16:48 -0700)]
Revert "Revert "Fix an outstanding compaction bug in interpreter.""

Fixed the generic trampoline to not use ToJObject when unnecessary.

Bug: 15167269

This reverts commit 3bdb873122964da7937eb070cbcf2ef638a8e459.

Change-Id: I0525d0e0f3afb753c770e1572070a0fa22b02271

10 years ago[MIPS] Remove warnings about use of at register
Chris Dearman [Fri, 23 May 2014 17:47:01 +0000 (10:47 -0700)]
[MIPS] Remove warnings about use of at register

Also, don't restore k0 and k1 as part of long jump as they are reserved for
kernel usage.

Change-Id: I4eec9eb5d21de96ca79f2cef9407a0e19c9c2178

10 years agoMerge "ART: refactor x86/x86-64 entrypoints"
Ian Rogers [Fri, 23 May 2014 19:06:24 +0000 (19:06 +0000)]
Merge "ART: refactor x86/x86-64 entrypoints"

10 years agoMerge "Extra debug output for a failing lock check."
Ian Rogers [Fri, 23 May 2014 18:51:20 +0000 (18:51 +0000)]
Merge "Extra debug output for a failing lock check."

10 years agoExtra debug output for a failing lock check.
Ian Rogers [Fri, 23 May 2014 18:39:11 +0000 (11:39 -0700)]
Extra debug output for a failing lock check.

Change-Id: If4abae535a875a06f4fa4203e6aabc1169b1f38e

10 years agoMerge "ART: API to dex instructions"
Ian Rogers [Fri, 23 May 2014 18:18:07 +0000 (18:18 +0000)]
Merge "ART: API to dex instructions"