OSDN Git Service

android-x86/art.git
9 years agoMerge "Fix oat_file_assistant_test's ReserveImageSpace()."
Richard Uhler [Tue, 31 Mar 2015 15:29:23 +0000 (15:29 +0000)]
Merge "Fix oat_file_assistant_test's ReserveImageSpace()."

9 years agoMerge "Use variable encoding for StackMap."
Nicolas Geoffray [Tue, 31 Mar 2015 14:33:40 +0000 (14:33 +0000)]
Merge "Use variable encoding for StackMap."

9 years agoUse variable encoding for StackMap.
Nicolas Geoffray [Mon, 30 Mar 2015 14:44:25 +0000 (15:44 +0100)]
Use variable encoding for StackMap.

dex_pc, native_pc_offset, dex_register_map_offset, inline_info_offset,
and register_mask can now be encoded in 1, 2, 3, or 4 bytes.

Change-Id: I15f93e8226ce374204d44c5a80a9fd89bda2687c

9 years agoMerge "Revert "Add small library for writing of DWARF data.""
Nicolas Geoffray [Tue, 31 Mar 2015 14:20:34 +0000 (14:20 +0000)]
Merge "Revert "Add small library for writing of DWARF data.""

9 years agoRevert "Add small library for writing of DWARF data."
Nicolas Geoffray [Tue, 31 Mar 2015 14:18:47 +0000 (14:18 +0000)]
Revert "Add small library for writing of DWARF data."

objdump differences on the bots

This reverts commit 75c3d61011a06c1253e773c42e53ee6f137dbe53.

Change-Id: Ie5947a27b9fe5de9d5f0838a024b5cf646ec701e

9 years agoMerge "ART: Inline MemoryRegion operations"
David Brazdil [Tue, 31 Mar 2015 13:08:21 +0000 (13:08 +0000)]
Merge "ART: Inline MemoryRegion operations"

9 years agoART: Inline MemoryRegion operations
David Brazdil [Mon, 30 Mar 2015 09:08:19 +0000 (10:08 +0100)]
ART: Inline MemoryRegion operations

Functions of the MemoryRegion class method are sufficiently simple
yet do not get inlined. Since these methods are called frequently
during stack map generation, inlining them can save a non-negligible
amount of compile time. This patch inserts attributes to force this.

Change-Id: I8ab4f480103fd536f61f52b805864d91bf58428e

9 years agoMerge "Use unique location catalogs to encode Dex register maps."
Roland Levillain [Tue, 31 Mar 2015 12:02:11 +0000 (12:02 +0000)]
Merge "Use unique location catalogs to encode Dex register maps."

9 years agoUse unique location catalogs to encode Dex register maps.
Roland Levillain [Thu, 26 Mar 2015 15:01:03 +0000 (15:01 +0000)]
Use unique location catalogs to encode Dex register maps.

- For each CodeInfo object (i.e. for each method), compute a
  variable index size location catalog  of unique Dex
  register locations.  In Dex register maps, instead of
  storing the actual location of a (live) Dex register,
  store the index of the location catalog entry containing
  that Dex register location.
- Adjust art::StackMapStream,
  art::CheckReferenceMapVisitor::CheckOptimizedMethod,
  art::StackVisitor::GetVRegFromOptimizedCode, and
  art::StackVisitor::SetVRegFromOptimizedCode.
- Add LoadBits and StoreBits methods to art::MemoryRegion
  to load and store a block of adjacent bits in a memory
  region.
- Update compiler/optimizing/stack_map_test.cc.
- Remove the default value for parameter EmptyFn of
  art::HashMap.  This default value did not seem to make
  sense, as it would create an "empty function" for type Key
  by default, whereas art::HashMap expects an "empty
  function" for type std::pair<Key, Value>.

Change-Id: Id9e49d7756c253ce41c36630cd832208d06c2e28

9 years agoMerge "Ensure MemoryRegion::Load & MemoryRegion::Store are word-aligned."
Roland Levillain [Tue, 31 Mar 2015 11:45:56 +0000 (11:45 +0000)]
Merge "Ensure MemoryRegion::Load & MemoryRegion::Store are word-aligned."

9 years agoEnsure MemoryRegion::Load & MemoryRegion::Store are word-aligned.
Roland Levillain [Tue, 31 Mar 2015 11:27:44 +0000 (12:27 +0100)]
Ensure MemoryRegion::Load & MemoryRegion::Store are word-aligned.

Change-Id: Ib19fb93abec4789a111dfd48fcac6065e2d3ec82

9 years agoMerge "Add small library for writing of DWARF data."
David Srbecky [Tue, 31 Mar 2015 10:52:34 +0000 (10:52 +0000)]
Merge "Add small library for writing of DWARF data."

9 years agoMerge "Tests still failing on buildbot's devices."
Nicolas Geoffray [Tue, 31 Mar 2015 10:33:49 +0000 (10:33 +0000)]
Merge "Tests still failing on buildbot's devices."

9 years agoTests still failing on buildbot's devices.
Nicolas Geoffray [Tue, 31 Mar 2015 10:33:04 +0000 (11:33 +0100)]
Tests still failing on buildbot's devices.

Change-Id: I7085706884c64978eaef6ba9eb0900b9fe9e4112

9 years agoAdd small library for writing of DWARF data.
David Srbecky [Thu, 26 Mar 2015 16:33:17 +0000 (16:33 +0000)]
Add small library for writing of DWARF data.

Change-Id: Ifa77aec7584bfcdcc05ddb049c160be9b6dda7c5

9 years agoMerge "ART: General-case negation in boolean simplifier"
David Brazdil [Tue, 31 Mar 2015 09:39:06 +0000 (09:39 +0000)]
Merge "ART: General-case negation in boolean simplifier"

9 years agoART: General-case negation in boolean simplifier
David Brazdil [Tue, 31 Mar 2015 08:59:27 +0000 (09:59 +0100)]
ART: General-case negation in boolean simplifier

Code transformations on the HGraph may optimize out the condition
instruction of an If and replace it with a boolean value. In such
case, the boolean simplifier would not know how to negate the
condition and would fail. This patch implements negation in this
general case with 'equals 0' as a substitute for the non-existing
boolean Not instruction.

Bug: 19992954
Change-Id: I152036fcc6bbecccc767d3024a5c060177597d88

9 years agoMerge "Update clean-oat-host after latest oat location changes."
Nicolas Geoffray [Tue, 31 Mar 2015 09:31:29 +0000 (09:31 +0000)]
Merge "Update clean-oat-host after latest oat location changes."

9 years agoMerge "Workaround for network issues: use 127.0.0.1."
Nicolas Geoffray [Tue, 31 Mar 2015 07:45:54 +0000 (07:45 +0000)]
Merge "Workaround for network issues: use 127.0.0.1."

9 years agoWorkaround for network issues: use 127.0.0.1.
Nicolas Geoffray [Mon, 30 Mar 2015 22:01:28 +0000 (23:01 +0100)]
Workaround for network issues: use 127.0.0.1.

Change-Id: I3c0ed810165bc8945c1dfaa028eb9a7bed674281

9 years agoMerge "Fix 099-vmdebug and 802-deoptimization art tests for Mips."
Andreas Gampe [Tue, 31 Mar 2015 03:34:07 +0000 (03:34 +0000)]
Merge "Fix 099-vmdebug and 802-deoptimization art tests for Mips."

9 years agoFix 099-vmdebug and 802-deoptimization art tests for Mips.
Douglas Leung [Fri, 27 Mar 2015 22:38:30 +0000 (15:38 -0700)]
Fix 099-vmdebug and 802-deoptimization art tests for Mips.

There are 2 bugs that are causing these 2 tests to fail the same way.
The first one is we should be using $t9 for function calls so $gp can
be calculated correctly. The second bug is there can't be a gap between
the quick frame and the callee save frame, otherwise the WalkStack()
function will get confused and crash.

Bug: 19003184
Change-Id: I3c545ce18268deb73150fca2a7d7a798540f1cf2

9 years agoMerge "ART: Don't fail on unsupported conditions in boolean simplifier"
Andreas Gampe [Tue, 31 Mar 2015 00:25:45 +0000 (00:25 +0000)]
Merge "ART: Don't fail on unsupported conditions in boolean simplifier"

9 years agoART: Don't fail on unsupported conditions in boolean simplifier
Andreas Gampe [Tue, 31 Mar 2015 00:22:24 +0000 (17:22 -0700)]
ART: Don't fail on unsupported conditions in boolean simplifier

Skip simplification instead of FATALing when an unsupported condition
is found.

Bug: 19992954
Change-Id: Ie2845bead72da63018734e6dd91ce65824658b39

9 years agoFix oat_file_assistant_test's ReserveImageSpace().
Richard Uhler [Mon, 30 Mar 2015 23:18:03 +0000 (16:18 -0700)]
Fix oat_file_assistant_test's ReserveImageSpace().

Bug: 19963714
Change-Id: I9a2db293943cc81592defa8ddc7221bcd36cfdfb

9 years agoMerge "Disable host testing for now."
Nicolas Geoffray [Mon, 30 Mar 2015 18:15:00 +0000 (18:15 +0000)]
Merge "Disable host testing for now."

9 years agoDisable host testing for now.
Nicolas Geoffray [Mon, 30 Mar 2015 18:14:09 +0000 (19:14 +0100)]
Disable host testing for now.

Buildbot machines hare not happy with gethostbyname.

Change-Id: I9dd878b442686a3d1dbcad54dbca7aabc4adbdf3

9 years agoMerge "On host, say the debuggee needs to be run through bash."
Nicolas Geoffray [Mon, 30 Mar 2015 17:15:26 +0000 (17:15 +0000)]
Merge "On host, say the debuggee needs to be run through bash."

9 years agoOn host, say the debuggee needs to be run through bash.
Nicolas Geoffray [Mon, 30 Mar 2015 15:34:16 +0000 (16:34 +0100)]
On host, say the debuggee needs to be run through bash.

Change-Id: I2cf7d3123e9d184f40cbaf49f8ac69e1481cc7a4

9 years agoMerge "[optimizing] Do not inline intrinsics"
Nicolas Geoffray [Mon, 30 Mar 2015 15:24:45 +0000 (15:24 +0000)]
Merge "[optimizing] Do not inline intrinsics"

9 years agoMerge "ART: Arm32 optimizing compiler backend should honor sdiv"
Andreas Gampe [Mon, 30 Mar 2015 15:02:04 +0000 (15:02 +0000)]
Merge "ART: Arm32 optimizing compiler backend should honor sdiv"

9 years agoART: Arm32 optimizing compiler backend should honor sdiv
Andreas Gampe [Mon, 30 Mar 2015 00:32:48 +0000 (17:32 -0700)]
ART: Arm32 optimizing compiler backend should honor sdiv

We still support architectures that do not have sdiv.

Issue: https://code.google.com/p/android/issues/detail?id=162257
Change-Id: I6d43620b7599f70a630668791a796a1703b62912

9 years agoMerge "Implement a proper solution for temps."
Nicolas Geoffray [Mon, 30 Mar 2015 14:53:42 +0000 (14:53 +0000)]
Merge "Implement a proper solution for temps."

9 years agoMerge "Please vogar by not giving a vm-command on host."
Nicolas Geoffray [Mon, 30 Mar 2015 14:40:26 +0000 (14:40 +0000)]
Merge "Please vogar by not giving a vm-command on host."

9 years agoMerge "ART: Refactor callbacks_ in common_runtime_test"
Andreas Gampe [Mon, 30 Mar 2015 14:39:32 +0000 (14:39 +0000)]
Merge "ART: Refactor callbacks_ in common_runtime_test"

9 years agoPlease vogar by not giving a vm-command on host.
Nicolas Geoffray [Mon, 30 Mar 2015 14:30:26 +0000 (15:30 +0100)]
Please vogar by not giving a vm-command on host.

If the host is configured with shell (and not bash or mksh), the 'art'
script cannot be run by vogar.

Change-Id: Ib88cea2e45de1ff54477ae8ec3a8e831155d86df

9 years agoMerge "[optimizing] Only print full stats in VLOG(compiler)"
Nicolas Geoffray [Mon, 30 Mar 2015 14:17:10 +0000 (14:17 +0000)]
Merge "[optimizing] Only print full stats in VLOG(compiler)"

9 years ago[optimizing] Only print full stats in VLOG(compiler)
Nicolas Geoffray [Mon, 30 Mar 2015 12:29:08 +0000 (13:29 +0100)]
[optimizing] Only print full stats in VLOG(compiler)

Also add a kCompiledQuick stat.

bug:19956318

Change-Id: I0c6c0ac256362824eb9f1418216ab7e2c289a17b

9 years agoMerge "Fix user-build on fugu."
Nicolas Geoffray [Mon, 30 Mar 2015 13:35:53 +0000 (13:35 +0000)]
Merge "Fix user-build on fugu."

9 years agoFix user-build on fugu.
Nicolas Geoffray [Fri, 27 Mar 2015 10:27:22 +0000 (10:27 +0000)]
Fix user-build on fugu.

Calling Delete on an array shifts the elements, so when iterating
over inactives and removing entries we need to decrement for
the found interval, but also its potential other half. The code
used to not decrement for the other half

Change-Id: Idcb1533643c11a37ed4f459fe88aaef208a4bfd6

9 years agoMerge "Tweak test script while investigating failures."
Nicolas Geoffray [Mon, 30 Mar 2015 11:32:18 +0000 (11:32 +0000)]
Merge "Tweak test script while investigating failures."

9 years agoTweak test script while investigating failures.
Nicolas Geoffray [Mon, 30 Mar 2015 11:28:26 +0000 (12:28 +0100)]
Tweak test script while investigating failures.

- Disable runs on devices failing,
- Add verbose for host failures.

Change-Id: I4efecfbc40f6666e62fd0835257d5b6c3cdcc798

9 years agoMerge "JDWP: more checking for StackFrame commands"
Sebastien Hertz [Mon, 30 Mar 2015 07:44:45 +0000 (07:44 +0000)]
Merge "JDWP: more checking for StackFrame commands"

9 years agoART: Refactor callbacks_ in common_runtime_test
Andreas Gampe [Sun, 29 Mar 2015 20:56:36 +0000 (13:56 -0700)]
ART: Refactor callbacks_ in common_runtime_test

The callback is now important for some runtime checks, and just
resetting callbacks_ is not correct anymore.

Change-Id: I2cb806f1916fd5ea190911a833ce460be557a428

9 years agoMerge "Fix some reflection errors"
Mathieu Chartier [Mon, 30 Mar 2015 01:57:02 +0000 (01:57 +0000)]
Merge "Fix some reflection errors"

9 years agoFix some reflection errors
Mathieu Chartier [Mon, 30 Mar 2015 01:27:50 +0000 (18:27 -0700)]
Fix some reflection errors

Fixed incorrectly using 2nd frame instead of 1st in VerifyAccess.
Added regression test to ART. Fixed broken setShort,
getDeclaredFieldInternal.

Change-Id: I4b21d52d998cb768fe9503b8bccec506b7b972e5

9 years agoMerge "ART: Use enums in Trace"
Andreas Gampe [Mon, 30 Mar 2015 01:04:12 +0000 (01:04 +0000)]
Merge "ART: Use enums in Trace"

9 years agoMerge "Add AccessibleObject and Field to mirror"
Mathieu Chartier [Sun, 29 Mar 2015 22:30:55 +0000 (22:30 +0000)]
Merge "Add AccessibleObject and Field to mirror"

9 years agoART: Use enums in Trace
Andreas Gampe [Sun, 29 Mar 2015 22:26:23 +0000 (15:26 -0700)]
ART: Use enums in Trace

Move away from booleans. Will make introduction of streaming mode
a bit easier / obvious.

Change-Id: Id7ae92f6b97f627e848510d473931537d7db0db8

9 years agoAdd AccessibleObject and Field to mirror
Mathieu Chartier [Tue, 24 Mar 2015 20:30:28 +0000 (13:30 -0700)]
Add AccessibleObject and Field to mirror

Main motivation is to remove all the functionality / field access on
java side to ArtField. Also comes with some reflection speedups /
slowdowns.

Summary results:
getDeclaredField/getField are slower mostly due to JNI overhead.
However, there is a large speedup in getInt, setInt,
GetInstanceField, and GetStaticField.

Before timings (N5 --compiler-filter=everything):

                       benchmark      ns linear runtime
          Class_getDeclaredField  782.86 ===
                  Class_getField  832.77 ===
                    Field_getInt  160.17 =
                    Field_setInt  195.88 =
                GetInstanceField 3214.38 ==============
                  GetStaticField 6809.49 ==============================

After:
          Class_getDeclaredField 1068.15 ============
                  Class_getField 1180.00 ==============
                    Field_getInt  121.85 =
                    Field_setInt  139.98 =
                GetInstanceField 1986.15 =======================
                  GetStaticField 2523.63 ==============================

Bug: 19264997

Change-Id: Ic0d0fc1b56b95cd6d60f8e76f19caeaa23045c77

9 years agoMerge "ART: Some runtime cleanup"
Andreas Gampe [Sun, 29 Mar 2015 20:52:57 +0000 (20:52 +0000)]
Merge "ART: Some runtime cleanup"

9 years agoMerge "Fix typos spotted by Andreas."
Nicolas Geoffray [Sat, 28 Mar 2015 14:04:56 +0000 (14:04 +0000)]
Merge "Fix typos spotted by Andreas."

9 years agoART: Some runtime cleanup
Andreas Gampe [Sat, 28 Mar 2015 06:45:15 +0000 (23:45 -0700)]
ART: Some runtime cleanup

Use an enum for the compiler-callback mode.

Refactor and remove some unnecessary includes in runtime.h.

Change-Id: If2245fa470171311b8e05b677cf6bb28f209585a

9 years agoMerge "ART: Use instrumented Alloc in Class-Linker"
Andreas Gampe [Sat, 28 Mar 2015 06:20:07 +0000 (06:20 +0000)]
Merge "ART: Use instrumented Alloc in Class-Linker"

9 years agoART: Use instrumented Alloc in Class-Linker
Andreas Gampe [Sat, 28 Mar 2015 06:18:07 +0000 (23:18 -0700)]
ART: Use instrumented Alloc in Class-Linker

To support Valgrind over dex2oat and gtests, CreatePathClassLoader
must use instrumented allocation.

Change-Id: I9dc2d009d37bec598c5de67688ebf9810da6e899

9 years agoMerge "ART: PathClassLoader for compiler"
Andreas Gampe [Sat, 28 Mar 2015 04:44:36 +0000 (04:44 +0000)]
Merge "ART: PathClassLoader for compiler"

9 years agoART: PathClassLoader for compiler
Andreas Gampe [Thu, 26 Mar 2015 00:19:53 +0000 (17:19 -0700)]
ART: PathClassLoader for compiler

Use an actual PathClassLoader when compiling apps, instead of a
side structure and cutout.

This CL sets up a minimal object 'cluster' that recreates the Java
side of a regular ClassLoader such that the Class-Linker will
recognize it and use the internal native fast-path.

This CL removes the now unnecessary compile-time-classpath and
replaces it with a single 'compiling-the-boot-image' flag in the
compiler callbacks.

Note: This functionality is *only* intended for the compiler, as
the objects have not been completely initialized.

Bug: 19781184

Change-Id: I7f36af12dd7852d21281110a25c119e8c0669c1d

9 years agoMerge "[MIPS] Refactoring code for quick compiler"
Andreas Gampe [Sat, 28 Mar 2015 04:26:22 +0000 (04:26 +0000)]
Merge "[MIPS] Refactoring code for quick compiler"

9 years ago[optimizing] Do not inline intrinsics
Razvan A Lupusoru [Fri, 27 Mar 2015 20:44:44 +0000 (13:44 -0700)]
[optimizing] Do not inline intrinsics

The intrinsics generally have specialized code and the code for them
may be faster than what can be achieved with inlining. Thus inliner
should skip intrinsics.

At the same time, easy methods are not worth intrinsifying: ie String
length and isEmpty. Those can be handled by inliner with no problem
and can actually lead to better code since call is not kept around
through all of the optimizations.

Change-Id: Iab38e6c33f79efa54d845d4871cf26fa9b235ab0
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
9 years agoImplement a proper solution for temps.
Nicolas Geoffray [Fri, 27 Mar 2015 17:15:49 +0000 (17:15 +0000)]
Implement a proper solution for temps.

We used to play some trickery when updating locations of temps. This
change creates a proper use of the temp, and use it for updating
its location.

Change-Id: I53e9447b87a55137a3a79841db21ad3864854825

9 years agoFix typos spotted by Andreas.
Nicolas Geoffray [Fri, 27 Mar 2015 17:21:24 +0000 (17:21 +0000)]
Fix typos spotted by Andreas.

Change-Id: I564b4bc5995d91f4c6c4e4f2427ed7c279cb8740

9 years agoMerge "Re-enable test."
Nicolas Geoffray [Fri, 27 Mar 2015 17:13:49 +0000 (17:13 +0000)]
Merge "Re-enable test."

9 years agoRe-enable test.
Nicolas Geoffray [Fri, 27 Mar 2015 15:49:32 +0000 (15:49 +0000)]
Re-enable test.

The boot image can now be compiled with optimizing.

Change-Id: Idbdec44ccb01e3b0251914da150d9dd0854c61e6

9 years ago[MIPS] Refactoring code for quick compiler
Goran Jakovljevic [Tue, 24 Mar 2015 17:42:56 +0000 (18:42 +0100)]
[MIPS] Refactoring code for quick compiler

Code from compiler/dex/quick/mips64 is merged with code
in mips folder.

Change-Id: I785983c21549141306484647da86a0bb4815daaa

9 years agoMerge "GVN HClinitCheck nodes."
Nicolas Geoffray [Fri, 27 Mar 2015 15:22:53 +0000 (15:22 +0000)]
Merge "GVN HClinitCheck nodes."

9 years agoJDWP: more checking for StackFrame commands
Sebastien Hertz [Thu, 26 Mar 2015 07:47:47 +0000 (08:47 +0100)]
JDWP: more checking for StackFrame commands

Checks thread is suspended and the slot is valid for GetValues and
SetValues command. Also improves error messages when we could not
get or set a local value in the stack or we try to read an invalid
reference from the stack.

Bug: 15680615
Change-Id: I629099fc908e733edb712bd43e141695ed858f4f

9 years agoGVN HClinitCheck nodes.
Nicolas Geoffray [Fri, 27 Mar 2015 15:00:40 +0000 (15:00 +0000)]
GVN HClinitCheck nodes.

Change-Id: I5c79caadd57d10214a44149fda53e9e185ac7eca

9 years agoMerge "Include pid in trace metadata"
John Reck [Fri, 27 Mar 2015 14:13:34 +0000 (14:13 +0000)]
Merge "Include pid in trace metadata"

9 years agoInclude pid in trace metadata
John Reck [Thu, 26 Mar 2015 22:47:54 +0000 (15:47 -0700)]
Include pid in trace metadata

Change-Id: I5d23fc7da94c1a344850833dfbbaa330fdbe28a7

9 years agoUpdate clean-oat-host after latest oat location changes.
Nicolas Geoffray [Fri, 27 Mar 2015 12:27:46 +0000 (12:27 +0000)]
Update clean-oat-host after latest oat location changes.

oat and odex files are now located in a oat directory. In the
process of changing to the new directory, I realized we were also not
removing oat files from /system/priv-app.

This new rule just removes all oat/art/odex files found under
OUT_DIR.

bug:19945676

Change-Id: I4d21f3c9428afeacaca9753c21eceb1925ee537c

9 years agoMerge "Intrinsify String.compareTo."
Nicolas Geoffray [Fri, 27 Mar 2015 12:20:16 +0000 (12:20 +0000)]
Merge "Intrinsify String.compareTo."

9 years agoIntrinsify String.compareTo.
Nicolas Geoffray [Fri, 27 Mar 2015 09:53:16 +0000 (09:53 +0000)]
Intrinsify String.compareTo.

Change-Id: Ia540df98755ac493fe61bd63f0bd94f6d97fbb57

9 years agoMerge "ART: Fix IsInt when N==32, add tests"
David Brazdil [Fri, 27 Mar 2015 11:14:05 +0000 (11:14 +0000)]
Merge "ART: Fix IsInt when N==32, add tests"

9 years agoART: Fix IsInt when N==32, add tests
David Brazdil [Fri, 27 Mar 2015 10:31:38 +0000 (10:31 +0000)]
ART: Fix IsInt when N==32, add tests

Implicit type conversion caused IsInt to always return true for N==32
on 32-bit platforms. This patch templetizes the function to avoid
the conversion and adds tests of this and similar functions.

Change-Id: Ie526b68b7c3e7cb7b658253d51840794224785fe

9 years agoMerge "Fix run-all-tests script when --always-clean is used"
Nicolas Geoffray [Fri, 27 Mar 2015 10:54:41 +0000 (10:54 +0000)]
Merge "Fix run-all-tests script when --always-clean is used"

9 years agoMerge "Quick: Finding upper half of kMirOpCheckPart2 should passthough empty blocks"
Vladimir Marko [Fri, 27 Mar 2015 10:52:11 +0000 (10:52 +0000)]
Merge "Quick: Finding upper half of kMirOpCheckPart2 should passthough empty blocks"

9 years agoFix run-all-tests script when --always-clean is used
Goran Jakovljevic [Fri, 27 Mar 2015 10:48:25 +0000 (11:48 +0100)]
Fix run-all-tests script when --always-clean is used

Change-Id: Icd44776e77c00f789bb579b6e55241abdfc0e68d

9 years agoQuick: Finding upper half of kMirOpCheckPart2 should passthough empty blocks
Pavel Vyssotski [Fri, 27 Mar 2015 09:23:02 +0000 (15:23 +0600)]
Quick: Finding upper half of kMirOpCheckPart2 should passthough empty blocks

Mir2Lir::InitReferenceVRegs trying to find throwing instruction for
kMirOpCheckPart2 should traverse possible empty blocks which compiler
optimizations could generate between them.

Change-Id: I2ab29dd36635fd4c4ef2dd81b51e571e206775e6
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
9 years agoMerge "[optimizing] Implement X86 intrinsic support"
Nicolas Geoffray [Fri, 27 Mar 2015 09:29:06 +0000 (09:29 +0000)]
Merge "[optimizing] Implement X86 intrinsic support"

9 years ago[optimizing] Implement X86 intrinsic support
Mark Mendell [Wed, 25 Mar 2015 12:30:06 +0000 (08:30 -0400)]
[optimizing] Implement X86 intrinsic support

Implement the supported intrinsics for X86.

Enhance the graph visualizer to print <U> for unallocated locations, to
allow calling the graph dumper from within register allocation for
debugging purposes.

Change-Id: I3b0319eb70a9a4ea228f67065b4c52d13a1ae775
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "ART: Change RETURN_OBJECT verification for arrays"
Andreas Gampe [Thu, 26 Mar 2015 22:44:03 +0000 (22:44 +0000)]
Merge "ART: Change RETURN_OBJECT verification for arrays"

9 years agoMerge "Fix ClassLinker::MayBeCalledWithDirectCodePointer for JIT"
Mathieu Chartier [Thu, 26 Mar 2015 22:34:57 +0000 (22:34 +0000)]
Merge "Fix ClassLinker::MayBeCalledWithDirectCodePointer for JIT"

9 years agoART: Change RETURN_OBJECT verification for arrays
Andreas Gampe [Mon, 23 Mar 2015 17:10:20 +0000 (10:10 -0700)]
ART: Change RETURN_OBJECT verification for arrays

Arrays appear to be valid (as according to spec), even if their
components are erroneous. If a component is erroneous, it may not
have loaded superclass or interface information, and so fail a
direct check for assignability.

Add a cutout that checks whether the declared return-type or the
actual return-type are arrays with erroneous components (and if so,
have the same 'depth'). In that case, generate a soft instead of a
hard error.

Also includes a fix to DumpClass.

Bug: 19683465
Change-Id: Ie73de03adeb0af7e939370d7363684fe125d7994

9 years agoFix ClassLinker::MayBeCalledWithDirectCodePointer for JIT
Mathieu Chartier [Thu, 26 Mar 2015 16:41:50 +0000 (09:41 -0700)]
Fix ClassLinker::MayBeCalledWithDirectCodePointer for JIT

Currently, we don't know if another method has a direct code
pointer or not. This should fix the case where breakpoints
occasionally don't work with JIT.

The JIT now also checks that a method doesn't have any breakpoints
before starting to compile it.

Bug: 17950037

Change-Id: I17cfe874fe4825beba23903a5053d5cb27e106cb

9 years agoMerge "New localhost failures...."
Nicolas Geoffray [Thu, 26 Mar 2015 18:12:55 +0000 (18:12 +0000)]
Merge "New localhost failures...."

9 years agoNew localhost failures....
Nicolas Geoffray [Thu, 26 Mar 2015 18:08:59 +0000 (18:08 +0000)]
New localhost failures....

Change-Id: Id3992f3c04dfa8fad130073ee9ea4f4d715c8432

9 years agoMerge "Add a script to run jdwp tests on the chrome buildbot."
Nicolas Geoffray [Thu, 26 Mar 2015 18:03:00 +0000 (18:03 +0000)]
Merge "Add a script to run jdwp tests on the chrome buildbot."

9 years agoAdd a script to run jdwp tests on the chrome buildbot.
Nicolas Geoffray [Thu, 26 Mar 2015 16:48:29 +0000 (16:48 +0000)]
Add a script to run jdwp tests on the chrome buildbot.

Change-Id: Ia702fd884f10abcb0887f4964c7df3c04a508984

9 years agoMerge "ART: Define IsInt when N==kBitsPerIntPtrT"
David Brazdil [Thu, 26 Mar 2015 15:18:57 +0000 (15:18 +0000)]
Merge "ART: Define IsInt when N==kBitsPerIntPtrT"

9 years agoART: Define IsInt when N==kBitsPerIntPtrT
David Brazdil [Thu, 26 Mar 2015 15:11:45 +0000 (15:11 +0000)]
ART: Define IsInt when N==kBitsPerIntPtrT

'utils.h' contains two implementations of the IsInt query, one of
which is defined for bit sizes <= kBitsPerIntPtrT, while the other
only for sizes < kBitsPerIntPtrT. This patch unifies the behaviour
and fixes the breakage caused by it.

Change-Id: I4f5589b1a36b6c24926e50574fbca528c33d701f

9 years agoMerge "Store odex files in oat/<isa>/ directory."
Richard Uhler [Thu, 26 Mar 2015 14:57:37 +0000 (14:57 +0000)]
Merge "Store odex files in oat/<isa>/ directory."

9 years agoMerge "ART: Force constants into the entry block"
David Brazdil [Thu, 26 Mar 2015 14:11:53 +0000 (14:11 +0000)]
Merge "ART: Force constants into the entry block"

9 years agoART: Force constants into the entry block
David Brazdil [Tue, 24 Mar 2015 10:51:52 +0000 (10:51 +0000)]
ART: Force constants into the entry block

Optimizations such as GVN and BCE make the assumption that all
constants are located in the entry block of the CFG, but not all
passes adhere to this rule.

This patch makes constructors of constants private and only accessible
to friend classes - HGraph for int/long constants and SsaBuilder for
float/double - which ensure that they are placed correctly and not
duplicated.

Note that the ArenaAllocatorAdapter was modified to not increment
the ArenaAllocator's internal reference counter in order to allow
for use of ArenaSafeMap inside an arena-allocated objects. Because
their destructor is not called, the counter does not get decremented.

Change-Id: I36a4fa29ae34fb905cdefd482ccbf386cff14166

9 years agoMerge "Use the original invoke type when inlining."
Nicolas Geoffray [Thu, 26 Mar 2015 10:45:51 +0000 (10:45 +0000)]
Merge "Use the original invoke type when inlining."

9 years agoUse the original invoke type when inlining.
Nicolas Geoffray [Thu, 26 Mar 2015 10:05:54 +0000 (10:05 +0000)]
Use the original invoke type when inlining.

When resolving a method through the compiler driver, the code makes
sure the call in the DEX bytecode matches the kind of method found,
to check for IncompatibleClassChangeError. Because when we sharpen
an invoke virtual, we transform the invoke kind to direct, we must not
use the new kind, but the one in DEX.

Change-Id: Iaf77b27b529c659ea48ffb19f46427552c9e3654

9 years agoStore odex files in oat/<isa>/ directory.
Richard Uhler [Mon, 16 Mar 2015 21:32:16 +0000 (14:32 -0700)]
Store odex files in oat/<isa>/ directory.

Previously odex files were stored alongside the dex location as:
  dex location: /foo/bar/base.apk
  odex location: /foo/bar/<isa>/base.odex

This changes where odex files are stored, adding an "oat" directory:
  dex location: /foo/bar/base.apk
  odex location: /foo/bar/oat/<isa>/base.odex

See also the corresponding change in platform/build and
platform/frameworks/native.

Bug: 19550105
Change-Id: I4c6be4f0c41ff175904846db8e360c4af815b265

9 years agoMerge "Mark the tests as failing for now."
Nicolas Geoffray [Wed, 25 Mar 2015 21:14:16 +0000 (21:14 +0000)]
Merge "Mark the tests as failing for now."

9 years agoMark the tests as failing for now.
Nicolas Geoffray [Wed, 25 Mar 2015 21:13:05 +0000 (21:13 +0000)]
Mark the tests as failing for now.

Need to investigate what is going on with the network on
the devices...

Change-Id: Ic308e768989bfbdbb086a4d09e31a7cc9a327d70

9 years agoMerge "Make sure localhost is enabled on testing devices."
Nicolas Geoffray [Wed, 25 Mar 2015 17:56:53 +0000 (17:56 +0000)]
Merge "Make sure localhost is enabled on testing devices."

9 years agoMake sure localhost is enabled on testing devices.
Nicolas Geoffray [Wed, 25 Mar 2015 17:22:34 +0000 (17:22 +0000)]
Make sure localhost is enabled on testing devices.

Change-Id: I9057dd77a8c760cc5881f3b2eaeb14a0d9910b51