OSDN Git Service

android-x86/art.git
8 years agoART: Add missing GetInterfaceMethodIfProxy
Andreas Gampe [Wed, 9 Sep 2015 00:42:59 +0000 (17:42 -0700)]
ART: Add missing GetInterfaceMethodIfProxy

Add missing uses of GetInterfaceMethodIfProxy in reflection code.

Add a test case for a JNI call to a proxy method.

Bug: https://code.google.com/p/android-developer-preview/issues/detail?id=2973
Bug: 23886441
Change-Id: I5b66b64b5561fcee15d0314707d67e8abc02ce5b

8 years agoMerge "Simplify loop invariant operations during induction analysis."
Aart Bik [Tue, 8 Sep 2015 16:21:14 +0000 (16:21 +0000)]
Merge "Simplify loop invariant operations during induction analysis."

8 years agoMerge "ART: Clean up Thumb2Assembler's AddConstant()."
Vladimir Marko [Tue, 8 Sep 2015 13:06:07 +0000 (13:06 +0000)]
Merge "ART: Clean up Thumb2Assembler's AddConstant()."

8 years agoART: Clean up Thumb2Assembler's AddConstant().
Vladimir Marko [Tue, 8 Sep 2015 11:16:45 +0000 (12:16 +0100)]
ART: Clean up Thumb2Assembler's AddConstant().

Change-Id: I6a4c32d1bba79879e5514059df6336dc331246c1

8 years agoSimplify loop invariant operations during induction analysis.
Aart Bik [Sat, 5 Sep 2015 01:22:11 +0000 (18:22 -0700)]
Simplify loop invariant operations during induction analysis.

Rationale:
Saves some memory for nodes that are not really required, and
yields slightly more readable debugging strings.

Change-Id: I95b64b48869699137b5d49e26eb20091e264de7a

8 years agoMerge "Remove framework start from script."
Nicolas Geoffray [Mon, 7 Sep 2015 13:15:23 +0000 (13:15 +0000)]
Merge "Remove framework start from script."

8 years agoRemove framework start from script.
Nicolas Geoffray [Mon, 7 Sep 2015 12:33:36 +0000 (13:33 +0100)]
Remove framework start from script.

It's not needed anymore, as it was a one-off instruction that
needed to be executed by the devices.

Change-Id: I5eadb74aee7a9cc03be71b6e5f53e0cfd8d2352f

8 years agoMerge "Don't stop framework when testing."
Nicolas Geoffray [Mon, 7 Sep 2015 11:40:57 +0000 (11:40 +0000)]
Merge "Don't stop framework when testing."

8 years agoDon't stop framework when testing.
Nicolas Geoffray [Mon, 7 Sep 2015 11:04:35 +0000 (12:04 +0100)]
Don't stop framework when testing.

It prevents our infra team from knowing if a device is responsive.

Change-Id: Ie62df378e6fd540bcbfa2982a67b40a0dce85cb8

8 years agoMerge "Fix the read barrier config build."
Hiroshi Yamauchi [Sat, 5 Sep 2015 00:45:13 +0000 (00:45 +0000)]
Merge "Fix the read barrier config build."

8 years agoFix the read barrier config build.
Hiroshi Yamauchi [Sat, 5 Sep 2015 00:29:20 +0000 (17:29 -0700)]
Fix the read barrier config build.

Change-Id: I580d85609e8fa9b8c65466c6596d65bc3b155330

8 years agoMerge "Further development of induction variable analysis."
Aart Bik [Sat, 5 Sep 2015 00:25:41 +0000 (00:25 +0000)]
Merge "Further development of induction variable analysis."

8 years agoFurther development of induction variable analysis.
Aart Bik [Thu, 27 Aug 2015 20:46:58 +0000 (13:46 -0700)]
Further development of induction variable analysis.

Various improvements:
(1) Introduced period sequences.
(2) Extended all transfer functions to deal with all cases;
    also refactored these to read more compactly.
(3) Improved debugging output for constants for readability.
(4) Used direct pointer in mappings for clarify.
(5) Several induction info "constructors" for readability.
(6) Various other changes suggested in earlier code reviews.

Change-Id: I9d5381f1676b63d30cea6f5e304d4b7bda7acb96

8 years agoMerge "Make class loaders weak roots"
Mathieu Chartier [Fri, 4 Sep 2015 23:43:18 +0000 (23:43 +0000)]
Merge "Make class loaders weak roots"

8 years agoMake class loaders weak roots
Mathieu Chartier [Thu, 3 Sep 2015 01:51:54 +0000 (18:51 -0700)]
Make class loaders weak roots

Making the class loaders weak roots in the class linker prevents them
from keeping the classes as live. However we currently do mark them
as strong roots to make sure no accidental class unloading occurs
until the logic to free from linear alloc is complete.

Bug: 22720414

Change-Id: I57466236d9ce6fd064dda9a30ce8ab68094fb8b0

8 years agoMerge "Increase the run test failure output diff line count."
Hiroshi Yamauchi [Fri, 4 Sep 2015 20:17:31 +0000 (20:17 +0000)]
Merge "Increase the run test failure output diff line count."

8 years agoIncrease the run test failure output diff line count.
Hiroshi Yamauchi [Fri, 4 Sep 2015 19:52:03 +0000 (12:52 -0700)]
Increase the run test failure output diff line count.

If there are a lot of threads and deep stacks, we may not see the
beginning of the crash with the failure message.

Bug: 23485091
Change-Id: I854a05d9d9840f0ba10d6317396eb34e1da58c4d

8 years agoMerge "Fix art_quick_alloc_object_tlab"
Mathieu Chartier [Fri, 4 Sep 2015 18:24:43 +0000 (18:24 +0000)]
Merge "Fix art_quick_alloc_object_tlab"

8 years agoFix art_quick_alloc_object_tlab
Mathieu Chartier [Fri, 4 Sep 2015 17:40:01 +0000 (10:40 -0700)]
Fix art_quick_alloc_object_tlab

Was not updated for the new dex cache arrays.

Change-Id: I47b14fbaa071428abf87b18a045009a1c04d2376

8 years agoMerge "lambda: Infrastructure to support capture/liberate-variable dex opcodes"
Igor Murashkin [Fri, 4 Sep 2015 18:09:56 +0000 (18:09 +0000)]
Merge "lambda: Infrastructure to support capture/liberate-variable dex opcodes"

8 years agoMerge "Clean up formatting in class linker"
Mathieu Chartier [Fri, 4 Sep 2015 17:12:08 +0000 (17:12 +0000)]
Merge "Clean up formatting in class linker"

8 years agoClean up formatting in class linker
Mathieu Chartier [Fri, 4 Sep 2015 02:41:50 +0000 (19:41 -0700)]
Clean up formatting in class linker

Change-Id: Ifc27dbe0b5fcabec439602e02f4128c063e1b120

8 years agoMerge "ART: Fix 466-get-live-vreg for read barrier."
Vladimir Marko [Fri, 4 Sep 2015 16:16:50 +0000 (16:16 +0000)]
Merge "ART: Fix 466-get-live-vreg for read barrier."

8 years agoART: Fix 466-get-live-vreg for read barrier.
Vladimir Marko [Fri, 4 Sep 2015 14:52:23 +0000 (15:52 +0100)]
ART: Fix 466-get-live-vreg for read barrier.

With the read barrier, the test is actually compiled but it
runs interpreted, so the vreg is successfully retrieved.
Fix the stack visitor to check if we have a compiled frame
before checking if the method is "Optimized".

Change-Id: I600eb7b5c0c2be1b9617e4d05401a711dac01738

8 years agoMerge "ART: Abort if malloc() fails in SwapAllocator::allocate()."
Vladimir Marko [Fri, 4 Sep 2015 13:32:47 +0000 (13:32 +0000)]
Merge "ART: Abort if malloc() fails in SwapAllocator::allocate()."

8 years agoMerge "ART: Move DexCache arrays to native."
Vladimir Marko [Fri, 4 Sep 2015 10:34:04 +0000 (10:34 +0000)]
Merge "ART: Move DexCache arrays to native."

8 years agoART: Abort if malloc() fails in SwapAllocator::allocate().
Vladimir Marko [Fri, 4 Sep 2015 10:10:40 +0000 (11:10 +0100)]
ART: Abort if malloc() fails in SwapAllocator::allocate().

Change-Id: I084da8d376b0a86fc551b87d77ce9c74e60359bf

8 years agoMerge "Address some leftover comments"
Mathieu Chartier [Fri, 4 Sep 2015 02:06:49 +0000 (02:06 +0000)]
Merge "Address some leftover comments"

8 years agoAddress some leftover comments
Mathieu Chartier [Fri, 4 Sep 2015 01:10:29 +0000 (18:10 -0700)]
Address some leftover comments

Change-Id: Ia8d01c8b1c10d23efdd94aa76289a1ed3373957c

8 years agoMerge "Add ScopedThreadSuspension"
Mathieu Chartier [Fri, 4 Sep 2015 00:43:22 +0000 (00:43 +0000)]
Merge "Add ScopedThreadSuspension"

8 years agoAdd ScopedThreadSuspension
Mathieu Chartier [Thu, 3 Sep 2015 23:13:34 +0000 (16:13 -0700)]
Add ScopedThreadSuspension

Fixes the TransitionFromRunnableToSuspended and
TransitionFromSuspendedToRunnable pattern that was prone to errors.

Change-Id: Ie6ae9c0357c83b4fc4899d05dfa0975553170267

8 years agolambda: Infrastructure to support capture/liberate-variable dex opcodes
Igor Murashkin [Thu, 30 Jul 2015 22:11:09 +0000 (15:11 -0700)]
lambda: Infrastructure to support capture/liberate-variable dex opcodes

* ArtLambdaMethod - wrap an ArtMethod with extra runtime lambda info
* Closure - data representation for a runtime lambda closure (read-only)
* ClosureBuilder - writer for creating a Closure at runtime
* ShortyFieldType - char/enum wrapper for shorty_field_type in dex

Tests:
* Closure, ClosureBuilder, ShortyFieldType have full unit test coverage.
* ArtLambdaMethod does not, but it is tested indirectly and is otherwise
  trivial getters.

Future CLs will include interpreter integration with minimal changes to
this Closure infrastructure.

Change-Id: I38a7aea8df1da7b154fd6623258c6c228c8e51df

8 years agoMerge "Reduce how often we call FindDexCache"
Mathieu Chartier [Thu, 3 Sep 2015 22:11:02 +0000 (22:11 +0000)]
Merge "Reduce how often we call FindDexCache"

8 years agoReduce how often we call FindDexCache
Mathieu Chartier [Wed, 2 Sep 2015 21:54:11 +0000 (14:54 -0700)]
Reduce how often we call FindDexCache

Before host boot.oat -j4 optimizing compile:
real  1m17.792s
user  3m26.140s
sys 0m8.340s

After:
real  1m12.324s
user  3m22.718s
sys 0m8.320s

Change-Id: If18e9e79e06cdf1676692e5efacb682bf93889c3

8 years agoMerge "Some fixes for the CC collector."
Hiroshi Yamauchi [Thu, 3 Sep 2015 18:44:06 +0000 (18:44 +0000)]
Merge "Some fixes for the CC collector."

8 years agoSome fixes for the CC collector.
Hiroshi Yamauchi [Wed, 2 Sep 2015 23:16:58 +0000 (16:16 -0700)]
Some fixes for the CC collector.

- Remove a DCHECK in DisableMarkingCheckpoint, which caused
  occasional (false) failures.
- Check the thread-local GetWeakRefAccessEnabled in boxed lambdas weak
  access.
- Add missing BroadcastForNewAllocationRecords and
  BroadcastForNewWeakBoxedLambdas. The lack of the former caused
  occasional deadlocks in the ddmc test.
- Remove the 'ensure system weaks disallowed' calls, which weren't
  useful and dead.

Bug: 12687968
Change-Id: I33850c8d12e6e1a3aed1c2bb18eba263cbab76e8

8 years agoMerge "Make format args explicit in DocString."
Richard Uhler [Thu, 3 Sep 2015 17:21:15 +0000 (17:21 +0000)]
Merge "Make format args explicit in DocString."

8 years agoMake format args explicit in DocString.
Richard Uhler [Mon, 31 Aug 2015 23:16:14 +0000 (16:16 -0700)]
Make format args explicit in DocString.

Previously it was not clear that passing a single argument to
DocString.text, DocString.append, or DocString.uri would be treated as
a format string. With this change, the 'text', 'append', and 'uri'
methods take literal strings, and the new 'format', 'appendFormat',
and 'formattedUri' methods take format strings.

Bug: 23782192
Change-Id: I9a094575f0831de6659033052305f918c71ac8b7

8 years agoART: Move DexCache arrays to native.
Vladimir Marko [Mon, 3 Aug 2015 10:56:49 +0000 (11:56 +0100)]
ART: Move DexCache arrays to native.

This CL has a companion CL in libcore/
    https://android-review.googlesource.com/162985

Change-Id: Icbc9e20ad1b565e603195b12714762bb446515fa

8 years agoMerge "Revert "Optimizing: Tag basic block allocations with their source.""
Vladimir Marko [Thu, 3 Sep 2015 13:33:49 +0000 (13:33 +0000)]
Merge "Revert "Optimizing: Tag basic block allocations with their source.""

8 years agoRevert "Optimizing: Tag basic block allocations with their source."
Vladimir Marko [Thu, 3 Sep 2015 13:33:25 +0000 (13:33 +0000)]
Revert "Optimizing: Tag basic block allocations with their source."

Reverting so that we can have more discussion about the STL API.

This reverts commit 91e11c0c840193c6822e66846020b6647de243d5.

Change-Id: I187fe52f2c16b6e7c5c9d49c42921eb6c7063dba

8 years agoMerge "Optimizing: Tag basic block allocations with their source."
Vladimir Marko [Thu, 3 Sep 2015 13:21:07 +0000 (13:21 +0000)]
Merge "Optimizing: Tag basic block allocations with their source."

8 years agoOptimizing: Tag basic block allocations with their source.
Vladimir Marko [Wed, 2 Sep 2015 16:03:22 +0000 (17:03 +0100)]
Optimizing: Tag basic block allocations with their source.

Replace GrowableArray with ArenaVector in HBasicBlock and,
to track the source of allocations, assign one new and two
Quick's arena allocation types to these vectors. Rename
kArenaAllocSuccessor to kArenaAllocSuccessors.

Bug: 23736311
Change-Id: I984aef6e615ae2380a532f5c6726af21015f43f5

8 years agoMerge "Add more dwarf debug line info for Optimized methods."
David Srbecky [Thu, 3 Sep 2015 10:23:28 +0000 (10:23 +0000)]
Merge "Add more dwarf debug line info for Optimized methods."

8 years agoAdd more dwarf debug line info for Optimized methods.
Yevgeny Rouban [Wed, 22 Jul 2015 12:36:24 +0000 (18:36 +0600)]
Add more dwarf debug line info for Optimized methods.

Optimizing compiler generates minimum debug line info that
is built using the dex_pc information about suspend points.
This is not enough for performance and debugging needs.

This CL generates additional debug line information for
instructions which have known dex_pc and it ensures that
whole call sites are mapped (as opposed to suspend points
which map only one instruction past the function call).

Bug: 23157336
Change-Id: I9f2b1c2038e3560847c175b8121cf9496b8b58fa
Signed-off-by: Yevgeny Rouban <yevgeny.y.rouban@intel.com>
8 years agoMerge "Increase max stack frame for sanitizers to handle x86."
Evgenii Stepanov [Thu, 3 Sep 2015 00:21:39 +0000 (00:21 +0000)]
Merge "Increase max stack frame for sanitizers to handle x86."

8 years agoIncrease max stack frame for sanitizers to handle x86.
Ivan Krasin [Wed, 2 Sep 2015 18:34:36 +0000 (11:34 -0700)]
Increase max stack frame for sanitizers to handle x86.

Currently, when building asan-ified Android image
for aosp_x86-eng, it surpasses the limit for the
stack frame size and stops the compilation.

The resulting image (after increasing the limit)
was tested in the emulator.

Change-Id: I99c4871f38abab526bdf28575f44400432ec61ba

8 years agoMerge "Fix native annotations returning TypeNotPresentException."
Jeff Hao [Wed, 2 Sep 2015 22:03:14 +0000 (22:03 +0000)]
Merge "Fix native annotations returning TypeNotPresentException."

8 years agoFix native annotations returning TypeNotPresentException.
Jeff Hao [Wed, 2 Sep 2015 20:52:20 +0000 (13:52 -0700)]
Fix native annotations returning TypeNotPresentException.

Also adds test cases for inner classes and TypeNotPresentException.

Change-Id: I28041af455f09b43fcf0b07b79b5a21d4741079b

8 years agoMerge "Optimizing: Tag Arena allocations with their source."
Vladimir Marko [Wed, 2 Sep 2015 19:59:19 +0000 (19:59 +0000)]
Merge "Optimizing: Tag Arena allocations with their source."

8 years agoOptimizing: Tag Arena allocations with their source.
Vladimir Marko [Wed, 2 Sep 2015 13:05:49 +0000 (14:05 +0100)]
Optimizing: Tag Arena allocations with their source.

This adds the ability to track where we allocate memory
when the kArenaAllocatorCountAllocations flag is turned on.

Also move some allocations from native heap to the Arena
and remove some unnecessary utilities.

Bug: 23736311
Change-Id: I1aaef3fd405d1de444fe9e618b1ce7ecef07ade3

8 years agoMerge "ART: Remove unnecessary include of linear_alloc.h."
Vladimir Marko [Wed, 2 Sep 2015 19:12:20 +0000 (19:12 +0000)]
Merge "ART: Remove unnecessary include of linear_alloc.h."

8 years agoART: Remove unnecessary include of linear_alloc.h.
Vladimir Marko [Wed, 2 Sep 2015 18:51:21 +0000 (19:51 +0100)]
ART: Remove unnecessary include of linear_alloc.h.

Change-Id: Ic6648f1cc55bc75cd58bc81824cd7f0194ab78ce

8 years agoMerge "Use the 64-bit linker for target mips64r6 in buildbot-build.sh."
Roland Levillain [Wed, 2 Sep 2015 15:10:53 +0000 (15:10 +0000)]
Merge "Use the 64-bit linker for target mips64r6 in buildbot-build.sh."

8 years agoMerge "Document the `--debuggable` option in dex2oat's usage."
Roland Levillain [Wed, 2 Sep 2015 15:08:49 +0000 (15:08 +0000)]
Merge "Document the `--debuggable` option in dex2oat's usage."

8 years agoMerge "JDWP: attempt to fix failure on closed connection"
Sebastien Hertz [Wed, 2 Sep 2015 14:51:44 +0000 (14:51 +0000)]
Merge "JDWP: attempt to fix failure on closed connection"

8 years agoJDWP: attempt to fix failure on closed connection
Sebastien Hertz [Wed, 2 Sep 2015 12:30:13 +0000 (14:30 +0200)]
JDWP: attempt to fix failure on closed connection

Don't send packet if JDWP connection has been closed while
processing a JDWP command.

We used to DCHECK(IsConnected()) in JdwpNetStateBase::WritePacket
but this is wrong when the connection has been closed by the debugger
(client) before we sent the packet. It seems to happen more during
JDWP tests due to how debugger and debuggee are synchronizing with
each other.

Bug: 22907762
Change-Id: I1c886382268697b4c50755b6009cceac7b8d656e

8 years agoUse the 64-bit linker for target mips64r6 in buildbot-build.sh.
Roland Levillain [Wed, 2 Sep 2015 10:43:59 +0000 (11:43 +0100)]
Use the 64-bit linker for target mips64r6 in buildbot-build.sh.

Change-Id: I51fddf0aecb2c834d42426ce22347d4a2dbed3d8

8 years agoDocument the `--debuggable` option in dex2oat's usage.
Roland Levillain [Wed, 2 Sep 2015 08:35:25 +0000 (09:35 +0100)]
Document the `--debuggable` option in dex2oat's usage.

Change-Id: I88accd4c4b6340b67407d948c72b595349b2eede

8 years agoMerge "No longer lock WeakGlobalsLock in FindDexCache"
Mathieu Chartier [Wed, 2 Sep 2015 07:11:30 +0000 (07:11 +0000)]
Merge "No longer lock WeakGlobalsLock in FindDexCache"

8 years agoNo longer lock WeakGlobalsLock in FindDexCache
Mathieu Chartier [Wed, 2 Sep 2015 03:00:10 +0000 (20:00 -0700)]
No longer lock WeakGlobalsLock in FindDexCache

Since DecodeWeakGlobal is now usually lock free, it is faster to use
that instead of the locked version.

10x boot.oat compile on host -j4:
Before:
real  1m24.674s
user  3m40.446s
sys 0m15.749s

After:
real  1m14.529s
user  3m26.734s
sys 0m8.469s

Change-Id: I15bb10ad3a9bb2e6f8edb5dc0668267be821d603

8 years agoMerge "Enable lockless decoding of weak globals"
Mathieu Chartier [Wed, 2 Sep 2015 03:03:01 +0000 (03:03 +0000)]
Merge "Enable lockless decoding of weak globals"

8 years agoEnable lockless decoding of weak globals
Mathieu Chartier [Tue, 1 Sep 2015 18:14:34 +0000 (11:14 -0700)]
Enable lockless decoding of weak globals

Will help speed up decoding weak DexCache roots.

Change-Id: I9a68beb4106cbd383111a30e249c9b0149064e78

8 years agoMerge "Move more Class annotations to native."
Jeff Hao [Wed, 2 Sep 2015 00:10:28 +0000 (00:10 +0000)]
Merge "Move more Class annotations to native."

8 years agoMerge "Add JNI state change performance test"
Mathieu Chartier [Wed, 2 Sep 2015 00:08:10 +0000 (00:08 +0000)]
Merge "Add JNI state change performance test"

8 years agoAdd JNI state change performance test
Man Cao [Wed, 1 Jul 2015 06:06:40 +0000 (23:06 -0700)]
Add JNI state change performance test

This test is only for measuring the JNI performance. The test prints
timing information on each run so we do not compare stdout with
expected.txt. This test is mostly intended to be run manually with
the run-test script using the -O flag.

Change-Id: I68aa1473c425d9ef6f00796bdb47bea2a956d011

8 years agoMerge "Disable the GDB-based test timeout dump in 32 bit."
Hiroshi Yamauchi [Tue, 1 Sep 2015 23:49:09 +0000 (23:49 +0000)]
Merge "Disable the GDB-based test timeout dump in 32 bit."

8 years agoMerge "Add GC coverage test for moving GC"
Mathieu Chartier [Tue, 1 Sep 2015 23:32:11 +0000 (23:32 +0000)]
Merge "Add GC coverage test for moving GC"

8 years agoAdd GC coverage test for moving GC
Mathieu Chartier [Tue, 1 Sep 2015 00:10:05 +0000 (17:10 -0700)]
Add GC coverage test for moving GC

Adds testing coverage for collector transitions and homogeneous space
compaction.

Bug: 10808403

Change-Id: Ia79fecb47c33fc95d940243d6cb1068e9ee9dc9a

8 years agoDisable the GDB-based test timeout dump in 32 bit.
Hiroshi Yamauchi [Tue, 1 Sep 2015 23:21:35 +0000 (16:21 -0700)]
Disable the GDB-based test timeout dump in 32 bit.

Bug: 23485091
Change-Id: I46b8ae8d0a37439ca6f2d1030dec8e513b82745f

8 years agoMove more Class annotations to native.
Jeff Hao [Mon, 31 Aug 2015 22:00:40 +0000 (15:00 -0700)]
Move more Class annotations to native.

Art side of this change. There is also a corresponding Libcore change.

Seeing speedup in AnnotatedElementBenchmark.
GetDeclaredClasses  21.61x
GetDeclaringClass 108.73x
GetEnclosingClass  87.81x
GetEnclosingConstructor  23.35x
GetEnclosingMethod  22.71x
GetModifiers 152.47x
GetSimpleName 106.11x
IsAnonymousClass  91.28x
IsLocalClass  51.95x

Change-Id: I2b7f7eb7785fc20671fd7c338ffa9c7048a44a48

8 years agoMerge "Use GDB to dump threads in test timeouts, if available."
Hiroshi Yamauchi [Tue, 1 Sep 2015 19:54:23 +0000 (19:54 +0000)]
Merge "Use GDB to dump threads in test timeouts, if available."

8 years agoUse GDB to dump threads in test timeouts, if available.
Hiroshi Yamauchi [Mon, 31 Aug 2015 22:14:17 +0000 (15:14 -0700)]
Use GDB to dump threads in test timeouts, if available.

GDB is able to dump threads which may not be responding to the SIGQUIT
thread dump.

Bug: 23485091
Change-Id: Ib80db4e63258887f3b7c313ed5e6eb9e6300ac4c

8 years agoMerge "Revert "More cyrpto failures...""
Kenny Root [Tue, 1 Sep 2015 17:51:44 +0000 (17:51 +0000)]
Merge "Revert "More cyrpto failures...""

8 years agoRevert "More cyrpto failures..."
Kenny Root [Tue, 1 Sep 2015 17:35:34 +0000 (17:35 +0000)]
Revert "More cyrpto failures..."

This reverts commit ebb503ac5ac4785dd650a530762f584b12846e79.

Fixed by https://android-review.googlesource.com/168937

Change-Id: I202f5a6c3789cf84ff100f1f5dc8bc2e7ef8be03

8 years agoMerge "SlowPath: Remove the use of Locations in the SlowPath constructors."
Nicolas Geoffray [Tue, 1 Sep 2015 15:43:11 +0000 (15:43 +0000)]
Merge "SlowPath: Remove the use of Locations in the SlowPath constructors."

8 years agoMerge "Use CodeGenerator::RecordPcInfo instead of SlowPathCode::RecordPcInfo."
Nicolas Geoffray [Tue, 1 Sep 2015 15:35:47 +0000 (15:35 +0000)]
Merge "Use CodeGenerator::RecordPcInfo instead of SlowPathCode::RecordPcInfo."

8 years agoMerge "Optimizing: Improve String.equals() thumb intrinsic."
Vladimir Marko [Tue, 1 Sep 2015 15:26:55 +0000 (15:26 +0000)]
Merge "Optimizing: Improve String.equals() thumb intrinsic."

8 years agoOptimizing: Improve String.equals() thumb intrinsic.
Vladimir Marko [Tue, 1 Sep 2015 12:36:35 +0000 (13:36 +0100)]
Optimizing: Improve String.equals() thumb intrinsic.

Use SUBS for updating the loop counter and setting the loop
exit condition, so that we don't need to pre-calculate the
bound but still keep the same number of instructions in the
loop.

This reduces the size of boot.oat on Nexus 5 by 8KiB (when
compiled with Optimizing which is not the default yet).

Change-Id: I87d5a128e5e67f4ad177b71c28662d1367170a10

8 years agoMerge "Revert "Revert "Fix deoptimization with pending exception"""
Sebastien Hertz [Tue, 1 Sep 2015 12:21:18 +0000 (12:21 +0000)]
Merge "Revert "Revert "Fix deoptimization with pending exception"""

8 years agoMerge "ART: Add 16-bit Thumb2 ROR, NEGS and CMP for high registers."
Vladimir Marko [Tue, 1 Sep 2015 10:58:32 +0000 (10:58 +0000)]
Merge "ART: Add 16-bit Thumb2 ROR, NEGS and CMP for high registers."

8 years agoMerge "ART: Add zero-padding to allocation request for String."
Vladimir Marko [Tue, 1 Sep 2015 10:54:45 +0000 (10:54 +0000)]
Merge "ART: Add zero-padding to allocation request for String."

8 years agoART: Add 16-bit Thumb2 ROR, NEGS and CMP for high registers.
Vladimir Marko [Thu, 30 Jul 2015 14:07:22 +0000 (15:07 +0100)]
ART: Add 16-bit Thumb2 ROR, NEGS and CMP for high registers.

Also clean up the usage of set_cc flag. Define a SetCc
enumeration that specifies whether to set or keep condition
codes or whether we don't care and a 16-bit instruction
should be selected if one exists.

This reduces the size of Nexus 5 boot.oat by 44KiB (when
compiled with Optimizing which is not the default yet).

Change-Id: I047072dc197ea678bf2019c01bcb28943fa9b604

8 years agoMerge "Revert "Revert "Change dex caches to be weak roots"""
Mathieu Chartier [Mon, 31 Aug 2015 20:37:43 +0000 (20:37 +0000)]
Merge "Revert "Revert "Change dex caches to be weak roots"""

8 years agoRevert "Revert "Change dex caches to be weak roots""
Mathieu Chartier [Fri, 28 Aug 2015 21:56:43 +0000 (14:56 -0700)]
Revert "Revert "Change dex caches to be weak roots""

This reverts commit 81a9087f0df0518c39405b7d18ba5858a6d8b77b.

Boot.oat creation time goes from 4.7s to 4.9s on host due to extra
locking. Will try to improve this in another CL.

Bug: 23602225
Bug: 22720414

Change-Id: I7e25b75cfb63faa196c7b0f60e46cce50bf12021

8 years agoMerge "Test HashSet lookup by alternate key type."
Richard Uhler [Mon, 31 Aug 2015 16:54:46 +0000 (16:54 +0000)]
Merge "Test HashSet lookup by alternate key type."

8 years agoMerge "ART: Additional ceil/floor/rint test cases"
Andreas Gampe [Mon, 31 Aug 2015 15:19:59 +0000 (15:19 +0000)]
Merge "ART: Additional ceil/floor/rint test cases"

8 years agoMerge "JDWP: check object is assignable in ArrayReference.SetValues"
Sebastien Hertz [Mon, 31 Aug 2015 14:37:58 +0000 (14:37 +0000)]
Merge "JDWP: check object is assignable in ArrayReference.SetValues"

8 years agoJDWP: check object is assignable in ArrayReference.SetValues
Sebastien Hertz [Fri, 28 Aug 2015 09:57:49 +0000 (11:57 +0200)]
JDWP: check object is assignable in ArrayReference.SetValues

If the object's type is not compatible with the array's type, we
return a TYPE_MISMATCH error.

Bug: 23602995
Change-Id: Ibd838dd301e40db4f08c74c9783707d1c87c67fd

8 years agoMerge "ART: Fix the simplifier for NEGATE add/sub"
Nicolas Geoffray [Sun, 30 Aug 2015 16:57:53 +0000 (16:57 +0000)]
Merge "ART: Fix the simplifier for NEGATE add/sub"

8 years agoMerge "More cyrpto failures..."
Nicolas Geoffray [Sun, 30 Aug 2015 15:10:35 +0000 (15:10 +0000)]
Merge "More cyrpto failures..."

8 years agoMore cyrpto failures...
Nicolas Geoffray [Sat, 29 Aug 2015 18:23:27 +0000 (19:23 +0100)]
More cyrpto failures...

Change-Id: Id527f4a07d7cc9cd45e7df47ac89c6e061ab784f

8 years agoMerge "ART: Weaken size check in hprof"
Andreas Gampe [Sat, 29 Aug 2015 02:50:49 +0000 (02:50 +0000)]
Merge "ART: Weaken size check in hprof"

8 years agoART: Weaken size check in hprof
Andreas Gampe [Sat, 29 Aug 2015 01:15:27 +0000 (18:15 -0700)]
ART: Weaken size check in hprof

Dumping the heap is a two-phase process. In the first phase, all
objects are visited to fill the header tables. In the second phase,
the tables are written out and the heap is visited again to write
the object records.

Deleting global references doesn't require the mutator lock. So it
is possible to delete a global ref in-between the first and the
second phase. This leads to a smaller set of object records. The
result is still safe, as the object's class etc. is still in the
header tables, and the object won't be deleted, so will still be
dumped by itself.

Bug: 23521263

(cherry picked from commit e4cf5892c2a244034900d49499c071b255571bba)

Change-Id: I019c29b13ceb9f13e362c742662f1546d52c37a0

8 years agoTest HashSet lookup by alternate key type.
Richard Uhler [Thu, 27 Aug 2015 16:04:18 +0000 (09:04 -0700)]
Test HashSet lookup by alternate key type.

The test case demonstrates and verifies looking up a HashSet element
by an alternate key type.

Change-Id: I833d572fb6105bf4d7c343ce50de873f27e4311f

8 years agoMerge "Fix some HandleScope bugs and add corresponding checks"
Mathieu Chartier [Fri, 28 Aug 2015 20:53:02 +0000 (20:53 +0000)]
Merge "Fix some HandleScope bugs and add corresponding checks"

8 years agoFix some HandleScope bugs and add corresponding checks
Mathieu Chartier [Fri, 28 Aug 2015 18:16:54 +0000 (11:16 -0700)]
Fix some HandleScope bugs and add corresponding checks

Some places were creating or destroying handle scopes without holding
the mutator lock. This can cause GC crashes if thread roots are being
marked or hprof dumps to also fail.

Also added checks to catch some of these errors.

Bug: 23468617
Change-Id: I1a2d615923484cfc25014967656775c445aa3f1f

8 years agoMerge "Make Art's dexlist the real one!"
Aart Bik [Fri, 28 Aug 2015 19:52:04 +0000 (19:52 +0000)]
Merge "Make Art's dexlist the real one!"

8 years agoMerge "ART: Add mising ScopedObjectAccess in ref type propagation"
Andreas Gampe [Fri, 28 Aug 2015 18:14:45 +0000 (18:14 +0000)]
Merge "ART: Add mising ScopedObjectAccess in ref type propagation"

8 years agoMake Art's dexlist the real one!
Aart Bik [Fri, 28 Aug 2015 18:09:29 +0000 (11:09 -0700)]
Make Art's dexlist the real one!

Renaming dexlist2 into dexlist now that Dalvik's dexlist
is gone. Unless dexdump, this migration is straightforward
since the windows SDK does not ship dexlist.

Bug: 22322814
Change-Id: I721a72abdd9a17329b53020274495323467e388e