OSDN Git Service

android-x86/art.git
8 years agoUse arc4random_buf instead of getauxval(AT_RANDOM).
Josh Gao [Wed, 16 Sep 2015 23:27:00 +0000 (16:27 -0700)]
Use arc4random_buf instead of getauxval(AT_RANDOM).

Reclaim the AT_RANDOM bytes used by ART for bionic.

Bug: http://b/23942752
Change-Id: Iceddce7f08fa887a7bb6828d75ef21426c413863

8 years agoMerge "Increase the run-test timeout for the read barrier config."
Hiroshi Yamauchi [Thu, 10 Sep 2015 23:32:47 +0000 (23:32 +0000)]
Merge "Increase the run-test timeout for the read barrier config."

8 years agoIncrease the run-test timeout for the read barrier config.
Hiroshi Yamauchi [Thu, 10 Sep 2015 01:59:42 +0000 (18:59 -0700)]
Increase the run-test timeout for the read barrier config.

ThreadStress sometimes times out without hanging.

Bug: 23485091
Change-Id: Id6833c7887ece74aebafc6e1d5a8c772d7e0ae62

8 years agoMerge "Induction variable range analysis."
Aart Bik [Thu, 10 Sep 2015 17:33:44 +0000 (17:33 +0000)]
Merge "Induction variable range analysis."

8 years agoInduction variable range analysis.
Aart Bik [Tue, 8 Sep 2015 22:25:15 +0000 (15:25 -0700)]
Induction variable range analysis.

Rationale: by computing an upper bound on the trip count of each
           loop after induction var analysis has completed, a
   simple range analysis yields lower and upper bounds on
   all induced expressions in a loop; this analysis
   plugs directly into BCE (follow-up CL).

Change-Id: I46a3fe48721ca372547199b39a3498c47992597d

8 years agoMerge "Add extra options to tools/run-jdwp-tests.sh"
Sebastien Hertz [Thu, 10 Sep 2015 10:31:05 +0000 (10:31 +0000)]
Merge "Add extra options to tools/run-jdwp-tests.sh"

8 years agoAdd extra options to tools/run-jdwp-tests.sh
Sebastien Hertz [Thu, 10 Sep 2015 10:03:51 +0000 (12:03 +0200)]
Add extra options to tools/run-jdwp-tests.sh

Adds options for local debugging:
--verbose: passes '-verbose:jdwp' to the debuggee command-line to
           enable JDWP verbose logs.
--test <name>: runs a specific test instead of the whole test
               suite.

Change-Id: Ia04dd26c16c0b6733bb1c8a1b15ec585a24872c8

8 years agoMerge "ART: Add missing GetInterfaceMethodIfProxy"
Andreas Gampe [Wed, 9 Sep 2015 17:15:23 +0000 (17:15 +0000)]
Merge "ART: Add missing GetInterfaceMethodIfProxy"

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 "Revert "Revert "Do a second check for testing intrinsic types."""
Andreas Gampe [Wed, 9 Sep 2015 16:39:16 +0000 (16:39 +0000)]
Merge "Revert "Revert "Do a second check for testing intrinsic types."""

8 years agoMerge "Add dex_pc to all HInstructions in builder."
Nicolas Geoffray [Wed, 9 Sep 2015 13:16:59 +0000 (13:16 +0000)]
Merge "Add dex_pc to all HInstructions in builder."

8 years agoAdd dex_pc to all HInstructions in builder.
Yevgeny Rouban [Mon, 7 Sep 2015 11:57:00 +0000 (17:57 +0600)]
Add dex_pc to all HInstructions in builder.

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 patch makes all HInstructions contain
dex_pc and all allocations in the builder define this value.

Change-Id: I1d14aefe075189b7b1b41b4384c3499474c19afc
Signed-off-by: Yevgeny Rouban <yevgeny.y.rouban@intel.com>
Signed-off-by: Serdjuk, Nikolay Y <nikolay.y.serdjuk@intel.com>
8 years agoMerge "[optimizing] Add support for x86 constant area"
Nicolas Geoffray [Wed, 9 Sep 2015 10:04:41 +0000 (10:04 +0000)]
Merge "[optimizing] Add support for x86 constant area"

8 years agoRevert "Revert "Do a second check for testing intrinsic types.""
Andreas Gampe [Tue, 1 Sep 2015 15:45:02 +0000 (15:45 +0000)]
Revert "Revert "Do a second check for testing intrinsic types.""

This reverts commit a14b9fef395b94fa9a32147862c198fe7c22e3d7.

When an intrinsic with invoke-type virtual is recognized, replace
the instruction with a new HInvokeStaticOrDirect.

Minimal update for dex-cache rework. Fix includes.

Change-Id: I1c8e735a2fa7cda4419f76ca0717125ef236d332

8 years agoMerge "Allow null current thread in jni weak ref decode during shutdown."
Hiroshi Yamauchi [Wed, 9 Sep 2015 01:35:11 +0000 (01:35 +0000)]
Merge "Allow null current thread in jni weak ref decode during shutdown."

8 years agoAllow null current thread in jni weak ref decode during shutdown.
Hiroshi Yamauchi [Wed, 9 Sep 2015 00:50:48 +0000 (17:50 -0700)]
Allow null current thread in jni weak ref decode during shutdown.

Fix a crash during a runtime shutdown for the read barrier config.

Bug: 23897251
Bug: 12687968
Change-Id: Iea0888cb6d052d4becddba289dc0ed121461e97d

8 years ago[optimizing] Add support for x86 constant area
Mark Mendell [Fri, 17 Apr 2015 16:49:27 +0000 (12:49 -0400)]
[optimizing] Add support for x86 constant area

Use the Quick trick of finding the address of the method by calling the
next instruction and popping the return address into a register.  This
trick is used because of the lack of PC-relative addressing in 32 bit
mode on the X86.

Add a HX86ComputeBaseMethodAddress instruction to trigger generation
of the method address, which is referenced by instructions needing
access to the constant area.

Add a HX86LoadFromConstantTable instruction that takes a
HX86ComputeBaseMethodAddress and a HConstant that will be used to load
the value when needed.

Change Add/Sub/Mul/Div to detect a HX86LoadFromConstantTable right hand
side, and generate code that directly references the constant area.
Other uses will be added later.

Change the inputs to HReturn and HInvoke(s), replacing the FP constants
with HX86LoadFromConstantTable instead.  This allows values to be
loaded from the constant area into the right location.

Port the X86_64 assembler constant area handling to the X86.

Use the new per-backend optimization framework to do this conversion.

Change-Id: I6d235a72238262e4f9ec0f3c88319a187f865932
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
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"""