OSDN Git Service

android-x86/art.git
9 years agoMerge "Revert "Revert "Use HCurrentMethod in HInvokeStaticOrDirect."""
Nicolas Geoffray [Tue, 9 Jun 2015 07:55:16 +0000 (07:55 +0000)]
Merge "Revert "Revert "Use HCurrentMethod in HInvokeStaticOrDirect."""

9 years agoMerge "Enable 64-bit CFI tests."
David Srbecky [Tue, 9 Jun 2015 01:41:11 +0000 (01:41 +0000)]
Merge "Enable 64-bit CFI tests."

9 years agoEnable 64-bit CFI tests.
David Srbecky [Tue, 9 Jun 2015 00:21:23 +0000 (01:21 +0100)]
Enable 64-bit CFI tests.

Those should work now since we have switched to ELF-64.

Change-Id: Id95b8b309843b30864a860c745d16b50d7f88bda

9 years agoMerge "More LOW_4G optimizations"
Mathieu Chartier [Mon, 8 Jun 2015 18:33:42 +0000 (18:33 +0000)]
Merge "More LOW_4G optimizations"

9 years agoMore LOW_4G optimizations
Mathieu Chartier [Thu, 4 Jun 2015 23:22:41 +0000 (16:22 -0700)]
More LOW_4G optimizations

Eagerly try to map at an address when it doesn't overlap with
the ART known maps.

Reduces time spent creating the heap on N9 from ~100ms to ~10ms.

(cherry picked from commit 3ae250c16bae3462e040b844dbc2e2fc732d67ba)

Bug: 20727525
Change-Id: Ie8982ca9d1f3158104b2b53b992c3a28841fc443

9 years agoMerge "Fix nested deoptimization."
Mingyao Yang [Mon, 8 Jun 2015 17:41:30 +0000 (17:41 +0000)]
Merge "Fix nested deoptimization."

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

Fix was to special case baseline for x86, which does not have enough
registers to allocate the current method.

This reverts commit c345f141f11faad177aa9635a78088d00cf66086.

Change-Id: I5997aa52f8d4df373ae5ff4d4150dac0c44c4c10

9 years agoMerge "Revert "Support for inlining virtual and interface calls.""
Nicolas Geoffray [Mon, 8 Jun 2015 15:54:38 +0000 (15:54 +0000)]
Merge "Revert "Support for inlining virtual and interface calls.""

9 years agoRevert "Support for inlining virtual and interface calls."
Nicolas Geoffray [Mon, 8 Jun 2015 15:52:23 +0000 (15:52 +0000)]
Revert "Support for inlining virtual and interface calls."

Fails for some apps.

bug: 21674542

This reverts commit 1d5006c34d75758752bf3499892e3d5beb11d5dc.

Change-Id: Ia74b5e54d59f8ffe9992591324a12f71efb67af4

9 years agoMerge "Revert "Do a type check for knowing if we can inline.""
Nicolas Geoffray [Mon, 8 Jun 2015 15:53:30 +0000 (15:53 +0000)]
Merge "Revert "Do a type check for knowing if we can inline.""

9 years agoRevert "Do a type check for knowing if we can inline."
Nicolas Geoffray [Mon, 8 Jun 2015 15:53:16 +0000 (15:53 +0000)]
Revert "Do a type check for knowing if we can inline."

Fails for some apps.
bug:21674542

This reverts commit 7ce4b3d4c1c562959a8a3640df764ab50f1cbdf1.

Change-Id: Ie25852c022391834858b2f5e34e8c7aeb1c3b3dd

9 years agoFix nested deoptimization.
Mingyao Yang [Mon, 18 May 2015 19:12:50 +0000 (12:12 -0700)]
Fix nested deoptimization.

Handle nested deoptimization cases. Create a stacked shadow frame
records to keep track of deoptimization shadow frames. Shadow frames
under construction can be tracked in the same stack.

Bug: 20845490
Change-Id: I768285792c29e7c3cfcd21e7a2600802506024d8

9 years agoMerge "ART: Reload class on miranda method in verifier"
Andreas Gampe [Sun, 7 Jun 2015 22:39:51 +0000 (22:39 +0000)]
Merge "ART: Reload class on miranda method in verifier"

9 years agoMerge "Revert "Revert "Turn off duplicate-classes checking"""
Andreas Gampe [Sun, 7 Jun 2015 22:36:15 +0000 (22:36 +0000)]
Merge "Revert "Revert "Turn off duplicate-classes checking"""

9 years agoMerge "Revert "DO NOT MERGE ART: Turn off duplicate-classes checking""
Andreas Gampe [Sun, 7 Jun 2015 22:36:00 +0000 (22:36 +0000)]
Merge "Revert "DO NOT MERGE ART: Turn off duplicate-classes checking""

9 years agoMerge "DO NOT MERGE ART: Turn off duplicate-classes checking"
Andreas Gampe [Sun, 7 Jun 2015 22:35:42 +0000 (22:35 +0000)]
Merge "DO NOT MERGE ART: Turn off duplicate-classes checking"

9 years agoART: Reload class on miranda method in verifier
Andreas Gampe [Fri, 5 Jun 2015 05:19:58 +0000 (22:19 -0700)]
ART: Reload class on miranda method in verifier

When checking the receiver of a call and we have a miranda method,
reload the class from the method index instead of using the declared
class - which is the interface class, not the abstract class.

Bug: 21646347
Change-Id: I5bceab75c3b76233cb42ea5cf0214d32c8149994

9 years agoRevert "Revert "Turn off duplicate-classes checking""
Andreas Gampe [Wed, 3 Jun 2015 22:43:16 +0000 (15:43 -0700)]
Revert "Revert "Turn off duplicate-classes checking""

This reverts commit 18a1827a159f1b235f3fcc934f428059185f550e.

Bug: 21333911

(cherry picked from commit 0fc16a09b4d2323f9c2b6aabc81ce120b278329b)

Change-Id: I8cb96efbf7151b238f3ee137a938b20ddfaf0ebc

9 years agoRevert "DO NOT MERGE ART: Turn off duplicate-classes checking"
Andreas Gampe [Thu, 21 May 2015 20:33:40 +0000 (20:33 +0000)]
Revert "DO NOT MERGE ART: Turn off duplicate-classes checking"

This reverts commit aafcfca5fe545365ef377fff2897b8a908f03e71.

Bug: 21333911

(cherry picked from commit 18a1827a159f1b235f3fcc934f428059185f550e)

Change-Id: Ibbc6b1be8bebc1d0ab9c5955b34eb89f40577baa

9 years agoDO NOT MERGE ART: Turn off duplicate-classes checking
Andreas Gampe [Wed, 20 May 2015 21:48:10 +0000 (14:48 -0700)]
DO NOT MERGE ART: Turn off duplicate-classes checking

Bug: 21333911

(cherry picked from commit aafcfca5fe545365ef377fff2897b8a908f03e71)

Change-Id: I9832526a6d2996aadb459e3ec0930cbaf151478a

9 years agoMerge "ART: Add SetSpecialSignalHandlerFn to version-script.txt"
Andreas Gampe [Sat, 6 Jun 2015 03:52:31 +0000 (03:52 +0000)]
Merge "ART: Add SetSpecialSignalHandlerFn to version-script.txt"

9 years agoART: Add SetSpecialSignalHandlerFn to version-script.txt
Andreas Gampe [Sat, 6 Jun 2015 03:45:31 +0000 (20:45 -0700)]
ART: Add SetSpecialSignalHandlerFn to version-script.txt

Expose the new function from the sigchainlib implementation.

Bug: 20217701
Change-Id: I7d21025595775e057ea703236ca88ceb07173136

9 years agoMerge "Use runFinalizationWithTimeout for native allocations"
Mathieu Chartier [Fri, 5 Jun 2015 23:44:27 +0000 (23:44 +0000)]
Merge "Use runFinalizationWithTimeout for native allocations"

9 years agoUse runFinalizationWithTimeout for native allocations
Mathieu Chartier [Fri, 5 Jun 2015 20:21:05 +0000 (13:21 -0700)]
Use runFinalizationWithTimeout for native allocations

Prevents deadlocks by not waiting longer than 250ms for finalizers
to complete.

(cherry picked from commit 3b532d744034b43ed329a3198f15846d80fec3f0)

Bug: 21544853
Change-Id: I57b2f7ae8b74185922eb3c15ba0ab71a4d2348aa

9 years agoMerge "Add atrace calls to runtime start and heap create"
Mathieu Chartier [Thu, 4 Jun 2015 23:19:26 +0000 (23:19 +0000)]
Merge "Add atrace calls to runtime start and heap create"

9 years agoAdd atrace calls to runtime start and heap create
Richard Uhler [Tue, 7 Apr 2015 17:56:50 +0000 (10:56 -0700)]
Add atrace calls to runtime start and heap create

(cherry picked from commit 7fabaa6ba1927d21a317c03499b705cbde4f6a47)

Bug: 20727525

Change-Id: I91a74b793fb9eda8ed580244a6a5fd313ef2eb27

9 years agoMerge "If heap poisoning is on, pass the relevant flag to LOCAL_ASFLAGS."
Hiroshi Yamauchi [Thu, 4 Jun 2015 22:38:10 +0000 (22:38 +0000)]
Merge "If heap poisoning is on, pass the relevant flag to LOCAL_ASFLAGS."

9 years agoMerge "Add optimization for LOW_4G allocator"
Mathieu Chartier [Thu, 4 Jun 2015 22:21:35 +0000 (22:21 +0000)]
Merge "Add optimization for LOW_4G allocator"

9 years agoAdd optimization for LOW_4G allocator
Mathieu Chartier [Thu, 4 Jun 2015 20:42:14 +0000 (13:42 -0700)]
Add optimization for LOW_4G allocator

The optimization uses the maps_ field to skip over regions which we
know wont be large enough for the request.

Reduces time to create heap from 500-700ms to 100ms on N9.

(cherry picked from commit 1c8bef4a71612f10b89b102434f70de5a127cc74)

Bug: 20727525

Change-Id: I4fa92d58c2e135ba31a03ababff46669089bb542

9 years agoIf heap poisoning is on, pass the relevant flag to LOCAL_ASFLAGS.
Roland Levillain [Thu, 4 Jun 2015 16:50:27 +0000 (17:50 +0100)]
If heap poisoning is on, pass the relevant flag to LOCAL_ASFLAGS.

This change ensures assembly files honoring heap poisoning
(notably used by stub_test) are compiled with
-DART_HEAP_POISONING=1 when this feature is turned on.

Bug: 21621105
Change-Id: I13fe456cd2733a09bdfd3a9808cfd70513b14698

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"