OSDN Git Service

android-x86/art.git
9 years agoam b2a7ec2a: Merge "Disable 114-ParallelGC for GC stress testing."
Ian Rogers [Fri, 10 Oct 2014 19:56:17 +0000 (19:56 +0000)]
am b2a7ec2a: Merge "Disable 114-ParallelGC for GC stress testing."

* commit 'b2a7ec2ad3f24c4094185cbf87bd0a39f727ffe7':
  Disable 114-ParallelGC for GC stress testing.

9 years agoMerge "Disable 114-ParallelGC for GC stress testing."
Ian Rogers [Fri, 10 Oct 2014 19:48:22 +0000 (19:48 +0000)]
Merge "Disable 114-ParallelGC for GC stress testing."

9 years agoDisable 114-ParallelGC for GC stress testing.
Ian Rogers [Fri, 10 Oct 2014 19:39:31 +0000 (12:39 -0700)]
Disable 114-ParallelGC for GC stress testing.

Bug: 17387969
Change-Id: Ic50e9642468646c36afa5cfbe4050d24e9190ae6

9 years agoam a4fee49a: Don\'t call dlsym from signal context in signal chain
Dave Allison [Fri, 10 Oct 2014 15:42:04 +0000 (15:42 +0000)]
am a4fee49a: Don\'t call dlsym from signal context in signal chain

* commit 'a4fee49a5023a3cf8431597950ee87c711d0b81c':
  Don't call dlsym from signal context in signal chain

9 years agoam acfbbd4d: Merge "Cleanup baseline register allocator."
Nicolas Geoffray [Fri, 10 Oct 2014 11:43:56 +0000 (11:43 +0000)]
am acfbbd4d: Merge "Cleanup baseline register allocator."

* commit 'acfbbd4df2fc1c79a7102587bebf398f95b5e5de':
  Cleanup baseline register allocator.

9 years agoMerge "Cleanup baseline register allocator."
Nicolas Geoffray [Fri, 10 Oct 2014 11:36:33 +0000 (11:36 +0000)]
Merge "Cleanup baseline register allocator."

9 years agoCleanup baseline register allocator.
Nicolas Geoffray [Thu, 9 Oct 2014 21:13:55 +0000 (22:13 +0100)]
Cleanup baseline register allocator.

- Use three arrays for blocking regsters instead of
  one and computing offsets in that array.]
- Don't pass blocked_registers_ to methods, just use the field.

Change-Id: Ib698564c31127c59b5a64c80f4262394b8394dc6

9 years agoam b76c5495: Merge "Fix code generation of materialized conditions."
Nicolas Geoffray [Fri, 10 Oct 2014 11:30:33 +0000 (11:30 +0000)]
am b76c5495: Merge "Fix code generation of materialized conditions."

* commit 'b76c5495c4879fcfa0866b1490031a3123baf9ee':
  Fix code generation of materialized conditions.

9 years agoMerge "Fix code generation of materialized conditions."
Nicolas Geoffray [Fri, 10 Oct 2014 11:22:50 +0000 (11:22 +0000)]
Merge "Fix code generation of materialized conditions."

9 years agoam 4471609d: Merge "Only watch location for BREAKPOINT event"
Sebastien Hertz [Fri, 10 Oct 2014 09:30:30 +0000 (09:30 +0000)]
am 4471609d: Merge "Only watch location for BREAKPOINT event"

* commit '4471609d86b7e846b26bebe3373707a10c222e71':
  Only watch location for BREAKPOINT event

9 years agoMerge "Only watch location for BREAKPOINT event"
Sebastien Hertz [Fri, 10 Oct 2014 08:22:18 +0000 (08:22 +0000)]
Merge "Only watch location for BREAKPOINT event"

9 years agoam 6b0518f6: Merge "Enable -Wimplicit-fallthrough."
Ian Rogers [Fri, 10 Oct 2014 06:38:27 +0000 (06:38 +0000)]
am 6b0518f6: Merge "Enable -Wimplicit-fallthrough."

* commit '6b0518f6cfa79b35c067d8bc4d50d054cfc6656c':
  Enable -Wimplicit-fallthrough.

9 years agoMerge "Enable -Wimplicit-fallthrough."
Ian Rogers [Fri, 10 Oct 2014 05:23:50 +0000 (05:23 +0000)]
Merge "Enable -Wimplicit-fallthrough."

9 years agoEnable -Wimplicit-fallthrough.
Ian Rogers [Fri, 10 Oct 2014 04:56:44 +0000 (21:56 -0700)]
Enable -Wimplicit-fallthrough.

Falling through switch cases on a clang build must now annotate the fallthrough
with the FALLTHROUGH_INTENDED macro.
Bug: 17731372

Change-Id: I836451cd5f96b01d1ababdbf9eef677fe8fa8324

9 years agoDon't call dlsym from signal context in signal chain
Dave Allison [Tue, 16 Sep 2014 17:01:01 +0000 (10:01 -0700)]
Don't call dlsym from signal context in signal chain

It is dangerous to call dlsym from within a signal context
since it takes a lock and can lead to a mutex reentry attempt if
timing is bad.

This change adds an initialization function to the signal chain
that calls dlsym for sigaction and sigprocmask from outside the
signal context (from Runtime::Init()).  The results are cached
in a static variable and used from within the signal context if
necessary.

However, tests don't necessarily call Runtime::Init() so we also
need to deal with the case where the signal chain is not initialized
and perform a lazy initialization from inside sigaction or sigprocmask.
This is always outside a signal context since we have not initialized
the runtime.

Bug: 1749857117896006

(cherry picked from commit cefcea838729287a04174664a76514dd793dd77d)

Change-Id: I9bf8540a1250eadf977ff9af249dbe1c73b5ac63

9 years agoam 8fa8c904: Merge "Fix object header size for baker read barrier."
Ian Rogers [Thu, 9 Oct 2014 23:55:25 +0000 (23:55 +0000)]
am 8fa8c904: Merge "Fix object header size for baker read barrier."

* commit '8fa8c904f7c783204a1dc9438429391d256658da':
  Fix object header size for baker read barrier.

9 years agoMerge "Fix object header size for baker read barrier."
Ian Rogers [Thu, 9 Oct 2014 23:48:06 +0000 (23:48 +0000)]
Merge "Fix object header size for baker read barrier."

9 years agoFix object header size for baker read barrier.
Ian Rogers [Thu, 9 Oct 2014 23:29:40 +0000 (16:29 -0700)]
Fix object header size for baker read barrier.

Change-Id: I2b4a61488b9017d22210d79a07f485f9afef3b42

9 years agoam 182c9f66: Merge "stdint types all the way!"
Ian Rogers [Thu, 9 Oct 2014 23:20:17 +0000 (23:20 +0000)]
am 182c9f66: Merge "stdint types all the way!"

* commit '182c9f660993abf05825a2d532fe5bba420f11f0':
  stdint types all the way!

9 years agoMerge "stdint types all the way!"
Ian Rogers [Thu, 9 Oct 2014 23:07:50 +0000 (23:07 +0000)]
Merge "stdint types all the way!"

9 years agostdint types all the way!
Ian Rogers [Wed, 8 Oct 2014 19:43:28 +0000 (12:43 -0700)]
stdint types all the way!

Change-Id: I4e4ef3a2002fc59ebd9097087f150eaf3f2a7e08

9 years agoam 25b18bbd: Merge "Simplify instance reference offsets."
Ian Rogers [Thu, 9 Oct 2014 22:52:30 +0000 (22:52 +0000)]
am 25b18bbd: Merge "Simplify instance reference offsets."

* commit '25b18bbdaa36ff936eb44f228f0518d4223e9d52':
  Simplify instance reference offsets.

9 years agoMerge "Simplify instance reference offsets."
Ian Rogers [Thu, 9 Oct 2014 22:42:24 +0000 (22:42 +0000)]
Merge "Simplify instance reference offsets."

9 years agoam 98672681: Merge "Fix race in thread list destructor"
Mathieu Chartier [Thu, 9 Oct 2014 22:07:07 +0000 (22:07 +0000)]
am 98672681: Merge "Fix race in thread list destructor"

* commit '9867268143038e6037c80d4aaaca9a94d538ac01':
  Fix race in thread list destructor

9 years agoSimplify instance reference offsets.
Ian Rogers [Thu, 9 Oct 2014 20:21:38 +0000 (13:21 -0700)]
Simplify instance reference offsets.

Don't encode Object's class. Use trailing rather than leading zeroes to give
offset position.

Change-Id: I1ae74e7a01f63696429644adf81cdf6ee58832fe

9 years agoam b90132cb: Fix race in thread list destructor
Mathieu Chartier [Thu, 9 Oct 2014 20:46:53 +0000 (20:46 +0000)]
am b90132cb: Fix race in thread list destructor

* commit 'b90132cb5132eaeb4dbfca1e63d79b4005dacec5':
  Fix race in thread list destructor

9 years agoMerge "Fix race in thread list destructor"
Mathieu Chartier [Thu, 9 Oct 2014 20:46:32 +0000 (20:46 +0000)]
Merge "Fix race in thread list destructor"

9 years agoFix race in thread list destructor
Mathieu Chartier [Thu, 9 Oct 2014 19:57:58 +0000 (12:57 -0700)]
Fix race in thread list destructor

The ThreadList::Contains wasn't being guarded by the thread list
lock, which could cause a corrupted thread list if another thread
unregistered itself while std::find was searching the thread list.

Bug: 17896374

(cherry picked from commit b90132cb5132eaeb4dbfca1e63d79b4005dacec5)

Change-Id: I8f6f979f365ca00ac0655e04eb26020d2ad7d6ee

9 years agoFix race in thread list destructor
Mathieu Chartier [Thu, 9 Oct 2014 19:57:58 +0000 (12:57 -0700)]
Fix race in thread list destructor

The ThreadList::Contains wasn't being guarded by the thread list
lock, which could cause a corrupted thread list if another thread
unregistered itself while std::find was searching the thread list.

Bug: 17896374
Change-Id: I629b1eac3473e3cf7355ebde9080dfd7c58af73a

9 years agoam bbb1fc6e: Merge changes Ia0044523,Ieefe83cf
Ian Rogers [Thu, 9 Oct 2014 18:59:44 +0000 (18:59 +0000)]
am bbb1fc6e: Merge changes Ia0044523,Ieefe83cf

* commit 'bbb1fc6e95f46470979936450b0d3f1e020c5904':
  Fix ARM64 build.
  ARM64: Update code after the VIXL 1.6 release.

9 years agoMerge changes Ia0044523,Ieefe83cf
Ian Rogers [Thu, 9 Oct 2014 18:51:11 +0000 (18:51 +0000)]
Merge changes Ia0044523,Ieefe83cf

* changes:
  Fix ARM64 build.
  ARM64: Update code after the VIXL 1.6 release.

9 years agoFix ARM64 build.
Ian Rogers [Thu, 9 Oct 2014 18:50:09 +0000 (11:50 -0700)]
Fix ARM64 build.

Change-Id: Ia0044523473d7a93ef3f0eed8e6c28602e767c17

9 years agoam 349e486f: Merge "Fix arm64 build: move macro usage after definition."
Vladimir Marko [Thu, 9 Oct 2014 17:46:31 +0000 (17:46 +0000)]
am 349e486f: Merge "Fix arm64 build: move macro usage after definition."

* commit '349e486f5e6c8f8dd482641a27f9e7cce04ea623':
  Fix arm64 build: move macro usage after definition.

9 years agoam 4ecaf87a: Merge "ART: X86: GenLongArith should handle overlapped VRs"
Bill Buzbee [Thu, 9 Oct 2014 17:46:30 +0000 (17:46 +0000)]
am 4ecaf87a: Merge "ART: X86: GenLongArith should handle overlapped VRs"

* commit '4ecaf87a2b62f4e51ee4c1f8b32aaea1473187a2':
  ART: X86: GenLongArith should handle overlapped VRs

9 years agoMerge "Fix arm64 build: move macro usage after definition."
Vladimir Marko [Thu, 9 Oct 2014 17:39:46 +0000 (17:39 +0000)]
Merge "Fix arm64 build: move macro usage after definition."

9 years agoMerge "ART: X86: GenLongArith should handle overlapped VRs"
Bill Buzbee [Thu, 9 Oct 2014 17:37:21 +0000 (17:37 +0000)]
Merge "ART: X86: GenLongArith should handle overlapped VRs"

9 years agoFix arm64 build: move macro usage after definition.
Vladimir Marko [Thu, 9 Oct 2014 17:34:28 +0000 (18:34 +0100)]
Fix arm64 build: move macro usage after definition.

The build was broken by
    https://android-review.googlesource.com/110341

Change-Id: I137b4bc694af15465bf0db3ffe337950064d2a53

9 years agoam a1d1fc2b: Merge "Restore valgrind-test-art-host"
Brian Carlstrom [Thu, 9 Oct 2014 17:35:49 +0000 (17:35 +0000)]
am a1d1fc2b: Merge "Restore valgrind-test-art-host"

* commit 'a1d1fc2bed0d11a380bc9bdad5f7f3c69d75bd6d':
  Restore valgrind-test-art-host

9 years agoMerge "Restore valgrind-test-art-host"
Brian Carlstrom [Thu, 9 Oct 2014 17:29:06 +0000 (17:29 +0000)]
Merge "Restore valgrind-test-art-host"

9 years agoRestore valgrind-test-art-host
Brian Carlstrom [Thu, 9 Oct 2014 17:17:07 +0000 (10:17 -0700)]
Restore valgrind-test-art-host

Change-Id: I2586e16664dabfc543bc9d0dab471ec8d3810f34

9 years agoART: X86: GenLongArith should handle overlapped VRs
Alexei Zavjalov [Wed, 8 Oct 2014 08:51:59 +0000 (15:51 +0700)]
ART: X86: GenLongArith should handle overlapped VRs

In a case, when src and dest VRs are overlapped when we called
GenLongArith it may cause the incorrect use of regs.

The solution is to map src to an physical reg and work with this
reg instead of mem.

Renamed BadOverlap() to PartiallyIntersects() for consistency.

Change-Id: Ia3fc7f741f0a92556e1b2a1b084506662ef04c9d
Signed-off-by: Katkov, Serguei I <serguei.i.katkov@intel.com>
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
9 years agoam 88dd36d2: Merge "Makefile cleanups."
Nicolas Geoffray [Thu, 9 Oct 2014 17:13:42 +0000 (17:13 +0000)]
am 88dd36d2: Merge "Makefile cleanups."

* commit '88dd36d2d1f0df6d8263ada619497742a4dd21a8':
  Makefile cleanups.

9 years agoMerge "Makefile cleanups."
Nicolas Geoffray [Thu, 9 Oct 2014 17:03:53 +0000 (17:03 +0000)]
Merge "Makefile cleanups."

9 years agoMakefile cleanups.
Nicolas Geoffray [Thu, 9 Oct 2014 16:34:45 +0000 (17:34 +0100)]
Makefile cleanups.

Also add the DEX2OAT_FLAGS to the generation of core.oat/core.art.

Change-Id: I5d113fad460b2e14fc652816069adba29ca744b8

9 years agoOnly watch location for BREAKPOINT event
Sebastien Hertz [Wed, 8 Oct 2014 11:54:55 +0000 (13:54 +0200)]
Only watch location for BREAKPOINT event

This CL ensures we watch a location for BREAKPOINT event only. Other
events (single-step, method entry/exit, ...) are handled differently
and LocationOnly modifier is used as an event filter in this case.

This prevents from failing a check when we need to deoptimize for
non-breakpoint event.

Bug: 17908144
Change-Id: Ib413d62fa31480fec8d750543c0605ba52188350

9 years agoARM64: Update code after the VIXL 1.6 release.
Alexandre Rames [Wed, 8 Oct 2014 17:41:21 +0000 (18:41 +0100)]
ARM64: Update code after the VIXL 1.6 release.

We now leave the assembler buffer management to VIXL.

Change-Id: Ieefe83cf5cf5e1ab8c924b0e7dc03af6a55053ae

9 years agoam 9e878d50: Merge "Tidy ELF builder."
Ian Rogers [Thu, 9 Oct 2014 16:01:34 +0000 (16:01 +0000)]
am 9e878d50: Merge "Tidy ELF builder."

* commit '9e878d50567f624094f3c4940ac3aedbc5eff3b9':
  Tidy ELF builder.

9 years agoMerge "Tidy ELF builder."
Ian Rogers [Thu, 9 Oct 2014 15:52:50 +0000 (15:52 +0000)]
Merge "Tidy ELF builder."

9 years agoam 51205042: Merge "Quick: Reduce memory usage and improve compile time."
Vladimir Marko [Thu, 9 Oct 2014 15:37:06 +0000 (15:37 +0000)]
am 51205042: Merge "Quick: Reduce memory usage and improve compile time."

* commit '51205042343fa4852e01919de01fdcf261af510b':
  Quick: Reduce memory usage and improve compile time.

9 years agoam 2da74f2d: Merge "Quick: Separate null check elimination and type inference."
Vladimir Marko [Thu, 9 Oct 2014 15:37:05 +0000 (15:37 +0000)]
am 2da74f2d: Merge "Quick: Separate null check elimination and type inference."

* commit '2da74f2de211b7ecb39464e641fa9794dc1b67f4':
  Quick: Separate null check elimination and type inference.

9 years agoMerge "Quick: Reduce memory usage and improve compile time."
Vladimir Marko [Thu, 9 Oct 2014 15:30:26 +0000 (15:30 +0000)]
Merge "Quick: Reduce memory usage and improve compile time."

9 years agoMerge "Quick: Separate null check elimination and type inference."
Vladimir Marko [Thu, 9 Oct 2014 15:28:22 +0000 (15:28 +0000)]
Merge "Quick: Separate null check elimination and type inference."

9 years agoTidy ELF builder.
Ian Rogers [Thu, 9 Oct 2014 00:27:48 +0000 (17:27 -0700)]
Tidy ELF builder.

Don't do "if (ptr)". Use const. Use DISALLOW_COPY_AND_ASSIGN. Avoid public
member variables.
Move ValueObject to base and use in ELF builder.
Tidy VectorOutputStream to not use non-const reference arguments.

Change-Id: I2c727c3fc61769c3726de7cfb68b2d6eb4477e53

9 years agoQuick: Reduce memory usage and improve compile time.
Vladimir Marko [Thu, 9 Oct 2014 13:57:59 +0000 (14:57 +0100)]
Quick: Reduce memory usage and improve compile time.

Move the def-block-matrix from Arena to ScopedArena. Remove
BasicBlockDataFlow::ending_check_v and use a temporary bit
matrix instead. Remove unused BasicBlockDataFlow::phi_v.
Avoid some BitVector::Copy() at the end of null and clinit
check elimination passes when the contents of the source
BitVector is no longer needed.

Change-Id: I8111b2f8a51e63075aa124b528d61b79b6933274

9 years agoQuick: Separate null check elimination and type inference.
Vladimir Marko [Thu, 9 Oct 2014 11:26:10 +0000 (12:26 +0100)]
Quick: Separate null check elimination and type inference.

Change-Id: I4566ae9354c91ca935481cb4f5b729bba05c1592

9 years agoFix code generation of materialized conditions.
Nicolas Geoffray [Wed, 8 Oct 2014 20:07:48 +0000 (21:07 +0100)]
Fix code generation of materialized conditions.

Move the logic for knowing if a condition needs to be materialized
in an optimization pass (so that the information does not change
as a side effect of another optimization).

Also clean-up arm and x86_64 codegen:
- arm: ldr and str are for power-users when a constant is
  in play. We should use LoadFromOffset and StoreToOffset.
- x86_64: fix misuses of movq instead of movl.

Change-Id: I01a03b91803624be2281a344a13ad5efbf4f3ef3

9 years agoam 2072c465: Merge "Stop converting from Location to ManagedRegister."
Nicolas Geoffray [Thu, 9 Oct 2014 14:08:49 +0000 (14:08 +0000)]
am 2072c465: Merge "Stop converting from Location to ManagedRegister."

* commit '2072c465cfff077da257bdf14f1f1b2690c946c8':
  Stop converting from Location to ManagedRegister.

9 years agoMerge "Stop converting from Location to ManagedRegister."
Nicolas Geoffray [Thu, 9 Oct 2014 13:55:05 +0000 (13:55 +0000)]
Merge "Stop converting from Location to ManagedRegister."

9 years agoStop converting from Location to ManagedRegister.
Nicolas Geoffray [Thu, 9 Oct 2014 10:47:51 +0000 (11:47 +0100)]
Stop converting from Location to ManagedRegister.

Now the source of truth is the Location object that knows
which register (core, pair, fpu) it needs to refer to.

Change-Id: I62401343d7479ecfb24b5ed161ec7829cda5a0b1

9 years agoam b6404fe0: Disable kEnableJavaStackTraceHandler
Brian Carlstrom [Thu, 9 Oct 2014 12:52:01 +0000 (12:52 +0000)]
am b6404fe0: Disable kEnableJavaStackTraceHandler

* commit 'b6404fe0bb782cbbccda88903901fe0096a741d5':
  Disable kEnableJavaStackTraceHandler

9 years agoam a3c4d722: Merge "Disable kEnableJavaStackTraceHandler"
Brian Carlstrom [Thu, 9 Oct 2014 12:12:07 +0000 (12:12 +0000)]
am a3c4d722: Merge "Disable kEnableJavaStackTraceHandler"

* commit 'a3c4d72210de174552f47b2d117b1946f274af1e':
  Disable kEnableJavaStackTraceHandler

9 years agoMerge "Disable kEnableJavaStackTraceHandler"
Brian Carlstrom [Thu, 9 Oct 2014 04:11:22 +0000 (04:11 +0000)]
Merge "Disable kEnableJavaStackTraceHandler"

9 years agoDisable kEnableJavaStackTraceHandler
Brian Carlstrom [Wed, 8 Oct 2014 20:56:25 +0000 (13:56 -0700)]
Disable kEnableJavaStackTraceHandler

Bug: 17890306

(cherry picked from commit b6404fe0bb782cbbccda88903901fe0096a741d5)

Change-Id: Ie13d6af1d384c6ebf87e8f055120609e2bff3338

9 years agoam a9b09744: Merge "Don\'t copy fill array data to quick literal pool."
Ian Rogers [Thu, 9 Oct 2014 00:13:07 +0000 (00:13 +0000)]
am a9b09744: Merge "Don\'t copy fill array data to quick literal pool."

* commit 'a9b097443f26a6df1a322a8fef50fdd1f26a410b':
  Don't copy fill array data to quick literal pool.

9 years agoMerge "Don't copy fill array data to quick literal pool."
Ian Rogers [Wed, 8 Oct 2014 23:25:54 +0000 (23:25 +0000)]
Merge "Don't copy fill array data to quick literal pool."

9 years agoDon't copy fill array data to quick literal pool.
Ian Rogers [Wed, 8 Oct 2014 22:35:22 +0000 (15:35 -0700)]
Don't copy fill array data to quick literal pool.

Currently quick copies the fill array data from the dex file to the literal
pool. It then has to go through hoops to pass this PC relative address down
to out-of-line code. Instead, pass the offset of the table to the out-of-line
code and use the CodeItem data associated with the ArtMethod. This reduces
the size of oat code while greatly simplifying it.
Unify the FillArrayData implementation in quick, portable and the interpreters.

Change-Id: I9c6971cf46285fbf197856627368c0185fdc98ca

9 years agoam 47798949: Merge "Dump mutator lock for thread suspend timeout"
Mathieu Chartier [Wed, 8 Oct 2014 22:53:20 +0000 (22:53 +0000)]
am 47798949: Merge "Dump mutator lock for thread suspend timeout"

* commit '477989496bfb8d1d9687d7ad8ee5b9ede80dc410':
  Dump mutator lock for thread suspend timeout

9 years agoMerge "Dump mutator lock for thread suspend timeout"
Mathieu Chartier [Wed, 8 Oct 2014 22:41:05 +0000 (22:41 +0000)]
Merge "Dump mutator lock for thread suspend timeout"

9 years agoDump mutator lock for thread suspend timeout
Mathieu Chartier [Wed, 8 Oct 2014 21:26:23 +0000 (14:26 -0700)]
Dump mutator lock for thread suspend timeout

Should help us see if thread suspend timeouts are due to someone
holding on the mutator lock for too long or if it is a missed
futex wake.

(cherry picked from commit f924d2381a5ea53967ba1e279766d601b9be05ea)

Bug: 17837911
Change-Id: I3417156a78f574076d5da17c86836c5a7c76084a

9 years agoDisable kEnableJavaStackTraceHandler
Brian Carlstrom [Wed, 8 Oct 2014 20:56:25 +0000 (13:56 -0700)]
Disable kEnableJavaStackTraceHandler

Bug: 17890306
Change-Id: I76d1d1b709cfcb0cf8fe02f5d28fb746909d682f

9 years agoam f1f05d30: Merge "Really fix --gdb when running tests on target."
Nicolas Geoffray [Wed, 8 Oct 2014 20:23:24 +0000 (20:23 +0000)]
am f1f05d30: Merge "Really fix --gdb when running tests on target."

* commit 'f1f05d303988a5c071c87b760056be8358276c94':
  Really fix --gdb when running tests on target.

9 years agoMerge "Really fix --gdb when running tests on target."
Nicolas Geoffray [Wed, 8 Oct 2014 20:13:53 +0000 (20:13 +0000)]
Merge "Really fix --gdb when running tests on target."

9 years agoam 175b2732: Merge "Header file clean up."
Ian Rogers [Wed, 8 Oct 2014 19:56:27 +0000 (19:56 +0000)]
am 175b2732: Merge "Header file clean up."

* commit '175b2732f7e55a07094c30aa08d946189b4af97e':
  Header file clean up.

9 years agoMerge "Header file clean up."
Ian Rogers [Wed, 8 Oct 2014 19:15:21 +0000 (19:15 +0000)]
Merge "Header file clean up."

9 years agoHeader file clean up.
Ian Rogers [Wed, 8 Oct 2014 18:47:24 +0000 (11:47 -0700)]
Header file clean up.

Remove runtime.h from object.h.
Move TypeStaticIf to its own header file to avoid bringing utils.h into
allocator.h.
Move Array::DataOffset into -inl.h as it now has a utils.h dependency.
Fix include issues arising from this.

Change-Id: I4605b1aa4ff5f8dc15706a0132e15df03c7c8ba0

9 years agoam edc34c88: Merge "ART: fix NullCheckElimination to preserve MIR_IGNORE_NULL_CHECK"
Bill Buzbee [Wed, 8 Oct 2014 17:28:21 +0000 (17:28 +0000)]
am edc34c88: Merge "ART: fix NullCheckElimination to preserve MIR_IGNORE_NULL_CHECK"

* commit 'edc34c88b8f8abd04f9c4668787403608cf0b2d4':
  ART: fix NullCheckElimination to preserve MIR_IGNORE_NULL_CHECK

9 years agoam 254aa0d3: Merge "ART: Fix SelectKind to work with nullptr"
Bill Buzbee [Wed, 8 Oct 2014 17:28:20 +0000 (17:28 +0000)]
am 254aa0d3: Merge "ART: Fix SelectKind to work with nullptr"

* commit '254aa0d3f58b56b227077ef32b4606ebc25eaae4':
  ART: Fix SelectKind to work with nullptr

9 years agoam 1293b6b2: Merge "ART: Fix issues with SplitBlock"
Bill Buzbee [Wed, 8 Oct 2014 17:28:08 +0000 (17:28 +0000)]
am 1293b6b2: Merge "ART: Fix issues with SplitBlock"

* commit '1293b6b2adba33e8b5eca5632dd90c9835b2ef42':
  ART: Fix issues with SplitBlock

9 years agoam 893e8558: Merge "Fix to MirGraph::GetSSANameWithConst()"
Bill Buzbee [Wed, 8 Oct 2014 17:28:07 +0000 (17:28 +0000)]
am 893e8558: Merge "Fix to MirGraph::GetSSANameWithConst()"

* commit '893e855864b7535f7da92f3942d3f88aaa584dd8':
  Fix to MirGraph::GetSSANameWithConst()

9 years agoMerge "ART: fix NullCheckElimination to preserve MIR_IGNORE_NULL_CHECK"
Bill Buzbee [Wed, 8 Oct 2014 17:20:31 +0000 (17:20 +0000)]
Merge "ART: fix NullCheckElimination to preserve MIR_IGNORE_NULL_CHECK"

9 years agoMerge "ART: Fix SelectKind to work with nullptr"
Bill Buzbee [Wed, 8 Oct 2014 17:20:22 +0000 (17:20 +0000)]
Merge "ART: Fix SelectKind to work with nullptr"

9 years agoMerge "ART: Fix issues with SplitBlock"
Bill Buzbee [Wed, 8 Oct 2014 17:19:59 +0000 (17:19 +0000)]
Merge "ART: Fix issues with SplitBlock"

9 years agoMerge "Fix to MirGraph::GetSSANameWithConst()"
Bill Buzbee [Wed, 8 Oct 2014 17:19:51 +0000 (17:19 +0000)]
Merge "Fix to MirGraph::GetSSANameWithConst()"

9 years agoam 663796fb: Merge "Fix and improve static evaluation of constant expressions."
Roland Levillain [Wed, 8 Oct 2014 16:56:39 +0000 (16:56 +0000)]
am 663796fb: Merge "Fix and improve static evaluation of constant expressions."

* commit '663796fb14accb722e9b37c4fe8c3d2588680d7e':
  Fix and improve static evaluation of constant expressions.

9 years agoMerge "Fix and improve static evaluation of constant expressions."
Roland Levillain [Wed, 8 Oct 2014 16:46:56 +0000 (16:46 +0000)]
Merge "Fix and improve static evaluation of constant expressions."

9 years agoFix and improve static evaluation of constant expressions.
Roland Levillain [Mon, 6 Oct 2014 18:24:02 +0000 (19:24 +0100)]
Fix and improve static evaluation of constant expressions.

- Fix the definition of art::HSub::Evaluate.
- Qualify Evaluate methods as OVERRIDE.
- Evaluate comparisons in a deterministic way: if a
  comparison is true, always return 1 (instead of letting
  the compiler return any non-null value).
- Better exercise static evaluation of constant expressions
  in compiler/optimizing/constant_propagation_test.cc.

Change-Id: I13d0862e5f4eba1275016fb8c3c17e9aff54408b

9 years agoART: Fix issues with SplitBlock
Mathew Zaleski [Mon, 15 Sep 2014 13:44:14 +0000 (09:44 -0400)]
ART: Fix issues with SplitBlock

The SplitBlock is a public interface from MIRGraph to be able to create two
blocks from one. This interface can be called not just during the control
flow graph building phase, but later. At that later point, extended instructions
may have already been inserted.

For example, SpecialMethodInliner can insert kMirOpNullCheck and kMirOpNop,
and then another pass tries to split block that contains this. The DCHECK
will fail even though the split is semantically correct.

Signed-off-by: Mathew Zaleski <mathew.zaleski@intel.com>
Conflicts:

compiler/dex/mir_graph.cc

Change-Id: I8bb3551407907909cda444a3379da2eb9331b9ff

9 years agoam 50940ea8: Merge "Implement method calls using relative BL on ARM64."
Vladimir Marko [Wed, 8 Oct 2014 12:26:15 +0000 (12:26 +0000)]
am 50940ea8: Merge "Implement method calls using relative BL on ARM64."

* commit '50940ea8fe668a80c15920d98cae228851ceb990':
  Implement method calls using relative BL on ARM64.

9 years agoMerge "Implement method calls using relative BL on ARM64."
Vladimir Marko [Wed, 8 Oct 2014 12:20:28 +0000 (12:20 +0000)]
Merge "Implement method calls using relative BL on ARM64."

9 years agoReally fix --gdb when running tests on target.
Nicolas Geoffray [Wed, 8 Oct 2014 08:56:45 +0000 (09:56 +0100)]
Really fix --gdb when running tests on target.

Change-Id: Ic96edb066d345839a4af371e7c10327713a045c7

9 years agoam 1000e69b: Merge "Add trivial register hints to the register allocator."
Nicolas Geoffray [Tue, 7 Oct 2014 20:36:50 +0000 (20:36 +0000)]
am 1000e69b: Merge "Add trivial register hints to the register allocator."

* commit '1000e69b7e11348f2e1d3ba67339616a647f53d7':
  Add trivial register hints to the register allocator.

9 years agoMerge "Add trivial register hints to the register allocator."
Nicolas Geoffray [Tue, 7 Oct 2014 20:27:28 +0000 (20:27 +0000)]
Merge "Add trivial register hints to the register allocator."

9 years agoAdd trivial register hints to the register allocator.
Nicolas Geoffray [Wed, 1 Oct 2014 10:32:17 +0000 (11:32 +0100)]
Add trivial register hints to the register allocator.

- Add hints for phis, same as first input, and expected registers.
- Make the if instruction accept non-condition instructions.

Change-Id: I34fa68393f0d0c19c68128f017b7a05be556fbe5

9 years agoam a9f29042: Merge "Add support for floats and doubles."
Nicolas Geoffray [Tue, 7 Oct 2014 19:42:49 +0000 (19:42 +0000)]
am a9f29042: Merge "Add support for floats and doubles."

* commit 'a9f2904263581f606a5704f2bb74efcecf7e9f97':
  Add support for floats and doubles.

9 years agoMerge "Add support for floats and doubles."
Nicolas Geoffray [Tue, 7 Oct 2014 19:33:07 +0000 (19:33 +0000)]
Merge "Add support for floats and doubles."

9 years agoAdd support for floats and doubles.
Nicolas Geoffray [Mon, 6 Oct 2014 08:12:41 +0000 (09:12 +0100)]
Add support for floats and doubles.

- Follows Quick conventions.
- Currently only works with baseline register allocator.

Change-Id: Ie4b8e298f4f5e1cd82364da83e4344d4fc3621a3

9 years agoam 4a1b4679: Merge "Inserting a node must also update its inputs users."
Nicolas Geoffray [Tue, 7 Oct 2014 15:39:44 +0000 (15:39 +0000)]
am 4a1b4679: Merge "Inserting a node must also update its inputs users."

* commit '4a1b4679cda2f0d2893b8e3f910c21231849291c':
  Inserting a node must also update its inputs users.

9 years agoMerge "Inserting a node must also update its inputs users."
Nicolas Geoffray [Tue, 7 Oct 2014 15:32:24 +0000 (15:32 +0000)]
Merge "Inserting a node must also update its inputs users."

9 years agoInserting a node must also update its inputs users.
Nicolas Geoffray [Tue, 7 Oct 2014 13:14:27 +0000 (14:14 +0100)]
Inserting a node must also update its inputs users.

Change-Id: I55357564b81efcc0cf52fffdf23289696fe27dd1

9 years agoam 0d6102a8: Merge "Propagate optimization flags to kMirOpCheck."
Vladimir Marko [Tue, 7 Oct 2014 14:36:28 +0000 (14:36 +0000)]
am 0d6102a8: Merge "Propagate optimization flags to kMirOpCheck."

* commit '0d6102a80ec741d701788decfb701a657d7a98f7':
  Propagate optimization flags to kMirOpCheck.