OSDN Git Service

android-x86/art.git
10 years agoMerge "Correct another RegStorage::Solo32"
Bill Buzbee [Tue, 3 Jun 2014 20:56:27 +0000 (20:56 +0000)]
Merge "Correct another RegStorage::Solo32"

10 years agoMerge "ART: Fix an error in proxy_invoke stub on ARM64"
Andreas Gampe [Tue, 3 Jun 2014 20:50:18 +0000 (20:50 +0000)]
Merge "ART: Fix an error in proxy_invoke stub on ARM64"

10 years agoCorrect another RegStorage::Solo32
Mark Mendell [Tue, 3 Jun 2014 20:05:37 +0000 (16:05 -0400)]
Correct another RegStorage::Solo32

It should be RegStorage::FloatSolo32

Change-Id: Iadfc6654254e5a1d117b35cc2d88ceb7057cc30d
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
10 years agoMerge "Modified functions to return pointers where appropriate"
Mathieu Chartier [Tue, 3 Jun 2014 19:18:48 +0000 (19:18 +0000)]
Merge "Modified functions to return pointers where appropriate"

10 years agoMerge "AArch64: split list of opcodes in compiler filter."
Bill Buzbee [Tue, 3 Jun 2014 19:12:48 +0000 (19:12 +0000)]
Merge "AArch64: split list of opcodes in compiler filter."

10 years agoMerge "Quick compiler: reference cleanup"
buzbee [Tue, 3 Jun 2014 18:28:26 +0000 (18:28 +0000)]
Merge "Quick compiler: reference cleanup"

10 years agoAArch64: split list of opcodes in compiler filter.
Matteo Franchin [Thu, 29 May 2014 13:24:10 +0000 (14:24 +0100)]
AArch64: split list of opcodes in compiler filter.

Some of the opcodes that are currently enabled in the compiler
filter are generating assertion failures when using libartd.so.
In this patch, these opcodes are marked as experimental
via #if ... #endif and are disabled. This allows using libartd.so
to run the tests and for development. Further commits will follow
to fix the assertion issues.

Change-Id: I9493fddc281542cb15ced38b262f37f4ef4f0870

10 years agoQuick compiler: reference cleanup
buzbee [Sun, 1 Jun 2014 16:33:49 +0000 (09:33 -0700)]
Quick compiler: reference cleanup

For 32-bit targets, object references are 32 bits wide both in
Dalvik virtual registers and in core physical registers.  Because of
this, object references and non-floating point values were both
handled as if they had the same register class (kCoreReg).

However, for 64-bit systems, references are 32 bits in Dalvik vregs, but
64 bits in physical registers.  Although the same underlying physical
core registers will still be used for object reference and non-float
values, different register class views will be used to represent them.
For example, an object reference in arm64 might be held in x3 at some
point, while the same underlying physical register, w3, would be used
to hold a 32-bit int.

This CL breaks apart the handling of object reference and non-float values
to allow the proper register class (or register view) to be used.  A
new register class, kRefReg, is introduced which will map to a 32-bit
core register on 32-bit targets, and 64-bit core registers on 64-bit
targets.  From this point on, object references should be allocated
registers in the kRefReg class rather than kCoreReg.

Change-Id: I6166827daa8a0ea3af326940d56a6a14874f5810

10 years agoMerge "x86_64: Fix art_quick_aput_obj"
Andreas Gampe [Tue, 3 Jun 2014 17:22:20 +0000 (17:22 +0000)]
Merge "x86_64: Fix art_quick_aput_obj"

10 years agoMerge "Don't use Dump for printing a bitset in liveness_test."
Nicolas Geoffray [Tue, 3 Jun 2014 11:07:00 +0000 (11:07 +0000)]
Merge "Don't use Dump for printing a bitset in liveness_test."

10 years agoDon't use Dump for printing a bitset in liveness_test.
Nicolas Geoffray [Tue, 3 Jun 2014 10:36:16 +0000 (10:36 +0000)]
Don't use Dump for printing a bitset in liveness_test.

Change-Id: Ib33e975cee838da97a3bebe04176b5ae8b62f9d5

10 years agox86_64: Fix art_quick_aput_obj
Dmitry Petrochenko [Thu, 29 May 2014 19:14:49 +0000 (02:14 +0700)]
x86_64: Fix art_quick_aput_obj

The ebx register is not scratch for x86_64 and it leads to
its corruption (seen on art/test 201). Replacing ebx by ecx.

Change-Id: I7f5eeba47688ada5afba82a9303fa736f823d77e
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoMerge "ART: BitVector not calculating number_of_bits correctly"
Vladimir Marko [Tue, 3 Jun 2014 10:14:41 +0000 (10:14 +0000)]
Merge "ART: BitVector not calculating number_of_bits correctly"

10 years agoART: Fix an error in proxy_invoke stub on ARM64
Andreas Gampe [Tue, 3 Jun 2014 05:50:05 +0000 (22:50 -0700)]
ART: Fix an error in proxy_invoke stub on ARM64

Make sure that d0 is filled with the right value, as the return
from C code is always in x0.

Bug: 15386201
Change-Id: I6c048b3d92272d769f1de3bdc9ce30733b9e1935

10 years agoModified functions to return pointers where appropriate
Fred Shih [Mon, 2 Jun 2014 18:11:52 +0000 (11:11 -0700)]
Modified functions to return pointers where appropriate

GetStringChars will return a pointer to the underlying char array iff
it is not movable. Otherwise, it will return a copy of the char array.
For consistency, the null terminating character has been removed as the
specification for a jchar strings are not null terminated:

http://developer.android.com/training/articles/perf-jni.html

GetStringCritical will now always return a pointer to the char array.
The char array is pinned and moving gc is disabled until the pointer is
released.

Change-Id: I19c8cbaecc1f3f723d80acec074fb8c5e2d489c3

10 years agoam 0f821c00: Merge "Make class status volatile."
Ian Rogers [Tue, 3 Jun 2014 00:05:14 +0000 (00:05 +0000)]
am 0f821c00: Merge "Make class status volatile."

* commit '0f821c00aeca7b6fca789e5613a91aef786b45af':
  Make class status volatile.

10 years agoam 7a33c4b8: Merge "Fix interpreter entrypoint initialization in the image"
Ian Rogers [Tue, 3 Jun 2014 00:05:13 +0000 (00:05 +0000)]
am 7a33c4b8: Merge "Fix interpreter entrypoint initialization in the image"

* commit '7a33c4b8260e2fafc9ca94e51334d4f18c8e4324':
  Fix interpreter entrypoint initialization in the image

10 years agoMerge "Make class status volatile."
Ian Rogers [Tue, 3 Jun 2014 00:04:17 +0000 (00:04 +0000)]
Merge "Make class status volatile."

10 years agoMerge "Fix interpreter entrypoint initialization in the image"
Ian Rogers [Tue, 3 Jun 2014 00:03:39 +0000 (00:03 +0000)]
Merge "Fix interpreter entrypoint initialization in the image"

10 years agoFix interpreter entrypoint initialization in the image
Sebastien Hertz [Wed, 21 May 2014 13:44:09 +0000 (15:44 +0200)]
Fix interpreter entrypoint initialization in the image

Sets the interpreter_to_interpreter_bridge entrypoint if the method is not
compiled. This avoids the slow path through Quick compiler's world.i

Bumps oat version to force recompilation of image.

Bug: 15098601
Change-Id: I08f7dfce26ecc5ca88bdf21187b2909c0c069596

10 years agoMake class status volatile.
Ian Rogers [Mon, 2 Jun 2014 21:24:56 +0000 (14:24 -0700)]
Make class status volatile.

Discourage loads and stores from reordering around the status being updated.
Bug: 15347354

Change-Id: Ice805cb834617747c8209e98a142d3e5c7585719

10 years agoART: BitVector not calculating number_of_bits correctly
Jean Christophe Beyler [Mon, 2 Jun 2014 18:21:21 +0000 (11:21 -0700)]
ART: BitVector not calculating number_of_bits correctly

The number_of_bits_ field has an unclear intent. Instead, using
  storage_size_ * kWordBits when relevant.

Change-Id: I8c13be0d6643de37813fb154296d451f22c298c8
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
10 years agoam 502a1975: Merge "Switch on implicit checks and bump oat version to force recompila...
Dave Allison [Mon, 2 Jun 2014 18:09:33 +0000 (18:09 +0000)]
am 502a1975: Merge "Switch on implicit checks and bump oat version to force recompilation"

* commit '502a1975e146b288356e49a3af82629637da5ece':
  Switch on implicit checks and bump oat version to force recompilation

10 years agoMerge "Switch on implicit checks and bump oat version to force recompilation"
Dave Allison [Mon, 2 Jun 2014 18:06:48 +0000 (18:06 +0000)]
Merge "Switch on implicit checks and bump oat version to force recompilation"

10 years agoam a3209fae: Merge "Added workaround passing empty arg array for proxy invocation."
Jeff Hao [Mon, 2 Jun 2014 17:03:20 +0000 (17:03 +0000)]
am a3209fae: Merge "Added workaround passing empty arg array for proxy invocation."

* commit 'a3209fae94bf7db935b235cc97a4852721accd3e':
  Added workaround passing empty arg array for proxy invocation.

10 years agoMerge "Added workaround passing empty arg array for proxy invocation."
Jeff Hao [Mon, 2 Jun 2014 17:01:01 +0000 (17:01 +0000)]
Merge "Added workaround passing empty arg array for proxy invocation."

10 years agoAdded workaround passing empty arg array for proxy invocation.
Jeff Hao [Fri, 30 May 2014 00:29:47 +0000 (17:29 -0700)]
Added workaround passing empty arg array for proxy invocation.

This recreates old Dalvik behavior for older target sdk versions,
but will still pass null for newer ones.

Bug: 13247236

(cherry picked from commit 01d5a146e20660bd06f026c16f19ec080f8fdd7b)

Change-Id: I911889cf559ad8d9f37ea9be3929387c86446851

10 years agoam f6b5378b: Merge "ART: Fix comments and link before MIR to next in Remove method"
Ian Rogers [Mon, 2 Jun 2014 16:31:13 +0000 (16:31 +0000)]
am f6b5378b: Merge "ART: Fix comments and link before MIR to next in Remove method"

* commit 'f6b5378ba182c5c26c556ae34638afc38adef519':
  ART: Fix comments and link before MIR to next in Remove method

10 years agoMerge "ART: Fix comments and link before MIR to next in Remove method"
Ian Rogers [Mon, 2 Jun 2014 16:27:18 +0000 (16:27 +0000)]
Merge "ART: Fix comments and link before MIR to next in Remove method"

10 years agoam 042cbb60: Merge "x86: art_quick_instrumentation_entry should not use offset address"
Ian Rogers [Mon, 2 Jun 2014 16:12:01 +0000 (16:12 +0000)]
am 042cbb60: Merge "x86: art_quick_instrumentation_entry should not use offset address"

* commit '042cbb60dc25c16806b02d41dfad040861f727ad':
  x86: art_quick_instrumentation_entry should not use offset address

10 years agoam 8928d477: Merge "Fix GC race condition in visit roots"
Ian Rogers [Mon, 2 Jun 2014 16:08:34 +0000 (16:08 +0000)]
am 8928d477: Merge "Fix GC race condition in visit roots"

* commit '8928d4779c5cb4844e213cc483777c745d0749be':
  Fix GC race condition in visit roots

10 years agoMerge "x86: art_quick_instrumentation_entry should not use offset address"
Ian Rogers [Mon, 2 Jun 2014 16:07:44 +0000 (16:07 +0000)]
Merge "x86: art_quick_instrumentation_entry should not use offset address"

10 years agoMerge "Fix GC race condition in visit roots"
Ian Rogers [Mon, 2 Jun 2014 16:06:03 +0000 (16:06 +0000)]
Merge "Fix GC race condition in visit roots"

10 years agoART: Fix comments and link before MIR to next in Remove method
Jean Christophe Beyler [Mon, 2 Jun 2014 16:04:32 +0000 (09:04 -0700)]
ART: Fix comments and link before MIR to next in Remove method

There are some comments without a period at the end and the remove does not
link the MIR before the one we want to remove to the one after.

Change-Id: Ia1263d3191e39b4f8f76ef62b28f7fbb1c6c0403
Signed-off-by: Jean Christophe Beyler jean.christophe.beyler@intel.com
10 years agox86: art_quick_instrumentation_entry should not use offset address
Serguei Katkov [Thu, 22 May 2014 03:07:44 +0000 (10:07 +0700)]
x86: art_quick_instrumentation_entry should not use offset address

art_quick_instrumentation_entry uses offset of the address
instead of full adress but this address is used in ret instruction
which does not expect it.

Change-Id: I9e576037d7adf14a7e9fa8f6d4aba4ee540fcc14
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoFix GC race condition in visit roots
Serguei Katkov [Mon, 26 May 2014 04:23:39 +0000 (11:23 +0700)]
Fix GC race condition in visit roots

While GC visits roots other code can change the set pending exception
due to lack of synchronization.

Change-Id: If387944ac933a66fe176df066c3a0ea52131cad4
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoam e4283be9: Merge "Quick compiler: fix array overrun."
buzbee [Sun, 1 Jun 2014 18:41:02 +0000 (18:41 +0000)]
am e4283be9: Merge "Quick compiler: fix array overrun."

* commit 'e4283be97047a26d3476acd3863dcc386498be17':
  Quick compiler: fix array overrun.

10 years agoMerge "Quick compiler: fix array overrun."
buzbee [Sun, 1 Jun 2014 18:37:53 +0000 (18:37 +0000)]
Merge "Quick compiler: fix array overrun."

10 years agoQuick compiler: fix array overrun.
buzbee [Sat, 31 May 2014 15:59:01 +0000 (08:59 -0700)]
Quick compiler: fix array overrun.

MIRGraph::InlineCalls() was using the MIR opcode to recover
Dalvik instruction flags - something that is only valid for
Dalvik opcodes and not the set of extended MIR opcodes.

This is probably the 3rd or 4th time we've had a bug using
the MIR opcode in situations that are only valid for the Dalvik
opcode subset.  I took the opportunity to scan the code for
other cases of this (didn't find any), and did some cleanup while
I was in the neighborhood.

We should probably rework the DalvikOpcode/MirOpcode model whenver we
get around to removing DalvikInstruction from MIR.

Internal bug b/15352667: out-of-bound access in mir_optimization.cc

Change-Id: I75f06780468880892151e3cdd313e14bfbbaa489

10 years agoam fbc3e0ba: Merge "ART: Add thread safety test for LargeObjectSpace"
Andreas Gampe [Fri, 30 May 2014 22:13:30 +0000 (22:13 +0000)]
am fbc3e0ba: Merge "ART: Add thread safety test for LargeObjectSpace"

* commit 'fbc3e0baa16f265a5dbc99a38383b4dbc41b04a8':
  ART: Add thread safety test for LargeObjectSpace

10 years agoMerge "ART: Add thread safety test for LargeObjectSpace"
Andreas Gampe [Fri, 30 May 2014 22:10:57 +0000 (22:10 +0000)]
Merge "ART: Add thread safety test for LargeObjectSpace"

10 years agoART: Add thread safety test for LargeObjectSpace
Andreas Gampe [Fri, 30 May 2014 21:42:59 +0000 (14:42 -0700)]
ART: Add thread safety test for LargeObjectSpace

Add a test that just calls Alloc and Free repeatedly with multiple
threads, checking whether things are really race-free.

Change-Id: I39ea9e7449e3354b49c3aa11c27fcfeb07acff9f

10 years agoam b20c373e: Merge "AArch64: Enable extended MIR"
Bill Buzbee [Fri, 30 May 2014 21:54:07 +0000 (21:54 +0000)]
am b20c373e: Merge "AArch64: Enable extended MIR"

* commit 'b20c373e45200102eaf2d4aac35d366067e0074b':
  AArch64: Enable extended MIR

10 years agoMerge "AArch64: Enable extended MIR"
Bill Buzbee [Fri, 30 May 2014 21:49:34 +0000 (21:49 +0000)]
Merge "AArch64: Enable extended MIR"

10 years agoam b379e8d1: Merge "Compaction cleanup for FindArrayClass."
Mathieu Chartier [Fri, 30 May 2014 21:19:29 +0000 (21:19 +0000)]
am b379e8d1: Merge "Compaction cleanup for FindArrayClass."

* commit 'b379e8d107b9131d9b6c7b48aea01f9866e4047b':
  Compaction cleanup for FindArrayClass.

10 years agoMerge "Compaction cleanup for FindArrayClass."
Mathieu Chartier [Fri, 30 May 2014 21:15:32 +0000 (21:15 +0000)]
Merge "Compaction cleanup for FindArrayClass."

10 years agoCompaction cleanup for FindArrayClass.
Mathieu Chartier [Thu, 29 May 2014 21:31:33 +0000 (14:31 -0700)]
Compaction cleanup for FindArrayClass.

We now pass double pointer in to signify that it can cause thread
suspension, this double pointer gets wrapped by a handle if don't
find the array class in the cache.

Change-Id: I43436b6c35597c7252b65d1180baddb5ac4caabb

10 years agoam e4e04bbd: Merge "Support disassembly of 16-bit immediates"
Ian Rogers [Fri, 30 May 2014 20:27:39 +0000 (20:27 +0000)]
am e4e04bbd: Merge "Support disassembly of 16-bit immediates"

* commit 'e4e04bbd86d1131b9f380a52a46b1a3b83335d5f':
  Support disassembly of 16-bit immediates

10 years agoam afa8e909: Merge "Fix race condition in MemMap::MapAnonymous."
Mathieu Chartier [Fri, 30 May 2014 20:27:38 +0000 (20:27 +0000)]
am afa8e909: Merge "Fix race condition in MemMap::MapAnonymous."

* commit 'afa8e909b7fbf53cb45573c458c031d3174069c9':
  Fix race condition in MemMap::MapAnonymous.

10 years agoMerge "Support disassembly of 16-bit immediates"
Ian Rogers [Fri, 30 May 2014 20:26:12 +0000 (20:26 +0000)]
Merge "Support disassembly of 16-bit immediates"

10 years agoMerge "Fix race condition in MemMap::MapAnonymous."
Mathieu Chartier [Fri, 30 May 2014 20:24:53 +0000 (20:24 +0000)]
Merge "Fix race condition in MemMap::MapAnonymous."

10 years agoFix race condition in MemMap::MapAnonymous.
Mathieu Chartier [Fri, 30 May 2014 20:02:46 +0000 (13:02 -0700)]
Fix race condition in MemMap::MapAnonymous.

Previously we were using MAP_FIXED which introduced a serious race
condition if MAP_32BIT was set since it would possibly overwrite
an existing map at the address which we determined was free with
msync. There was a window of time after we had msynced a page where
another thread could map something at that page. The new method
avoids using MAP_FIXED and unmaps allocations which succeed but
aren't in the low 4GB when MAP_32BIT is set.

Bug: 15338094
Bug: 14974497
Change-Id: I57f00baf4143e9fa17fb1d4c2be04b30705a2bfd

10 years agoSupport disassembly of 16-bit immediates
Mark Mendell [Fri, 30 May 2014 19:05:09 +0000 (15:05 -0400)]
Support disassembly of 16-bit immediates

Change-Id: I66f5ce93077241204311e52c547599f5287bae04
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
10 years agoam b413cd79: Merge "Don\'t report down-calls as unhandled exceptions."
Ian Rogers [Fri, 30 May 2014 19:56:36 +0000 (19:56 +0000)]
am b413cd79: Merge "Don\'t report down-calls as unhandled exceptions."

* commit 'b413cd79c46b7c48ac763cb8152a55a4ed60fe9f':
  Don't report down-calls as unhandled exceptions.

10 years agoMerge "Don't report down-calls as unhandled exceptions."
Ian Rogers [Fri, 30 May 2014 19:53:48 +0000 (19:53 +0000)]
Merge "Don't report down-calls as unhandled exceptions."

10 years agoam 22460ecb: Merge "Quick compiler: Method* as a reference"
buzbee [Fri, 30 May 2014 19:50:35 +0000 (19:50 +0000)]
am 22460ecb: Merge "Quick compiler: Method* as a reference"

* commit '22460ecbaae7e489a3bc17a2adb2e7e9d0028f9c':
  Quick compiler: Method* as a reference

10 years agoMerge "Quick compiler: Method* as a reference"
buzbee [Fri, 30 May 2014 19:48:41 +0000 (19:48 +0000)]
Merge "Quick compiler: Method* as a reference"

10 years agoDon't report down-calls as unhandled exceptions.
Ian Rogers [Fri, 30 May 2014 04:31:50 +0000 (21:31 -0700)]
Don't report down-calls as unhandled exceptions.

Bug: 15310540
Also, narrow scope of catch/deoptimize stack visitors that are specific to
quick exception delivery.

Change-Id: Ib13a006ce1347acb93a36b0186550d4c3ec2034b

10 years agoSwitch on implicit checks and bump oat version to force recompilation
Dave Allison [Fri, 30 May 2014 18:25:06 +0000 (11:25 -0700)]
Switch on implicit checks and bump oat version to force recompilation

This switches on the compiler's implicit null pointer and stack
overflow checks.  These use signals

Change-Id: I7b536784bbca5f07e30379881a1eea6ab4c258ac

10 years agoam c24234e9: Merge "Another workaround for stack overflow issue with clang"
Sebastien Hertz [Fri, 30 May 2014 18:17:40 +0000 (18:17 +0000)]
am c24234e9: Merge "Another workaround for stack overflow issue with clang"

* commit 'c24234e9d6fea3d6d5451aa4fa14ca0c6e63f8bd':
  Another workaround for stack overflow issue with clang

10 years agoMerge "Another workaround for stack overflow issue with clang"
Sebastien Hertz [Fri, 30 May 2014 18:14:35 +0000 (18:14 +0000)]
Merge "Another workaround for stack overflow issue with clang"

10 years agoam 3326027d: Merge "Quick compiler: x86_64 workaround"
buzbee [Fri, 30 May 2014 16:54:57 +0000 (16:54 +0000)]
am 3326027d: Merge "Quick compiler: x86_64 workaround"

* commit '3326027d2cc52463db3786a860cf238e8feb349e':
  Quick compiler: x86_64 workaround

10 years agoMerge "Quick compiler: x86_64 workaround"
buzbee [Fri, 30 May 2014 16:52:12 +0000 (16:52 +0000)]
Merge "Quick compiler: x86_64 workaround"

10 years agoam b7f02280: Merge "ART: Use StackReference in Quick Stack Frame"
Andreas Gampe [Fri, 30 May 2014 16:47:47 +0000 (16:47 +0000)]
am b7f02280: Merge "ART: Use StackReference in Quick Stack Frame"

* commit 'b7f02280f7f56ae94fe7f01e161be0b725b6e4a9':
  ART: Use StackReference in Quick Stack Frame

10 years agoam ac70051a: Merge "Revert "Revert "Clean up image writer patching."""
Mathieu Chartier [Fri, 30 May 2014 16:47:46 +0000 (16:47 +0000)]
am ac70051a: Merge "Revert "Revert "Clean up image writer patching."""

* commit 'ac70051a6f97025b8a93390b2b5a62e491fc77ca':
  Revert "Revert "Clean up image writer patching.""

10 years agoam 72fc6356: Merge "Revert "Revert "Add support for relative patching to quick offset...
Mathieu Chartier [Fri, 30 May 2014 16:47:46 +0000 (16:47 +0000)]
am 72fc6356: Merge "Revert "Revert "Add support for relative patching to quick offsets."""

* commit '72fc63563661b4b954acd5962ec3ae30b7666569':
  Revert "Revert "Add support for relative patching to quick offsets.""

10 years agoMerge "ART: Use StackReference in Quick Stack Frame"
Andreas Gampe [Fri, 30 May 2014 16:46:04 +0000 (16:46 +0000)]
Merge "ART: Use StackReference in Quick Stack Frame"

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

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

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

This reverts commit fb241b6e93f8b54122b978ad0df23a9e514eef0f.

Change-Id: I99da82fd549bcdc3c2fdfe496147897335c50b8e

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

This reverts commit 3e2e99484043aa25b8ed41509ac1b3ccd7d6a959.

Change-Id: Ifbe604330cd3a1dd0a8afa7c500868e2fd0fc500

10 years agoam 6a7f45ee: Merge "Revert "Add support for relative patching to quick offsets.""
Mathieu Chartier [Fri, 30 May 2014 16:36:34 +0000 (16:36 +0000)]
am 6a7f45ee: Merge "Revert "Add support for relative patching to quick offsets.""

* commit '6a7f45ee5401d3d0a5af8ce68bc3b22ae6d85555':
  Revert "Add support for relative patching to quick offsets."

10 years agoam 31273d0c: Merge "Revert "Clean up image writer patching.""
Mathieu Chartier [Fri, 30 May 2014 16:36:34 +0000 (16:36 +0000)]
am 31273d0c: Merge "Revert "Clean up image writer patching.""

* commit '31273d0c1e3c29498cc2360584b8935bf35f4376':
  Revert "Clean up image writer patching."

10 years agoam 5e5af81e: Merge "Change GetFreeMemory to use the growth limit."
Mathieu Chartier [Fri, 30 May 2014 16:33:10 +0000 (16:33 +0000)]
am 5e5af81e: Merge "Change GetFreeMemory to use the growth limit."

* commit '5e5af81e97b602c7ccb71b6145a9637c944954a5':
  Change GetFreeMemory to use the growth limit.

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 agoam d87ca14e: Merge "Fix build."
Narayan Kamath [Fri, 30 May 2014 11:11:52 +0000 (11:11 +0000)]
am d87ca14e: Merge "Fix build."

* commit 'd87ca14e850d6cc029419fef41f9212907bda2bf':
  Fix build.

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 agoam b827c44f: Merge "ART: Setting up cleanup"
Vladimir Marko [Fri, 30 May 2014 10:37:52 +0000 (10:37 +0000)]
am b827c44f: Merge "ART: Setting up cleanup"

* commit 'b827c44f39f66fce600408f82988d6e154627ba7':
  ART: Setting up cleanup

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 agoAArch64: Enable extended MIR
Serban Constantinescu [Wed, 28 May 2014 12:21:45 +0000 (13:21 +0100)]
AArch64: Enable extended MIR

This patch enables all the extended MIR opcodes for ARM64. Please note
that currently the compiler will never generate these opcodes since the
BB optimisations are not enabled.

Change-Id: Ia712b071f62301db868297d37567795128b5bf2e
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
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 agoART: Use StackReference in Quick Stack Frame
Andreas Gampe [Thu, 29 May 2014 05:43:01 +0000 (22:43 -0700)]
ART: Use StackReference in Quick Stack Frame

The method reference at the bottom of a quick frame is a stack
reference and not a native pointer. This is important for 64b
architectures, where the notions do not coincide.

Change key methods to have StackReference<mirror::ArtMethod>*
parameter instead of mirror::ArtMethod**. Make changes to
invoke stubs for 64b archs, change the frame setup for JNI code
(both generic JNI and compilers), tie up loose ends.

Tested on x86 and x86-64 with host tests. On x86-64, tests succeed
with jni compiler activated. x86-64 QCG was not tested.

Tested on ARM32 with device tests.

Fix ARM64 not saving x19 (used for wSUSPEND) on upcalls.

Tested on ARM64 in interpreter-only + generic-jni mode.

Fix ARM64 JNI Compiler to work with the CL.

Tested on ARM64 in interpreter-only + jni compiler.

Change-Id: I77931a0cbadd04d163b3eb8d6f6a6f8740578f13

10 years agoam 29b53d3d: Merge "Moved a BufferedOutputStream onto the heap to reduce stack usage."
Brian Carlstrom [Fri, 30 May 2014 00:59:48 +0000 (00:59 +0000)]
am 29b53d3d: Merge "Moved a BufferedOutputStream onto the heap to reduce stack usage."

* commit '29b53d3d715b1ec19349e8cbf7c5e4ff529bd5fe':
  Moved a BufferedOutputStream onto the heap to reduce stack usage.

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 agoam e4707ae7: Merge "Ignore catch blocks whose type can\'t be resolved."
Ian Rogers [Fri, 30 May 2014 00:10:42 +0000 (00:10 +0000)]
am e4707ae7: Merge "Ignore catch blocks whose type can\'t be resolved."

* commit 'e4707ae7985a4f855b97f3b20d99fb55368f44ad':
  Ignore catch blocks whose type can't be resolved.

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 agoam 2b2c0cf9: Merge "Clean up image writer patching."
Mathieu Chartier [Thu, 29 May 2014 23:35:03 +0000 (23:35 +0000)]
am 2b2c0cf9: Merge "Clean up image writer patching."

* commit '2b2c0cf947a4b228c9f378a3b4f281eaa2bff19a':
  Clean up image writer patching.

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 agoQuick compiler: x86_64 workaround
buzbee [Thu, 29 May 2014 23:03:42 +0000 (16:03 -0700)]
Quick compiler: x86_64 workaround

A recent CL changed the allocation of temp registers destined to
hold a reference such that on 64-bit systems a 64-bit register
would be allocated.  However, for bring-up purposes, the x86_64
backend wants the ability to continue holding long values in a
register pair.

Change-Id: I25d9f755fafbe96144226677f85c6d5cad1ffa76

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 agoam 31e7fcb9: Merge "Add support for relative patching to quick offsets."
Mathieu Chartier [Thu, 29 May 2014 22:04:24 +0000 (22:04 +0000)]
am 31e7fcb9: Merge "Add support for relative patching to quick offsets."

* commit '31e7fcb904f03a504f082d25814ac4644b5073e4':
  Add support for relative patching to quick offsets.

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."