OSDN Git Service

android-x86/art.git
8 years agoDon't use fixed addresses in mem map test
Mathieu Chartier [Tue, 10 Nov 2015 18:32:52 +0000 (10:32 -0800)]
Don't use fixed addresses in mem map test

We obtain a valid address instead of assuming there won't be a map
there.

These checks used to be OK when we didn't start the runtime.

Change-Id: Ie636ed3773d2c0c62d87e57623ee4ce380c64db0

8 years agoMerge "ART: Improve comment about inlining into try/catch"
David Brazdil [Tue, 10 Nov 2015 13:10:08 +0000 (13:10 +0000)]
Merge "ART: Improve comment about inlining into try/catch"

8 years agoART: Improve comment about inlining into try/catch
David Brazdil [Tue, 10 Nov 2015 13:04:30 +0000 (13:04 +0000)]
ART: Improve comment about inlining into try/catch

Change-Id: I66a4fd3206847c8d5bb57b1678d9d3dc94331294

8 years agoMerge "ART: Fix critical edge checks in GraphChecker"
David Brazdil [Tue, 10 Nov 2015 13:01:50 +0000 (13:01 +0000)]
Merge "ART: Fix critical edge checks in GraphChecker"

8 years agoMerge "Revert "Revert "ART: Update DCE to work with try/catch"""
David Brazdil [Tue, 10 Nov 2015 13:01:28 +0000 (13:01 +0000)]
Merge "Revert "Revert "ART: Update DCE to work with try/catch"""

8 years agoART: Fix critical edge checks in GraphChecker
David Brazdil [Tue, 10 Nov 2015 10:12:41 +0000 (10:12 +0000)]
ART: Fix critical edge checks in GraphChecker

Previous CL I5a13b8bb74509b48f5d628906f7158af007f99ae fixed logic for
splitting critical edges. The same logic is used in GraphChecker when
testing critical edges weren't introduced by a pass. This patch updates
it too.

Bug: 25493695
Bug: 25454012
Change-Id: I56226c82324ee55ae2fbe7262608dd2868d930f1

8 years agoMerge "ART: Add clarifying comment"
David Brazdil [Tue, 10 Nov 2015 09:46:41 +0000 (09:46 +0000)]
Merge "ART: Add clarifying comment"

8 years agoART: Add clarifying comment
David Brazdil [Tue, 10 Nov 2015 09:43:28 +0000 (09:43 +0000)]
ART: Add clarifying comment

Change-Id: I189ec4cae0aa1a5245a79e86d1ec0592e38eac4a

8 years agoRevert "Revert "ART: Update DCE to work with try/catch""
David Brazdil [Mon, 2 Nov 2015 20:24:55 +0000 (20:24 +0000)]
Revert "Revert "ART: Update DCE to work with try/catch""

The previous CL failed because it did not update inputs of catch phis.
Since phi input indices cannot be easily mapped back to throwing
instructions, this new implementation at least removes catch phi uses
of values defined in the removed blocks to preserve graph consistency.

This reverts commit fb552d7061746f7a90fdd5002696e255e2e15c35.

Change-Id: I63d95915d1ef50e71d3bcf0cd10aaded554035b4

8 years agoMerge "Delete flaky DCHECK"
Mathieu Chartier [Tue, 10 Nov 2015 03:02:58 +0000 (03:02 +0000)]
Merge "Delete flaky DCHECK"

8 years agoDelete flaky DCHECK
Mathieu Chartier [Tue, 10 Nov 2015 03:01:00 +0000 (19:01 -0800)]
Delete flaky DCHECK

Fixes mips build

Change-Id: I738b41f09f3c926f21640e358cf0bd5557167b0e

8 years agoMerge "Fix mac build"
Mathieu Chartier [Tue, 10 Nov 2015 02:51:37 +0000 (02:51 +0000)]
Merge "Fix mac build"

8 years agoFix mac build
Mathieu Chartier [Tue, 10 Nov 2015 02:50:49 +0000 (18:50 -0800)]
Fix mac build

Change-Id: I22bf169f15483e54b97d77ff0887cd1fde428af9

8 years agoMerge "Add low_4gb support to MapFile and MapFileAtAddress"
Mathieu Chartier [Tue, 10 Nov 2015 02:07:04 +0000 (02:07 +0000)]
Merge "Add low_4gb support to MapFile and MapFileAtAddress"

8 years agoMerge "Some cleanup for tests 960-965 build scripts."
Alex Light [Tue, 10 Nov 2015 01:36:31 +0000 (01:36 +0000)]
Merge "Some cleanup for tests 960-965 build scripts."

8 years agoAdd low_4gb support to MapFile and MapFileAtAddress
Mathieu Chartier [Mon, 9 Nov 2015 23:16:56 +0000 (15:16 -0800)]
Add low_4gb support to MapFile and MapFileAtAddress

Motivation is to use this for loading app images in low 4GB at a
non fixed address.

Added test.

Bug: 22858531
Change-Id: I0f79a4a7bfbfbdfc112e41b25c8682b1fb932ab7

8 years agoSome cleanup for tests 960-965 build scripts.
Alex Light [Mon, 9 Nov 2015 22:26:35 +0000 (14:26 -0800)]
Some cleanup for tests 960-965 build scripts.

Make all 96* build scripts consistent and update 965 to build and run
with jack.

Change-Id: If27ee9c92880c75307a18b054ba926670877073a

8 years agoMerge "ART: Rerun the verifier for compile-time failures"
Andreas Gampe [Mon, 9 Nov 2015 21:25:47 +0000 (21:25 +0000)]
Merge "ART: Rerun the verifier for compile-time failures"

8 years agoMerge "Class Linker: Implement default interface verification ordering."
Alex Light [Mon, 9 Nov 2015 19:30:10 +0000 (19:30 +0000)]
Merge "Class Linker: Implement default interface verification ordering."

8 years agoClass Linker: Implement default interface verification ordering.
Alex Light [Wed, 7 Oct 2015 23:08:36 +0000 (16:08 -0700)]
Class Linker: Implement default interface verification ordering.

We ensure that default interface verification failure is propagated to
the implementing class so that the compiler is able to properly handle
verification failures. Furthermore we ensure that default interfaces
are verified at the same time their implementing classes are.

This does not add additional support for default methods to the verifier.

This adds a basic test of this functionality.

Previously assumptions made about the order of verification in our
code could cause a check failure during compilation. Our old code
assumed that all code that would be run during a classes
initialization had been verified before any of it was run. The default
interfaces broke this assumption. Now we will simply verify default
interfaces with any classes that implement them.

Bug: 24618811

Change-Id: Ia11a50a28889dbd7ca22ffa730ef443e39f3cb5b

8 years agoART: Rerun the verifier for compile-time failures
Andreas Gampe [Fri, 6 Nov 2015 04:39:56 +0000 (20:39 -0800)]
ART: Rerun the verifier for compile-time failures

To aid app failure diagnosis, by default re-run the verifier at
runtime to compute a better VerifyError message.

Rewrite the verifier driver code to pass the last actual low-level
verifier message.

Bug: 25432718
Change-Id: Ib8e6dd1ce8121045c0d38f54969100094c3dde6e

8 years agoMerge "Add more image writer comments and clean up"
Mathieu Chartier [Mon, 9 Nov 2015 18:07:01 +0000 (18:07 +0000)]
Merge "Add more image writer comments and clean up"

8 years agoAdd more image writer comments and clean up
Mathieu Chartier [Fri, 6 Nov 2015 00:33:15 +0000 (16:33 -0800)]
Add more image writer comments and clean up

Bug: 22858531

Change-Id: Ia3663856a7d9f67d9d9af329a54707ae2dc55a48

8 years agoMerge "Revert "Revert "Revert "Use Jack lang dev version for compiling art tests""""
Nicolas Geoffray [Mon, 9 Nov 2015 14:25:19 +0000 (14:25 +0000)]
Merge "Revert "Revert "Revert "Use Jack lang dev version for compiling art tests""""

8 years agoRevert "Revert "Revert "Use Jack lang dev version for compiling art tests"""
Nicolas Geoffray [Mon, 9 Nov 2015 14:00:28 +0000 (14:00 +0000)]
Revert "Revert "Revert "Use Jack lang dev version for compiling art tests"""

Breaks 962 and 963 run-tests.

This reverts commit a6017d8fa6acfa35f6fad8169162f0e5bd034bc4.

Change-Id: I185e803640309f0055e6a3d767da201527b523e2

8 years agoMerge "Optimizing: Rewrite search for common dominators."
Vladimir Marko [Mon, 9 Nov 2015 13:53:13 +0000 (13:53 +0000)]
Merge "Optimizing: Rewrite search for common dominators."

8 years agoOptimizing: Rewrite search for common dominators.
Vladimir Marko [Fri, 6 Nov 2015 11:02:08 +0000 (11:02 +0000)]
Optimizing: Rewrite search for common dominators.

Provide a utility class that can be used to quickly search
for common dominators of two or more blocks. Change the
algorithm to avoid memory allocations.

Change-Id: Id72c975fc42377cb7622902f87c4262ea7b3cc38

8 years agoMerge "Fix mip64 build: hide current method input only if it exists."
Vladimir Marko [Mon, 9 Nov 2015 13:32:35 +0000 (13:32 +0000)]
Merge "Fix mip64 build: hide current method input only if it exists."

8 years agoFix mip64 build: hide current method input only if it exists.
Vladimir Marko [Mon, 9 Nov 2015 12:54:16 +0000 (12:54 +0000)]
Fix mip64 build: hide current method input only if it exists.

Change-Id: I7d3cb34843d421babfb1f93469e770c05ee8d5a9

8 years agoMerge "ART: Fix critical edge splitting under try/catch"
David Brazdil [Mon, 9 Nov 2015 12:47:19 +0000 (12:47 +0000)]
Merge "ART: Fix critical edge splitting under try/catch"

8 years agoMerge "Revert "Revert "Use Jack lang dev version for compiling art tests"""
Nicolas Geoffray [Mon, 9 Nov 2015 12:44:51 +0000 (12:44 +0000)]
Merge "Revert "Revert "Use Jack lang dev version for compiling art tests"""

8 years agoMerge "Fix build: lint error in elf_builder.h"
David Srbecky [Mon, 9 Nov 2015 11:58:43 +0000 (11:58 +0000)]
Merge "Fix build: lint error in elf_builder.h"

8 years agoFix build: lint error in elf_builder.h
David Srbecky [Mon, 9 Nov 2015 11:56:52 +0000 (11:56 +0000)]
Fix build: lint error in elf_builder.h

Change-Id: I862bfe6c9a9f6ec3c16af2a720ce2ca75492e574

8 years agoMerge "Rewrite ElfBuilder to make streaming directly to file easier."
David Srbecky [Mon, 9 Nov 2015 11:30:31 +0000 (11:30 +0000)]
Merge "Rewrite ElfBuilder to make streaming directly to file easier."

8 years agoART: Fix critical edge splitting under try/catch
David Brazdil [Fri, 6 Nov 2015 01:36:20 +0000 (01:36 +0000)]
ART: Fix critical edge splitting under try/catch

A critical edge would not be split if the predecessor ends with
TryBoundary. This would eventually trip liveness analysis because
a back edge block would have smaller liveness position than a nested
loop.

Another implication of this change is that an edge between a loop's
pre-header ending with TryBoundary and the header will be split,
guaranteeing that a pre-header always has just one successor.

Bug: 25493695
Bug: 25454012
Change-Id: I5a13b8bb74509b48f5d628906f7158af007f99ae

8 years agoMerge "Optimizing: Remove unused ArtMethod* input from HInvokeStaticOrDirect."
Vladimir Marko [Mon, 9 Nov 2015 10:14:35 +0000 (10:14 +0000)]
Merge "Optimizing: Remove unused ArtMethod* input from HInvokeStaticOrDirect."

8 years agoMerge "Remove unused variable."
Nicolas Geoffray [Mon, 9 Nov 2015 09:19:05 +0000 (09:19 +0000)]
Merge "Remove unused variable."

8 years agoRemove unused variable.
Nicolas Geoffray [Mon, 9 Nov 2015 09:15:15 +0000 (09:15 +0000)]
Remove unused variable.

Change-Id: I29d80004eba897b72304ec83fe89ed1071a24024

8 years agoMerge "Fix interaction between JIT and instrumentation."
Nicolas Geoffray [Mon, 9 Nov 2015 08:57:28 +0000 (08:57 +0000)]
Merge "Fix interaction between JIT and instrumentation."

8 years agoRewrite ElfBuilder to make streaming directly to file easier.
David Srbecky [Mon, 26 Oct 2015 10:57:09 +0000 (10:57 +0000)]
Rewrite ElfBuilder to make streaming directly to file easier.

The previous design required knowing all the sections and their
sizes before even the first byte of the file was written.

The new design allows sections to be written one by one without
any knowledge of later sections.  Furthermore, as soon as
section is started, its virtual memory address is known,
which removes the need for the various patching passes.

The new ElfBuilder essentially tries to be a thin wrapper
around OutputStream which keeps track where the various
sections start/end and then writes their ELF headers.

Change-Id: I817e7f3b41882e4e4b9b442cfe56e4ef2e26babd

8 years agoMerge "MIPS64: small improvements in code generation"
Nicolas Geoffray [Sat, 7 Nov 2015 14:15:46 +0000 (14:15 +0000)]
Merge "MIPS64: small improvements in code generation"

8 years agoMerge "MIPS64: Improve integer division by constants"
Nicolas Geoffray [Sat, 7 Nov 2015 14:13:58 +0000 (14:13 +0000)]
Merge "MIPS64: Improve integer division by constants"

8 years agoMerge "ART: Fix return-object verification"
Andreas Gampe [Sat, 7 Nov 2015 01:07:27 +0000 (01:07 +0000)]
Merge "ART: Fix return-object verification"

8 years agoART: Fix return-object verification
Andreas Gampe [Sat, 7 Nov 2015 00:24:49 +0000 (16:24 -0800)]
ART: Fix return-object verification

If the declared return type was unresolvable, we always threw a
soft failure, only. However, if the register type is not a reference,
this should always be a hard failure.

Add a test case.

Bug: 25494456
Change-Id: I6482a45ec36b58895816647da0ff3a731b31319f

8 years agoMerge "Use _exit instead of exit after exec fails"
Brian Carlstrom [Fri, 6 Nov 2015 23:16:22 +0000 (23:16 +0000)]
Merge "Use _exit instead of exit after exec fails"

8 years agoMerge "Revert "Mark __jit_debug_register_code as a unique symbol""
Andreas Gampe [Fri, 6 Nov 2015 21:28:39 +0000 (21:28 +0000)]
Merge "Revert "Mark __jit_debug_register_code as a unique symbol""

8 years agoRevert "Mark __jit_debug_register_code as a unique symbol"
Andreas Gampe [Fri, 6 Nov 2015 21:27:49 +0000 (21:27 +0000)]
Revert "Mark __jit_debug_register_code as a unique symbol"

This reverts commit 5caf652d7bfb43bdd2f3addfe8021a5fb8e3f796.

Something's going wrong on the Mac host side, even though this should be target only.

Change-Id: I165f23ee25cb1c4b0732e1d1afcae75271abcb09

8 years agoMIPS64: small improvements in code generation
Alexey Frunze [Thu, 24 Sep 2015 21:41:59 +0000 (14:41 -0700)]
MIPS64: small improvements in code generation

Specifically:
- More efficient load/store of constant 0 (and +0.0)
- Improved swapping of floats/doubles in registers
- Use kNoOutputOverlap wherever possible
- More efficient 64-bit integer comparison with 0
- More efficient load of integer constants of the form (2**n)-1

Change-Id: Ic2914d8865aa6616b9a0b21b3cc173d4477eb8c7

8 years agoMIPS64: Improve integer division by constants
Alexey Frunze [Wed, 23 Sep 2015 22:12:39 +0000 (15:12 -0700)]
MIPS64: Improve integer division by constants

This also removes some unused instructions and instructions not
available on MIPS64R6.

Change-Id: I44bfe12c60344312c88c45e97b6b07dcd5bdc630

8 years agoOptimizing: Remove unused ArtMethod* input from HInvokeStaticOrDirect.
Vladimir Marko [Fri, 6 Nov 2015 12:57:55 +0000 (12:57 +0000)]
Optimizing: Remove unused ArtMethod* input from HInvokeStaticOrDirect.

Change-Id: Iea99fa683440673ff517e246f35fade96600f229

8 years agoMerge "ART: Fix simplification of catch blocks in the presence of dead code"
David Brazdil [Fri, 6 Nov 2015 19:36:29 +0000 (19:36 +0000)]
Merge "ART: Fix simplification of catch blocks in the presence of dead code"

8 years agoART: Fix simplification of catch blocks in the presence of dead code
David Brazdil [Thu, 5 Nov 2015 21:25:24 +0000 (21:25 +0000)]
ART: Fix simplification of catch blocks in the presence of dead code

Simplification of catch blocks transforms the code so that catch
blocks have only exceptional predecessors. However, it is invoked
before trivially dead code is eliminated which breaks simple
assumptions such as the fact that a catch block cannot start with
move-exception if it has non-exceptional predecessors. This patch
fixes the algorithm to work under these relaxed conditions.

Bug: 25494450
Bug: 25492628
Change-Id: Idc8d010102a4b8b9a6cd918b98d6e11d1838db0c

8 years agoMerge "Mark __jit_debug_register_code as a unique symbol"
Tamas Berghammer [Fri, 6 Nov 2015 18:53:52 +0000 (18:53 +0000)]
Merge "Mark __jit_debug_register_code as a unique symbol"

8 years agoMark __jit_debug_register_code as a unique symbol
Tamas Berghammer [Wed, 2 Sep 2015 10:24:33 +0000 (11:24 +0100)]
Mark __jit_debug_register_code as a unique symbol

This symbol is used to notify the debugger about JIT library load/unload
events. Because of ICF, several functions with the same body put to the
same adress by the linker what causes the debugger to get notifictaion
about JIT load/unload events in several case where it isn't really happened.

This change disable ICF for the __jit_debug_register_code symbol to prevent
this behavior with keeping the symbol unique in the object file.

Change-Id: I392be25d8a07f47f8217bf693c8e5919d29cac7b

8 years agoMerge "ART: Change behavior for rethrowing init failures (2)"
Andreas Gampe [Fri, 6 Nov 2015 18:42:04 +0000 (18:42 +0000)]
Merge "ART: Change behavior for rethrowing init failures (2)"

8 years agoRevert "Revert "Use Jack lang dev version for compiling art tests""
Alex Light [Fri, 6 Nov 2015 18:01:11 +0000 (18:01 +0000)]
Revert "Revert "Use Jack lang dev version for compiling art tests""

This reverts commit a5a79b6607471371bb80ff8fee36dbf05c807ee5.

Change-Id: Ie890882c1c344099fbf58abce022b2815e809e78

8 years agoMerge "ART: Fix potential integer overflow in JNI."
Vladimir Marko [Fri, 6 Nov 2015 17:43:58 +0000 (17:43 +0000)]
Merge "ART: Fix potential integer overflow in JNI."

8 years agoART: Fix potential integer overflow in JNI.
Vladimir Marko [Fri, 6 Nov 2015 16:57:03 +0000 (16:57 +0000)]
ART: Fix potential integer overflow in JNI.

Change-Id: I06fe2035f911cfc8537e27961c2dc2c7e4d1e20d

8 years agoMerge "MIPS32: java.lang.String.equals"
Andreas Gampe [Fri, 6 Nov 2015 17:33:17 +0000 (17:33 +0000)]
Merge "MIPS32: java.lang.String.equals"

8 years agoMIPS32: java.lang.String.equals
Chris Larsen [Mon, 2 Nov 2015 18:58:31 +0000 (10:58 -0800)]
MIPS32: java.lang.String.equals

Add intrinsic support for String.equals on MIPS32.

Change-Id: I2d184aa4d5dae7cdd4a89c2c902535692c9e7393

8 years agoFix interaction between JIT and instrumentation.
Nicolas Geoffray [Fri, 6 Nov 2015 14:18:27 +0000 (14:18 +0000)]
Fix interaction between JIT and instrumentation.

- The JIT needs to go through the instrumentation to update
  entry points.
- The instrumention needs to know if a method got JITted
  to know if needs to deoptimize.

bug:25438583

Change-Id: I4b186a1da9f4a3fb329efd052a774d5502a902a1

8 years agoMerge "Improve X86 handling of constants to Field/Array Set"
Nicolas Geoffray [Fri, 6 Nov 2015 14:24:49 +0000 (14:24 +0000)]
Merge "Improve X86 handling of constants to Field/Array Set"

8 years agoImprove X86 handling of constants to Field/Array Set
Mark Mendell [Wed, 4 Nov 2015 16:30:41 +0000 (11:30 -0500)]
Improve X86 handling of constants to Field/Array Set

AnTuTu 5.6 f.v.b() function on X86 showed several places where FP
constants were created using the stack, one in an inner loop.

Change ArraySet and *FieldSet to allow constants, and then generate
integer constant moves, rather than forcing the constant to be
materialized into a register. This will also help with register
pressure.

Change-Id: Ibebe2fed748a1bbeca47c36e9536b9b2357fc3cb
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoMerge "JDWP: fix returned tag for ClassType.NewInstance"
Sebastien Hertz [Fri, 6 Nov 2015 13:16:41 +0000 (13:16 +0000)]
Merge "JDWP: fix returned tag for ClassType.NewInstance"

8 years agoMerge "ART: Fix ignoring duplicate fields when loading class."
Vladimir Marko [Fri, 6 Nov 2015 09:54:39 +0000 (09:54 +0000)]
Merge "ART: Fix ignoring duplicate fields when loading class."

8 years agoMerge "MIPS64: Implement virtual intrinsic slow path"
Nicolas Geoffray [Fri, 6 Nov 2015 09:38:03 +0000 (09:38 +0000)]
Merge "MIPS64: Implement virtual intrinsic slow path"

8 years agoMerge "Change test .dex.art to .art"
Mathieu Chartier [Fri, 6 Nov 2015 04:30:59 +0000 (04:30 +0000)]
Merge "Change test .dex.art to .art"

8 years agoChange test .dex.art to .art
Mathieu Chartier [Fri, 6 Nov 2015 04:24:53 +0000 (20:24 -0800)]
Change test .dex.art to .art

Fixes some file names that were too long and causing tests to fail.

Change-Id: Id4929b2ba98e7c0bc7daa33ec3e783738f5e4719

8 years agoMIPS64: Implement virtual intrinsic slow path
Alexey Frunze [Fri, 6 Nov 2015 00:34:23 +0000 (16:34 -0800)]
MIPS64: Implement virtual intrinsic slow path

This fixes a crash in dex2oat while compiling boot.oat.

Change-Id: I44fc92809902d7fc226c88b3e3f081b72cc19ce5

8 years agoMerge "Revert "Revert "Add basic image writer support for app images"""
Mathieu Chartier [Fri, 6 Nov 2015 00:19:56 +0000 (00:19 +0000)]
Merge "Revert "Revert "Add basic image writer support for app images"""

8 years agoRevert "Revert "Add basic image writer support for app images""
Mathieu Chartier [Thu, 5 Nov 2015 16:03:47 +0000 (08:03 -0800)]
Revert "Revert "Add basic image writer support for app images""

No changes, bug fixed in:
https://android-review.googlesource.com/#/c/180886/

Bug: 22858531

This reverts commit 4b018565e57c3349a3c1b5ec8ac9dae261c5e00b.

Change-Id: I86d9c2b55d535d803c6e1b3b8b4836bf6ff077e5

8 years agoMerge "Fix elf writer to properly handle empty text sections"
Mathieu Chartier [Thu, 5 Nov 2015 23:29:42 +0000 (23:29 +0000)]
Merge "Fix elf writer to properly handle empty text sections"

8 years agoFix elf writer to properly handle empty text sections
Mathieu Chartier [Thu, 5 Nov 2015 19:16:34 +0000 (11:16 -0800)]
Fix elf writer to properly handle empty text sections

Previously, empty text sections caused an underflow in the oat file
size.

Added regression test.

Bug: 22858531
Change-Id: I9391a3666ab04e32472a9776d5217fe1743417a9

8 years agoMerge "ahat: limit default number of results shown."
Richard Uhler [Thu, 5 Nov 2015 20:19:41 +0000 (20:19 +0000)]
Merge "ahat: limit default number of results shown."

8 years agoUse _exit instead of exit after exec fails
Tobias Lindskog [Wed, 4 Nov 2015 18:41:21 +0000 (19:41 +0100)]
Use _exit instead of exit after exec fails

A call to exit() will run the atexit handlers before exiting, which is
usually not desirable in a forked-off child process.

Calling _exit() instead will not run the atexit handlers.

Change-Id: Ide9a69c0468faafeaf32b0babd9fcf2b4f06f546

8 years agoMerge "Minor cleanup of Monitor::VisitLocks"
Sebastien Hertz [Thu, 5 Nov 2015 17:33:10 +0000 (17:33 +0000)]
Merge "Minor cleanup of Monitor::VisitLocks"

8 years agoART: Fix ignoring duplicate fields when loading class.
Vladimir Marko [Thu, 5 Nov 2015 15:30:12 +0000 (15:30 +0000)]
ART: Fix ignoring duplicate fields when loading class.

Bug: 25493974
Change-Id: I59e7ee6ee5b991b327553d022d7d212db415c9c3

8 years agoMinor cleanup of Monitor::VisitLocks
Sebastien Hertz [Thu, 5 Nov 2015 14:57:30 +0000 (15:57 +0100)]
Minor cleanup of Monitor::VisitLocks

Uses the Instruction class to not bother with the decoding logic.

Change-Id: Id1501b57129084014f05e41513319639a630361d

8 years agoMerge "Finalized all components of range analysis needed for dynamic bce."
Aart Bik [Thu, 5 Nov 2015 17:15:05 +0000 (17:15 +0000)]
Merge "Finalized all components of range analysis needed for dynamic bce."

8 years agoMerge "X86-64: Split long/double constant array/field set"
Nicolas Geoffray [Thu, 5 Nov 2015 16:27:58 +0000 (16:27 +0000)]
Merge "X86-64: Split long/double constant array/field set"

8 years agoX86-64: Split long/double constant array/field set
Mark Mendell [Thu, 22 Oct 2015 21:35:49 +0000 (17:35 -0400)]
X86-64: Split long/double constant array/field set

A long constant needs to be in a register to store to memory.
By allowing stores of constants that are outside of the range of
int32_t, we reduce register usage.

Also support sets of float/double constants by using integer stores.

Rename RegisterOrInt32LongConstant to RegisterOrInt32Constant as it
now handles any type of constant.

Change-Id: I025d9ef889a5a433e45aa03b376bae40f14197d2
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoMerge "Fix conditional jump over jmp (X86/X86-64/ARM32)"
Nicolas Geoffray [Thu, 5 Nov 2015 15:53:05 +0000 (15:53 +0000)]
Merge "Fix conditional jump over jmp (X86/X86-64/ARM32)"

8 years agoFix conditional jump over jmp (X86/X86-64/ARM32)
Mark Mendell [Fri, 22 May 2015 20:58:19 +0000 (16:58 -0400)]
Fix conditional jump over jmp (X86/X86-64/ARM32)

Optimize the code generation for 'if' statements to jump to the
'false' block if the next block to be generated is the 'true' block.

Add an X86-64 test for this case.

Note that ARM64 & MIPS64 have not been updated.

Change-Id: Iebb1352feb9d3bd0142d8b0621a2e3069a708ea7
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoMerge "Move .dynsym ELF section after .text"
David Srbecky [Thu, 5 Nov 2015 15:42:08 +0000 (15:42 +0000)]
Merge "Move .dynsym ELF section after .text"

8 years agoJDWP: fix returned tag for ClassType.NewInstance
Sebastien Hertz [Thu, 5 Nov 2015 11:09:44 +0000 (12:09 +0100)]
JDWP: fix returned tag for ClassType.NewInstance

Bug: 25490662
Change-Id: I0c369f04342a60caef4f7462005804307a410d18

8 years agoMerge "Fix flake around instrumentation."
Nicolas Geoffray [Thu, 5 Nov 2015 14:43:33 +0000 (14:43 +0000)]
Merge "Fix flake around instrumentation."

8 years agoMove .dynsym ELF section after .text
David Srbecky [Tue, 3 Nov 2015 13:43:09 +0000 (13:43 +0000)]
Move .dynsym ELF section after .text

The main purpose of the dynamic section is to describe where
.text is and how large it is.  It makes more sense to write
this section once we actually know this information.

Also write string sections (.dynstr and .strtab) before the
corresponding symbol sections because the strings take more space.

Neither of these changes is important now since we build the
sections in memory first, but it is move towards streaming of
the ELF file directly do disk.

Due to alignment requirements, the move increases the oat file
size by one page (4K) which is insignificant.

Change-Id: I61cc9f934b031d26a3a1f6007b51315e1538e3eb

8 years agoFix flake around instrumentation.
Nicolas Geoffray [Thu, 5 Nov 2015 13:26:17 +0000 (13:26 +0000)]
Fix flake around instrumentation.

bug:25492507
Change-Id: Ia4de07ecaf33c3153f5d93473671d2c93593f52d

8 years agoMerge "Code cleanup to avoid CompilerDriver abstractions in JIT."
Nicolas Geoffray [Thu, 5 Nov 2015 12:53:57 +0000 (12:53 +0000)]
Merge "Code cleanup to avoid CompilerDriver abstractions in JIT."

8 years agoMerge "Properly delete the jit thread pool."
Nicolas Geoffray [Thu, 5 Nov 2015 12:16:09 +0000 (12:16 +0000)]
Merge "Properly delete the jit thread pool."

8 years agoProperly delete the jit thread pool.
Nicolas Geoffray [Wed, 4 Nov 2015 17:22:16 +0000 (17:22 +0000)]
Properly delete the jit thread pool.

bug:25461989
bug:25462600
Change-Id: I273cf256285d01c085e4dea1d997955d029361b9

8 years agoCode cleanup to avoid CompilerDriver abstractions in JIT.
Nicolas Geoffray [Wed, 4 Nov 2015 14:36:55 +0000 (14:36 +0000)]
Code cleanup to avoid CompilerDriver abstractions in JIT.

Avoids allocating a CompiledMethod.

Change-Id: I35b4aa0d7c74daba68e827a01e71c300fce3b3bf

8 years agoMerge "Revert "Use Jack lang dev version for compiling art tests""
Nicolas Geoffray [Thu, 5 Nov 2015 09:20:42 +0000 (09:20 +0000)]
Merge "Revert "Use Jack lang dev version for compiling art tests""

8 years agoRevert "Use Jack lang dev version for compiling art tests"
Nicolas Geoffray [Thu, 5 Nov 2015 09:18:55 +0000 (09:18 +0000)]
Revert "Use Jack lang dev version for compiling art tests"

Tests fail.

This reverts commit 55fed87ff8b60d55589ee7df75b5080b17bce541.

Change-Id: I02c064c6774d72bc1349dbaab4d05ef69c537952

8 years agoMerge "Revert "Add basic image writer support for app images""
Nicolas Geoffray [Thu, 5 Nov 2015 08:49:07 +0000 (08:49 +0000)]
Merge "Revert "Add basic image writer support for app images""

8 years agoRevert "Add basic image writer support for app images"
Nicolas Geoffray [Thu, 5 Nov 2015 08:47:52 +0000 (08:47 +0000)]
Revert "Add basic image writer support for app images"

interpreter and jit tests fail.

Bug: 22858531

This reverts commit c033474cfbfe1e963c07fa5c38aed02e35ed6f91.

Change-Id: Ic12a3e2a1908ac0db52d21a0b44b2508c88b2585

8 years agoMerge "Use Jack lang dev version for compiling art tests"
Yohann Roussel [Thu, 5 Nov 2015 08:09:50 +0000 (08:09 +0000)]
Merge "Use Jack lang dev version for compiling art tests"

8 years agoMerge "Fix continuous build"
Sebastien Hertz [Thu, 5 Nov 2015 07:38:42 +0000 (07:38 +0000)]
Merge "Fix continuous build"

8 years agoFix continuous build
Sebastien Hertz [Thu, 5 Nov 2015 07:32:10 +0000 (08:32 +0100)]
Fix continuous build

Stop building vogar.jar target since it no longer exists.

Change-Id: I4b834abd519736199c5ee1e5881b3531dbbf2c6f

8 years agoMerge "Add basic image writer support for app images"
Mathieu Chartier [Thu, 5 Nov 2015 02:09:05 +0000 (02:09 +0000)]
Merge "Add basic image writer support for app images"