OSDN Git Service

android-x86/art.git
9 years agoART: Implement literal pool for arm, fix branch fixup.
Vladimir Marko [Fri, 29 May 2015 14:50:18 +0000 (15:50 +0100)]
ART: Implement literal pool for arm, fix branch fixup.

Change-Id: Iecc91418bb4ee1c957f42fefb737d0ee2ba960e7

9 years agoOptimizing: Remove PcInfo, use the StackMapStream instead.
Vladimir Marko [Fri, 12 Jun 2015 09:06:32 +0000 (10:06 +0100)]
Optimizing: Remove PcInfo, use the StackMapStream instead.

Change-Id: I474f3a89f6c7ee5c7accd21791b1c1e311104158

9 years agoMerge "Revert "Use HCurrentMethod in HInvokeStaticOrDirect.""
Nicolas Geoffray [Thu, 4 Jun 2015 17:17:45 +0000 (17:17 +0000)]
Merge "Revert "Use HCurrentMethod in HInvokeStaticOrDirect.""

9 years agoRevert "Use HCurrentMethod in HInvokeStaticOrDirect."
Nicolas Geoffray [Thu, 4 Jun 2015 17:17:32 +0000 (17:17 +0000)]
Revert "Use HCurrentMethod in HInvokeStaticOrDirect."

Fails on baseline/x86.

This reverts commit 38207af82afb6f99c687f64b15601ed20d82220a.

Change-Id: Ib71018367eb7c6046965494a7e996c22af3de403

9 years agoMerge "Do a type check for knowing if we can inline."
Nicolas Geoffray [Thu, 4 Jun 2015 17:12:17 +0000 (17:12 +0000)]
Merge "Do a type check for knowing if we can inline."

9 years agoDo a type check for knowing if we can inline.
Nicolas Geoffray [Thu, 4 Jun 2015 17:02:34 +0000 (18:02 +0100)]
Do a type check for knowing if we can inline.

Otherwise, we might successfully inline:
((String)nonStringObject).charAt()

Because the lookup of the method is based on the index of charAt,
and not its name.

Change-Id: I72ce802fd50cfb71343197f0a32bb1ef56549097

9 years agoMerge "Fix JNI GetSuperClasss"
Brian Carlstrom [Thu, 4 Jun 2015 16:54:46 +0000 (16:54 +0000)]
Merge "Fix JNI GetSuperClasss"

9 years agoMerge "Cache stack map encoding"
David Brazdil [Thu, 4 Jun 2015 16:26:10 +0000 (16:26 +0000)]
Merge "Cache stack map encoding"

9 years agoCache stack map encoding
David Brazdil [Fri, 29 May 2015 15:29:43 +0000 (16:29 +0100)]
Cache stack map encoding

Operations on CodeInfo and StackMap objects repeatedly read encoding
information from the MemoryRegion. Since these are 3-bit-loads of
values that never change, caching them can measurably reduce compile
times.

According to benchmarks, this patch saves 1-3% on armv7, 2-4% on x86,
and 0-1% on x64.

Change-Id: I46b197513601325d8bab562cc80100c00ec28a3b

9 years agoFix JNI GetSuperClasss
Brian Carlstrom [Fri, 22 May 2015 20:43:00 +0000 (13:43 -0700)]
Fix JNI GetSuperClasss

Change-Id: I005e9f84220dabfcea7cbc7b7b0ad422dd435a40

9 years agoMerge "Support for inlining virtual and interface calls."
Nicolas Geoffray [Thu, 4 Jun 2015 15:50:31 +0000 (15:50 +0000)]
Merge "Support for inlining virtual and interface calls."

9 years agoMerge "Use HCurrentMethod in HInvokeStaticOrDirect."
Nicolas Geoffray [Thu, 4 Jun 2015 15:49:21 +0000 (15:49 +0000)]
Merge "Use HCurrentMethod in HInvokeStaticOrDirect."

9 years agoMerge "Revert "Revert "Modification to the way boot classpath resources are loaded"""
Neil Fuller [Thu, 4 Jun 2015 15:38:05 +0000 (15:38 +0000)]
Merge "Revert "Revert "Modification to the way boot classpath resources are loaded"""

9 years agoSupport for inlining virtual and interface calls.
Nicolas Geoffray [Wed, 3 Jun 2015 14:04:32 +0000 (15:04 +0100)]
Support for inlining virtual and interface calls.

Also had to change the pass order to get reference type propagation
before the inliner.

Change-Id: I4bf3bbb2d17c7d9cab632cfdd96adad8368bdfea

9 years agoUse HCurrentMethod in HInvokeStaticOrDirect.
Nicolas Geoffray [Mon, 1 Jun 2015 14:46:22 +0000 (15:46 +0100)]
Use HCurrentMethod in HInvokeStaticOrDirect.

Change-Id: I0d15244b6b44c8b10079398c55da5071a3e3af66

9 years agoMerge "Add $noinline$ tag to make sure a method has not been inlined."
Calin Juravle [Thu, 4 Jun 2015 13:01:51 +0000 (13:01 +0000)]
Merge "Add $noinline$ tag to make sure a method has not been inlined."

9 years agoRevert "Revert "Modification to the way boot classpath resources are loaded""
Neil Fuller [Thu, 4 Jun 2015 12:24:08 +0000 (12:24 +0000)]
Revert "Revert "Modification to the way boot classpath resources are loaded""

This reverts commit 1e27c5bd372fbe55c46127c8f233a13d9994334c.

Change-Id: I8f45a890ae1d3c0b0497e4fea4fb5a4c7a07b59f

9 years agoAdd $noinline$ tag to make sure a method has not been inlined.
Guillaume "Vermeille" Sanchez [Wed, 3 Jun 2015 14:32:41 +0000 (15:32 +0100)]
Add $noinline$ tag to make sure a method has not been inlined.

Change-Id: Ic166cf43be566a0fa44c3c9e1939f647806fc500

9 years agoMerge "Fix valgrind large_object_space_test"
Mathieu Chartier [Thu, 4 Jun 2015 01:35:44 +0000 (01:35 +0000)]
Merge "Fix valgrind large_object_space_test"

9 years agoFix valgrind large_object_space_test
Mathieu Chartier [Thu, 4 Jun 2015 00:32:42 +0000 (17:32 -0700)]
Fix valgrind large_object_space_test

Also some cleanup.

(cherry picked from commit c991403cd8b869e4a38c11c6a58223b82b89a1b2)

Change-Id: I9c1a8093e6356f1b52e332009429b77fa5c1d448

9 years agoMerge "Add a way to determine if a large object is a zygote object"
Mathieu Chartier [Wed, 3 Jun 2015 23:12:44 +0000 (23:12 +0000)]
Merge "Add a way to determine if a large object is a zygote object"

9 years agoMerge "ART: Refactor Thread::Init"
Andreas Gampe [Wed, 3 Jun 2015 23:11:48 +0000 (23:11 +0000)]
Merge "ART: Refactor Thread::Init"

9 years agoART: Refactor Thread::Init
Andreas Gampe [Tue, 2 Jun 2015 05:29:51 +0000 (22:29 -0700)]
ART: Refactor Thread::Init

This refactor allows the parent thread to allocate the JNIEnvExt
for the child (with a fallback in place in Init). This allows to
throw an OOME in CreateNativeThread instead of aborting in the
child.

Bug: 21291279

(cherry picked from commit 520abbd0edcf333f07164539620ce65258c72383)

Change-Id: Iccc1a5c202999f5bfacec706d9833e53135ba2fa

9 years agoAdd a way to determine if a large object is a zygote object
Mathieu Chartier [Wed, 3 Jun 2015 20:32:15 +0000 (13:32 -0700)]
Add a way to determine if a large object is a zygote object

Also fix a slight memory leak in LargeObjectMapSpace.

Bug: 20674158

(cherry picked from commit 8f23620d45399286564986d2541cda761b3fe0ac)

Change-Id: I2416df484e5b84a8c5cc0b5664c8cb102dc235f6

9 years agoMerge "ART: Prune FindArrayClass cache in image writer"
Andreas Gampe [Wed, 3 Jun 2015 19:54:30 +0000 (19:54 +0000)]
Merge "ART: Prune FindArrayClass cache in image writer"

9 years agoMerge "Tidy up spelling"
Kenny Root [Wed, 3 Jun 2015 19:15:05 +0000 (19:15 +0000)]
Merge "Tidy up spelling"

9 years agoMerge "Emit instance fields for java.lang.Object in hprof"
Mathieu Chartier [Wed, 3 Jun 2015 18:28:23 +0000 (18:28 +0000)]
Merge "Emit instance fields for java.lang.Object in hprof"

9 years agoEmit instance fields for java.lang.Object in hprof
Mathieu Chartier [Wed, 3 Jun 2015 17:51:13 +0000 (10:51 -0700)]
Emit instance fields for java.lang.Object in hprof

Previously we omitted these fields.

(cherry picked from commit 0adc90eb0592e220f787f87dbef3a9b5c1db2080)

Bug: 20726205
Change-Id: I81c55919a4bd015bc0a4e7259a41a05dab534e11

9 years agoART: Prune FindArrayClass cache in image writer
Andreas Gampe [Wed, 3 Jun 2015 04:01:45 +0000 (21:01 -0700)]
ART: Prune FindArrayClass cache in image writer

The ClassLinker cache speeds up FindArrayClass requests, but all
entries are roots. It is possible that an entry is a non-image
class when creating the boot image, artificially keeping the
class around.

Bug: 21596650

(cherry picked from commit 44905ce1c97613a5cb44046049843fe1029a64cf)

Change-Id: Ief9b439945d0e293a3cb5dcddfeb189b5e174f06

9 years agoMerge "Fix typos in test/133-static-invoke-super/src/Main.java."
Roland Levillain [Wed, 3 Jun 2015 17:18:43 +0000 (17:18 +0000)]
Merge "Fix typos in test/133-static-invoke-super/src/Main.java."

9 years agoFix typos in test/133-static-invoke-super/src/Main.java.
Roland Levillain [Fri, 24 Apr 2015 18:25:17 +0000 (19:25 +0100)]
Fix typos in test/133-static-invoke-super/src/Main.java.

Change-Id: If8dc4380beae881e869165da2326706001668c1a

9 years agoMerge "Improve the performance of long-to-double conversions on ARM."
Roland Levillain [Wed, 3 Jun 2015 16:34:23 +0000 (16:34 +0000)]
Merge "Improve the performance of long-to-double conversions on ARM."

9 years agoMerge "Revert "Modification to the way boot classpath resources are loaded""
Neil Fuller [Wed, 3 Jun 2015 15:47:15 +0000 (15:47 +0000)]
Merge "Revert "Modification to the way boot classpath resources are loaded""

9 years agoRevert "Modification to the way boot classpath resources are loaded"
Neil Fuller [Wed, 3 Jun 2015 15:46:29 +0000 (15:46 +0000)]
Revert "Modification to the way boot classpath resources are loaded"

This reverts commit 0e08b767f1bd0b892e3ac5724d517caae70f5c04.

Change-Id: Ie3d3caec98f5a65759bb6d44c1f8c76dc6aa2afa

9 years agoMerge "Fix "run-test --jvm 067-preemptive-unpark""
Brian Carlstrom [Wed, 3 Jun 2015 15:21:21 +0000 (15:21 +0000)]
Merge "Fix "run-test --jvm 067-preemptive-unpark""

9 years agoMerge "Modification to the way boot classpath resources are loaded"
Neil Fuller [Wed, 3 Jun 2015 14:59:58 +0000 (14:59 +0000)]
Merge "Modification to the way boot classpath resources are loaded"

9 years agoImprove the performance of long-to-double conversions on ARM.
Roland Levillain [Tue, 14 Apr 2015 14:57:52 +0000 (15:57 +0100)]
Improve the performance of long-to-double conversions on ARM.

Use a VMLA instruction instead of VADD & VMUL instructions
in long-to-double conversions on ARM.  This change reduces
code size and improves execution times (but does not alter
precision).  It trades one temporary FPU register for two
temporary core registers.

Change-Id: I1dc35bef6c12be8f305e5b46da98c2421686b60d

9 years agoMerge "Allow void to get in ARM64ReturnLocation."
Nicolas Geoffray [Wed, 3 Jun 2015 11:25:20 +0000 (11:25 +0000)]
Merge "Allow void to get in ARM64ReturnLocation."

9 years agoAllow void to get in ARM64ReturnLocation.
Nicolas Geoffray [Wed, 3 Jun 2015 11:23:32 +0000 (12:23 +0100)]
Allow void to get in ARM64ReturnLocation.

It can now be called with it.

Change-Id: Idd10dbf5c9cb5f418504cb4c9252930e6eb4942d

9 years agoMerge "Fix compilation errors with gcc."
Nicolas Geoffray [Wed, 3 Jun 2015 11:19:05 +0000 (11:19 +0000)]
Merge "Fix compilation errors with gcc."

9 years agoFix compilation errors with gcc.
Nicolas Geoffray [Wed, 3 Jun 2015 11:12:19 +0000 (12:12 +0100)]
Fix compilation errors with gcc.

Change-Id: If88d4f639658db2d6d71f5abcad563211138fc4a

9 years agoMerge "Fix lint error."
Nicolas Geoffray [Wed, 3 Jun 2015 11:03:21 +0000 (11:03 +0000)]
Merge "Fix lint error."

9 years agoFix lint error.
Nicolas Geoffray [Wed, 3 Jun 2015 11:02:38 +0000 (12:02 +0100)]
Fix lint error.

Change-Id: Ie485d52dc8c6670ab717f14081200572dab0357f

9 years agoMerge "Show stack maps and Dex register maps in oatdump's assembly code."
Roland Levillain [Wed, 3 Jun 2015 11:00:37 +0000 (11:00 +0000)]
Merge "Show stack maps and Dex register maps in oatdump's assembly code."

9 years agoMerge "Factorize code for common LocationSummary of HInvoke."
Nicolas Geoffray [Wed, 3 Jun 2015 10:56:35 +0000 (10:56 +0000)]
Merge "Factorize code for common LocationSummary of HInvoke."

9 years agoMerge "Fix linter-related error."
Roland Levillain [Wed, 3 Jun 2015 10:30:22 +0000 (10:30 +0000)]
Merge "Fix linter-related error."

9 years agoFix linter-related error.
Roland Levillain [Wed, 3 Jun 2015 10:26:05 +0000 (11:26 +0100)]
Fix linter-related error.

Change-Id: Ie8fb07a46ea6231c2585155249ebb6e2654f7a52

9 years agoFactorize code for common LocationSummary of HInvoke.
Nicolas Geoffray [Wed, 3 Jun 2015 10:23:52 +0000 (11:23 +0100)]
Factorize code for common LocationSummary of HInvoke.

This is one step forward, we could factorize more, but
I wanted to get this out of the way first.

Change-Id: I6ae411a737eebaecb64974f47af507ce0cfbae85

9 years agoMerge "Delegate long-to-float type conversions to the runtime on ARM."
Roland Levillain [Wed, 3 Jun 2015 09:45:57 +0000 (09:45 +0000)]
Merge "Delegate long-to-float type conversions to the runtime on ARM."

9 years agoFix "run-test --jvm 067-preemptive-unpark"
Brian Carlstrom [Wed, 3 Jun 2015 04:53:14 +0000 (21:53 -0700)]
Fix "run-test --jvm 067-preemptive-unpark"

Change-Id: I3afd86510091354d79fbb008e9670940d71a0721

9 years agoMerge "Add a way to SuspendAll for a long duration"
Mathieu Chartier [Wed, 3 Jun 2015 00:52:26 +0000 (00:52 +0000)]
Merge "Add a way to SuspendAll for a long duration"

9 years agoAdd a way to SuspendAll for a long duration
Mathieu Chartier [Tue, 2 Jun 2015 18:42:18 +0000 (11:42 -0700)]
Add a way to SuspendAll for a long duration

Hprof uses this mode to not cause thread suspend timeouts if GC tries
while the hprof dump is running.

(cherry picked from commit 77be6635f9b07a8a794924c5fb9b071949776a6d)

Bug: 21063989
Change-Id: Ic6304620afd1489719a7e0e4299f829c90fe27cc

9 years agoMerge "Fix tracing"
Mathieu Chartier [Wed, 3 Jun 2015 00:18:36 +0000 (00:18 +0000)]
Merge "Fix tracing"

9 years agoFix tracing
Mathieu Chartier [Tue, 2 Jun 2015 23:38:29 +0000 (16:38 -0700)]
Fix tracing

Move back to 32 bit method IDs, add a bijective map for method IDs.

Also some cleanup.

(cherry picked from commit d40bcc4fab1589e3aac0f4b59217c6ab4e72102a)

Bug: 19264997
Change-Id: Icdd36591df53ff975d30b9000cfe67d3ae8c51d5

9 years agoMerge "Add more info for attempting to delete non-JNI local reference"
Mathieu Chartier [Tue, 2 Jun 2015 21:32:22 +0000 (21:32 +0000)]
Merge "Add more info for attempting to delete non-JNI local reference"

9 years agoAdd more info for attempting to delete non-JNI local reference
Mathieu Chartier [Tue, 2 Jun 2015 20:40:12 +0000 (13:40 -0700)]
Add more info for attempting to delete non-JNI local reference

Now we print the stack trace of the method which tried to remove the
non-JNI local reference.

Added test, example output:
 Attempt to remove non-JNI local reference, dumping thread
 "main" prio=5 tid=1 Runnable
   | group="main" sCount=0 dsCount=0 obj=0x12c2b400 self=0xf878af28
   | sysTid=32662 nice=0 cgrp=default sched=0/0 handle=0xf73df700
   | state=R schedstat=( 154297228 636505 121 ) utm=5 stm=10 core=11 HZ=100
   | stack=0xff6f2000-0xff6f4000 stackSize=7MB
   | held mutexes= "mutator lock"(shared held)
   native: #00 pc 00455a7f  /out/host/linux-x86/lib/libartd.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::ArtMethod*, void*)+191)
   native: #01 pc 00425d79  /out/host/linux-x86/lib/libartd.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+473)
   native: #02 pc 0028c555  /out/host/linux-x86/lib/libartd.so (art::IndirectReferenceTable::Remove(unsigned int, void*)+421)
   native: #03 pc 003319c8  /out/host/linux-x86/lib/libartd.so (art::JNI::DeleteLocalRef(_JNIEnv*, _jobject*)+56)
   native: #04 pc 0012db14  /out/host/linux-x86/lib/libartd.so (art::CheckJNI::DeleteRef(char const*, _JNIEnv*, _jobject*, art::IndirectRefKind)+292)
   native: #05 pc 00122176  /out/host/linux-x86/lib/libartd.so (art::CheckJNI::DeleteLocalRef(_JNIEnv*, _jobject*)+54)
   native: #06 pc 00005724  /out/host/linux-x86/lib/libarttest.so (Java_Main_removeLocalObject+36)
   native: #07 pc 00004d6e  /tmp/test-32506/dalvik-cache/x86/tmp@mathieuc@test-32506@004-JniTest.jar@classes.dex (void Main.removeLocalObject(java.lang.Object)+130)
   at Main.removeLocalObject(Native method)
   at Main.testRemoveLocalObject(Main.java:118)
   at Main.main(Main.java:37)

(cherry picked from commit ff6d8cffb7c14eee56df16d1422b1fcc180decde)

Bug: 20683465
Change-Id: I56b99c77ae7020cabf1aaeb1d5317b1d5ba940e5

9 years agoMerge "Add heap poisoning support to the entrypoints."
Hiroshi Yamauchi [Tue, 2 Jun 2015 20:27:33 +0000 (20:27 +0000)]
Merge "Add heap poisoning support to the entrypoints."

9 years agoMerge "CanThrow() for HArraySet may return true."
Mingyao Yang [Tue, 2 Jun 2015 19:32:52 +0000 (19:32 +0000)]
Merge "CanThrow() for HArraySet may return true."

9 years agoAdd heap poisoning support to the entrypoints.
Hiroshi Yamauchi [Fri, 29 May 2015 22:04:41 +0000 (15:04 -0700)]
Add heap poisoning support to the entrypoints.

In preparation for full compiler/managed-code support.

Enable stub_test with heap poisoning.

Bug: 12687968
Change-Id: I79fc54ce6386c0a1eb9621759bb4cc23bc393a75

9 years agoTidy up spelling
Kenny Root [Tue, 2 Jun 2015 18:01:10 +0000 (11:01 -0700)]
Tidy up spelling

Change-Id: I65fba9d8310ff3759322cec3345235e6472f4cfb

9 years agoMerge "Update IMT for stale miranda methods"
Mathieu Chartier [Tue, 2 Jun 2015 17:27:09 +0000 (17:27 +0000)]
Merge "Update IMT for stale miranda methods"

9 years agoUpdate IMT for stale miranda methods
Mathieu Chartier [Tue, 2 Jun 2015 16:56:04 +0000 (09:56 -0700)]
Update IMT for stale miranda methods

Fixes occasional crash in dex2oat.

(cherry picked from commit 519fd543625da68ef93f0cd5539c949e5e74e04e)

Bug: 19264997
Change-Id: Icb1a323d8c44fa40309486e17aec56d2c2588e67

9 years agoDelegate long-to-float type conversions to the runtime on ARM.
Roland Levillain [Tue, 14 Apr 2015 15:02:41 +0000 (16:02 +0100)]
Delegate long-to-float type conversions to the runtime on ARM.

On ARM, translate long-to-float type conversions (from both
Quick and Optimizing) as calls to the runtime routine
art_l2f, instead of generating ad hoc code, so as to improve
the precision of the conversions.

Bug: 20413424
Change-Id: I8c414ee1c6f4ff1f32ee78f75734cfd3cf579f71

9 years agoMerge "Fix run-test 458-long-to-fpu."
Roland Levillain [Tue, 2 Jun 2015 16:35:47 +0000 (16:35 +0000)]
Merge "Fix run-test 458-long-to-fpu."

9 years agoFix run-test 458-long-to-fpu.
Roland Levillain [Tue, 2 Jun 2015 16:05:20 +0000 (17:05 +0100)]
Fix run-test 458-long-to-fpu.

- Make $noinline$DoubleConvert actually exercise
  long-to-double conversions (instead of long-to-float
  conversions).
- Change the inlining-defeating strategy: introduce an
  always-throwing branch in $noinline$FloatConvert and
  $noinline$DoubleConvert instead of using recursion, as the
  inliner now inlines recursive calls (down to a certain
  depth).

Change-Id: Ib83a89039968e597cf74d26b5779d410f3caf743

9 years agoMerge "[MIPS64] Fix art_quick_invoke_stub argument offsets."
Andreas Gampe [Tue, 2 Jun 2015 16:20:09 +0000 (16:20 +0000)]
Merge "[MIPS64] Fix art_quick_invoke_stub argument offsets."

9 years agoMerge "Revert "Revert "Revert "Bring ReferenceTypePropagation to HInvoke return types""""
Calin Juravle [Tue, 2 Jun 2015 15:55:35 +0000 (15:55 +0000)]
Merge "Revert "Revert "Revert "Bring ReferenceTypePropagation to HInvoke return types""""

9 years agoRevert "Revert "Revert "Bring ReferenceTypePropagation to HInvoke return types"""
Calin Juravle [Tue, 2 Jun 2015 15:55:24 +0000 (15:55 +0000)]
Revert "Revert "Revert "Bring ReferenceTypePropagation to HInvoke return types"""

This reverts commit 82cc909ff81cc25f7fe97ddac3a1a1f6dc9f5792.

Change-Id: If29dbe0dfd65998047c7ac4ef06c4789355b6bda

9 years ago[MIPS64] Fix art_quick_invoke_stub argument offsets.
Nikola Veljkovic [Tue, 2 Jun 2015 15:27:53 +0000 (17:27 +0200)]
[MIPS64] Fix art_quick_invoke_stub argument offsets.

ArtMethod reference's size got bigger, so we need to move other args
and leave enough space for ArtMethod* and 'this' pointer.

This fixes mips64 boot.

Bug: 19264997
Change-Id: I47198d5f39a4caab30b3b77479d5eedaad5006ab

9 years agoMerge "Revert "Revert "Bring ReferenceTypePropagation to HInvoke return types"""
Calin Juravle [Tue, 2 Jun 2015 15:14:02 +0000 (15:14 +0000)]
Merge "Revert "Revert "Bring ReferenceTypePropagation to HInvoke return types"""

9 years agoRevert "Revert "Bring ReferenceTypePropagation to HInvoke return types""
Calin Juravle [Tue, 2 Jun 2015 15:13:34 +0000 (15:13 +0000)]
Revert "Revert "Bring ReferenceTypePropagation to HInvoke return types""

This reverts commit 8ccf8a0ce31083faa0d9c502f1f0f12a825f6c5d.

Change-Id: I729c147989e0e98d0739d7596b5bb41a72971624

9 years agoMerge "ART: Fast copy stack mask"
David Brazdil [Tue, 2 Jun 2015 13:38:32 +0000 (13:38 +0000)]
Merge "ART: Fast copy stack mask"

9 years agoART: Fast copy stack mask
David Brazdil [Tue, 2 Jun 2015 13:29:52 +0000 (14:29 +0100)]
ART: Fast copy stack mask

StackMap::SetStackMask will currently copy a BitVector into a Memory-
Region bit by bit. This patch adds a new function for copying the data
with memcpy.

This is resubmission of CL I28d45a590b35a4a854cca2f57db864cf8a081487
but with a fix for a broken test which it revealed.

Change-Id: Ib65aa614d3ab7b5c99c6719fdc8e436466a4213d

9 years agoMerge "Revert "Bring ReferenceTypePropagation to HInvoke return types""
Calin Juravle [Tue, 2 Jun 2015 13:23:42 +0000 (13:23 +0000)]
Merge "Revert "Bring ReferenceTypePropagation to HInvoke return types""

9 years agoRevert "Bring ReferenceTypePropagation to HInvoke return types"
Calin Juravle [Tue, 2 Jun 2015 13:23:08 +0000 (13:23 +0000)]
Revert "Bring ReferenceTypePropagation to HInvoke return types"

This reverts commit 77e48c64e7c1c0084217b8df1b47ac6367e61cc7.

Change-Id: Ic6967b2ea7588862ac190e1c0555af615027b5b6

9 years agoMerge "Revert "ART: Fast copy stack mask""
David Brazdil [Tue, 2 Jun 2015 12:42:55 +0000 (12:42 +0000)]
Merge "Revert "ART: Fast copy stack mask""

9 years agoRevert "ART: Fast copy stack mask"
David Brazdil [Tue, 2 Jun 2015 12:42:40 +0000 (12:42 +0000)]
Revert "ART: Fast copy stack mask"

DCHECK failure, need to investigate

This reverts commit 6b10c9b2c0e62193ab9df4d63aedea1d0798e742.

Change-Id: Ie1d1cc6fb71367bc5ac5d6a260af8de316a758dd

9 years agoMerge "ART: Fast copy stack mask"
David Brazdil [Tue, 2 Jun 2015 11:43:11 +0000 (11:43 +0000)]
Merge "ART: Fast copy stack mask"

9 years agoMerge "Bring ReferenceTypePropagation to HInvoke return types"
Calin Juravle [Tue, 2 Jun 2015 11:36:20 +0000 (11:36 +0000)]
Merge "Bring ReferenceTypePropagation to HInvoke return types"

9 years agoART: Fast copy stack mask
David Brazdil [Fri, 29 May 2015 15:33:09 +0000 (16:33 +0100)]
ART: Fast copy stack mask

StackMap::SetStackMask will currently copy a BitVector into a Memory-
Region bit by bit. This patch adds a new function for copying the data
with memcpy.

Change-Id: I28d45a590b35a4a854cca2f57db864cf8a081487

9 years agoMerge "Fix a crash due to a combination of dce/inlining."
Nicolas Geoffray [Tue, 2 Jun 2015 10:57:10 +0000 (10:57 +0000)]
Merge "Fix a crash due to a combination of dce/inlining."

9 years agoMerge "Use down_cast instead of reinterpret_cast in Optimizing codegens."
Roland Levillain [Tue, 2 Jun 2015 10:52:35 +0000 (10:52 +0000)]
Merge "Use down_cast instead of reinterpret_cast in Optimizing codegens."

9 years agoBring ReferenceTypePropagation to HInvoke return types
Guillaume "Vermeille" Sanchez [Fri, 29 May 2015 09:52:55 +0000 (10:52 +0100)]
Bring ReferenceTypePropagation to HInvoke return types

Change-Id: Ie8f6b0ea5bd841c9555f3b1b6d4b7dce92a117f1

9 years agoCanThrow() for HArraySet may return true.
Mingyao Yang [Tue, 2 Jun 2015 10:16:27 +0000 (03:16 -0700)]
CanThrow() for HArraySet may return true.

HArraySet can throw ArrayStoreException.

Change-Id: Iba50dc95c822b079f0f1d024fbba7c5581a3d21b

9 years agoFix a crash due to a combination of dce/inlining.
Nicolas Geoffray [Tue, 2 Jun 2015 09:38:12 +0000 (10:38 +0100)]
Fix a crash due to a combination of dce/inlining.

Dead code elimiation was removing HCurrentMethod if
it ended up not being used, but inlining requires access
to it. Therefore we should keep the node in the graph.

Change-Id: I2f44f71b4ff3f2c3f9569d8420c1b37f00e694d2

9 years agoMerge "Add clear cache for JIT"
Mathieu Chartier [Tue, 2 Jun 2015 03:07:20 +0000 (03:07 +0000)]
Merge "Add clear cache for JIT"

9 years agoAdd clear cache for JIT
Mathieu Chartier [Tue, 2 Jun 2015 02:12:36 +0000 (19:12 -0700)]
Add clear cache for JIT

Bug: 21572270

Change-Id: I711a9ee2d9688a8e4b59380c401f10f42c6c068e

9 years agoMerge "Fix bogus image test assert"
Mathieu Chartier [Mon, 1 Jun 2015 23:49:20 +0000 (23:49 +0000)]
Merge "Fix bogus image test assert"

9 years agoFix bogus image test assert
Mathieu Chartier [Mon, 1 Jun 2015 23:33:53 +0000 (16:33 -0700)]
Fix bogus image test assert

Previously we were comparing the size of the non moving space to
size of the image file.

Now we properly compare the size of the image space against the size
of the image file.

Bug: 19264997
Change-Id: I7359f1f73ae3df60c5147245935a24431c04808a

9 years agoMerge "Copy miranda methods before suspend point"
Mathieu Chartier [Mon, 1 Jun 2015 22:51:31 +0000 (22:51 +0000)]
Merge "Copy miranda methods before suspend point"

9 years agoCopy miranda methods before suspend point
Mathieu Chartier [Mon, 1 Jun 2015 21:30:06 +0000 (14:30 -0700)]
Copy miranda methods before suspend point

This fixes a bug where moving GC could happen at vtable CopyOf and
result miranda methods having stale pointers since they are not part
of the class roots at this point.

Also some minor cleanup.

Bug: 21564728
Change-Id: Ife520db6973782e40edcb2074c17274b799af738

9 years agoMerge "Fix accidental IMT and root marking regression"
Mathieu Chartier [Mon, 1 Jun 2015 20:15:19 +0000 (20:15 +0000)]
Merge "Fix accidental IMT and root marking regression"

9 years agoFix accidental IMT and root marking regression
Mathieu Chartier [Mon, 1 Jun 2015 17:47:36 +0000 (10:47 -0700)]
Fix accidental IMT and root marking regression

Was always using the conflict trampoline. Also included fix for
regression in GC time caused by extra roots. Most of the regression
was IMT.

Fixed bug in DumpGcPerformanceInfo where we would get SIGABRT due to
detached thread.

EvaluateAndApplyChanges:
From ~2500 -> ~1980
GC time: 8.2s -> 7.2s due to 1s less of MarkConcurrentRoots

Bug: 19264997
Change-Id: I4333e80a8268c2ed1284f87f25b9f113d4f2c7e0

9 years agoMerge "Fix lint error."
Nicolas Geoffray [Mon, 1 Jun 2015 17:38:02 +0000 (17:38 +0000)]
Merge "Fix lint error."

9 years agoFix lint error.
Nicolas Geoffray [Mon, 1 Jun 2015 17:37:24 +0000 (18:37 +0100)]
Fix lint error.

Change-Id: Ibba7622a0c66eba653147f2e861606fffc7f685e

9 years agoUse down_cast instead of reinterpret_cast in Optimizing codegens.
Roland Levillain [Mon, 1 Jun 2015 17:24:13 +0000 (18:24 +0100)]
Use down_cast instead of reinterpret_cast in Optimizing codegens.

Change-Id: Ifa23023ffaca631a4f6b5745dd7492c39521a26f

9 years agoMerge "ART: Fix wrong hard-failure handling in verifier"
Andreas Gampe [Mon, 1 Jun 2015 17:20:00 +0000 (17:20 +0000)]
Merge "ART: Fix wrong hard-failure handling in verifier"

9 years agoMerge "Fix gtest by adding fake lifetime positions."
Nicolas Geoffray [Mon, 1 Jun 2015 17:13:17 +0000 (17:13 +0000)]
Merge "Fix gtest by adding fake lifetime positions."

9 years agoFix gtest by adding fake lifetime positions.
Nicolas Geoffray [Mon, 1 Jun 2015 17:12:38 +0000 (18:12 +0100)]
Fix gtest by adding fake lifetime positions.

Change-Id: I7cd89143103ac3e372406dff5d3837c9d91bb00d

9 years agoART: Fix wrong hard-failure handling in verifier
Andreas Gampe [Tue, 26 May 2015 20:35:39 +0000 (13:35 -0700)]
ART: Fix wrong hard-failure handling in verifier

Correctly return null for the method when a hard failure is
encountered. Also improve logging for order failures. Add a
regression test.

Bug: 20224106

(cherry picked from commit 3b74e275838729c5023cd80116f1b3b81306ee19)

Change-Id: I6e08202617147378b204af169308b67fc69f92c6