OSDN Git Service

android-x86/art.git
9 years agoOptimizing: Move optimization objects to Arena.
Vladimir Marko [Fri, 12 Jun 2015 13:30:53 +0000 (14:30 +0100)]
Optimizing: Move optimization objects to Arena.

This should reduce the stack size needed by the
OptimizingCompiler::CompileOptimized() which was very
close to our limits for clang builds, causing repeated
build breakages on otherwise healthy changes:
    art/compiler/optimizing/optimizing_compiler.cc:395:37:
    error: stack frame size of 1760 bytes in function
    'art::OptimizingCompiler::CompileOptimized'
    [-Werror,-Wframe-larger-than=]

Change-Id: I2f4ab0235f4eac61823a4a320bb4fe78942a23c2

9 years agoMerge "Preserve class loading semantics in optimizing."
Nicolas Geoffray [Fri, 12 Jun 2015 12:15:30 +0000 (12:15 +0000)]
Merge "Preserve class loading semantics in optimizing."

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

9 years agoRevert "Bring ReferenceTypePropagation to HInvoke return types"
Calin Juravle [Fri, 12 Jun 2015 12:13:43 +0000 (12:13 +0000)]
Revert "Bring ReferenceTypePropagation to HInvoke return types"

We exceed stack frame size with Clang in art::OptimizingCompiler::CompileOptimized

This reverts commit ddedddcedaae78fc6aa29940fdb1fbe40bb05774.

Change-Id: I6f992dda228acb9cae2087d1e6c78f2afdf30050

9 years agoMerge "Revert "Fix a checker test""
Calin Juravle [Fri, 12 Jun 2015 12:13:22 +0000 (12:13 +0000)]
Merge "Revert "Fix a checker test""

9 years agoRevert "Fix a checker test"
Calin Juravle [Fri, 12 Jun 2015 12:13:10 +0000 (12:13 +0000)]
Revert "Fix a checker test"

We exceed stack frame size with Clang in art::OptimizingCompiler::CompileOptimized

This reverts commit 240d84d5b8fbfedef5fee45b490042b9c66bd6f6.

Change-Id: I6a5717682cbc5e6345399da8c1503fd736764ac7

9 years agoMerge "Explicitly give the path of the library to build."
Nicolas Geoffray [Fri, 12 Jun 2015 11:43:05 +0000 (11:43 +0000)]
Merge "Explicitly give the path of the library to build."

9 years agoExplicitly give the path of the library to build.
Nicolas Geoffray [Fri, 12 Jun 2015 11:41:42 +0000 (12:41 +0100)]
Explicitly give the path of the library to build.

Otherwise the build system would not build the 32bit version
for ART 32 bit.

Change-Id: Ie2b48bb94d4fc9ce1a9590c1e8bacd382db16d8c

9 years agoMerge "Optimizing: Remove PcInfo, use the StackMapStream instead."
Vladimir Marko [Fri, 12 Jun 2015 11:06:05 +0000 (11:06 +0000)]
Merge "Optimizing: Remove PcInfo, use the StackMapStream instead."

9 years agoMerge "JDWP: asynchronous invoke command handling"
Sebastien Hertz [Fri, 12 Jun 2015 10:40:56 +0000 (10:40 +0000)]
Merge "JDWP: asynchronous invoke command handling"

9 years agoMerge "Fix a checker test"
Calin Juravle [Fri, 12 Jun 2015 09:59:14 +0000 (09:59 +0000)]
Merge "Fix a checker test"

9 years agoFix a checker test
Calin Juravle [Fri, 12 Jun 2015 09:57:04 +0000 (10:57 +0100)]
Fix a checker test

Change-Id: I47a24352922ab32d4a07d6d32b5126d03c8f497f

9 years agoPreserve class loading semantics in optimizing.
Nicolas Geoffray [Fri, 12 Jun 2015 08:35:05 +0000 (09:35 +0100)]
Preserve class loading semantics in optimizing.

We were being too agressive in removing HLoadClass instructions.
A HInvokeStaticOrDirect can only remove it if it's directly before it.

bug: 21711097
Change-Id: Id63502d90e11da60eccfb46daca62e0d5d022119

9 years agoMerge "Bring ReferenceTypePropagation to HInvoke return types"
Calin Juravle [Fri, 12 Jun 2015 09:38:51 +0000 (09:38 +0000)]
Merge "Bring ReferenceTypePropagation to HInvoke return types"

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 "Add libjavacoretests.so to the things to build."
Nicolas Geoffray [Fri, 12 Jun 2015 09:24:30 +0000 (09:24 +0000)]
Merge "Add libjavacoretests.so to the things to build."

9 years agoAdd libjavacoretests.so to the things to build.
Nicolas Geoffray [Fri, 12 Jun 2015 09:23:30 +0000 (10:23 +0100)]
Add libjavacoretests.so to the things to build.

Needed for runing dalvik.system tests.

Change-Id: I6bd08b436bd560bff946586802028ab386bc6ec8

9 years agoMerge "Add dalvik.system to run-libcore-tests.sh"
Nicolas Geoffray [Fri, 12 Jun 2015 07:55:49 +0000 (07:55 +0000)]
Merge "Add dalvik.system to run-libcore-tests.sh"

9 years agoMerge "Don't run 098-ddmc, it's flaky."
Nicolas Geoffray [Fri, 12 Jun 2015 07:46:30 +0000 (07:46 +0000)]
Merge "Don't run 098-ddmc, it's flaky."

9 years agoDon't run 098-ddmc, it's flaky.
Nicolas Geoffray [Fri, 12 Jun 2015 07:38:20 +0000 (08:38 +0100)]
Don't run 098-ddmc, it's flaky.

Change-Id: I3fa559f84b2c3a1ce9b07b8d3a27723dc84b3a3e

9 years agoAdd dalvik.system to run-libcore-tests.sh
Brian Carlstrom [Thu, 11 Jun 2015 14:33:51 +0000 (07:33 -0700)]
Add dalvik.system to run-libcore-tests.sh

Change-Id: I64c5dfb7fbb0c337befb57e2d7bebc14b022cf85

9 years agoMerge "Skip 098-ddmc for GC stress test"
Mathieu Chartier [Fri, 12 Jun 2015 00:59:40 +0000 (00:59 +0000)]
Merge "Skip 098-ddmc for GC stress test"

9 years agoSkip 098-ddmc for GC stress test
Man Cao [Thu, 11 Jun 2015 22:55:43 +0000 (15:55 -0700)]
Skip 098-ddmc for GC stress test

And add comment about the temporary fix in 098-ddmc because of behavior
change for DDMS's getRecentAllocations().

Also fixed a buggy typo in Android.run-test.mk.

Bug: 20037135
Change-Id: Ia57e03f458d8570690616d2cc49f2ead42a96cb0

9 years agoMerge "Fix compaction bug in Class_getDeclaredMethodsUnchecked"
Mathieu Chartier [Fri, 12 Jun 2015 00:16:23 +0000 (00:16 +0000)]
Merge "Fix compaction bug in Class_getDeclaredMethodsUnchecked"

9 years agoFix compaction bug in Class_getDeclaredMethodsUnchecked
Mathieu Chartier [Thu, 11 Jun 2015 23:21:42 +0000 (16:21 -0700)]
Fix compaction bug in Class_getDeclaredMethodsUnchecked

Added handle to fix the bug.

(cherry picked from commit b89a8c66e360575d2dc1ec1229235735c56968ff)

Bug: 21638351
Change-Id: I1c3abea33aa825d3a28c1fc5cb415508686ad93e

9 years agoMerge "Move image intern table into image"
Mathieu Chartier [Thu, 11 Jun 2015 22:20:08 +0000 (22:20 +0000)]
Merge "Move image intern table into image"

9 years agoMove image intern table into image
Mathieu Chartier [Wed, 10 Jun 2015 00:50:29 +0000 (17:50 -0700)]
Move image intern table into image

Previously we recreated this intern table during runtime startup.
This added 50-100ms of boot time.

Fixed bug where we didn't copy over hashcodes into the image.

Deleted some stale code.

(cherry picked from commit fac3a390a247fe33d4873773d742aad4cc100118)

Bug: 20727525
Bug: 19569780
Change-Id: I08959e9aa2a73cedb52f393033e2ffea3a26e76b

9 years agoMerge "Reset GC performance stats at zygote fork."
Hiroshi Yamauchi [Thu, 11 Jun 2015 21:46:50 +0000 (21:46 +0000)]
Merge "Reset GC performance stats at zygote fork."

9 years agoReset GC performance stats at zygote fork.
Hiroshi Yamauchi [Thu, 11 Jun 2015 00:20:54 +0000 (17:20 -0700)]
Reset GC performance stats at zygote fork.

So GCs before a zygote fork won't be attributed to an app.

(cherry pick commit  Ib37bc587e0f039ef8faeabe63dec19de49501863)

Bug: 21491908
Change-Id: Ib37bc587e0f039ef8faeabe63dec19de49501863

9 years agoMerge "Add hprof accounting for Class IMT, VTable"
Mathieu Chartier [Thu, 11 Jun 2015 20:23:23 +0000 (20:23 +0000)]
Merge "Add hprof accounting for Class IMT, VTable"

9 years agoAdd hprof accounting for Class IMT, VTable
Mathieu Chartier [Wed, 3 Jun 2015 23:51:09 +0000 (16:51 -0700)]
Add hprof accounting for Class IMT, VTable

These are now included in the classOverhead field which used to be
the staticOverhead field.

Bug: 20726205
Change-Id: I648db1bcaa393e3e907b1878f29631ad6b14a6e7

9 years agoMerge "runtime: Minor cleanup and extra comments around interpreter"
Igor Murashkin [Thu, 11 Jun 2015 18:46:20 +0000 (18:46 +0000)]
Merge "runtime: Minor cleanup and extra comments around interpreter"

9 years agoruntime: Minor cleanup and extra comments around interpreter
Igor Murashkin [Wed, 10 Jun 2015 22:56:42 +0000 (15:56 -0700)]
runtime: Minor cleanup and extra comments around interpreter

Change-Id: I24c0b261de8cf737babd9d01bf679482d48c8bc9

9 years agoMerge "Fix buildbot failure for 098-ddmc test"
Mathieu Chartier [Thu, 11 Jun 2015 17:12:07 +0000 (17:12 +0000)]
Merge "Fix buildbot failure for 098-ddmc test"

9 years agoMerge "Revert "art/tools: add new tests in security packages to the build bot""
Sergio Giro [Thu, 11 Jun 2015 16:00:54 +0000 (16:00 +0000)]
Merge "Revert "art/tools: add new tests in security packages to the build bot""

9 years agoRevert "art/tools: add new tests in security packages to the build bot"
Sergio Giro [Thu, 11 Jun 2015 16:00:11 +0000 (16:00 +0000)]
Revert "art/tools: add new tests in security packages to the build bot"

This reverts commit 7904aba5f8ab73c12e83f8e786556c0c77306810.

Change-Id: I06d81bbe415999933cc73d8431a1ceb72bbdc132

9 years agoMerge "art/tools: add new tests in security packages to the build bot"
Sergio Giro [Thu, 11 Jun 2015 13:54:59 +0000 (13:54 +0000)]
Merge "art/tools: add new tests in security packages to the build bot"

9 years agoart/tools: add new tests in security packages to the build bot
Sergio Giro [Wed, 10 Jun 2015 12:32:07 +0000 (13:32 +0100)]
art/tools: add new tests in security packages to the build bot

Otherwise, it's difficult to know when they start to fail

Test packages added:
com.android.org.conscrypt
libcore.java.security
libcore.javax.net

Bug: 21722374
Change-Id: I45e91239c5f8633943c515cc39978e4ee652ec3c

9 years agoMerge "Fix build breakage in dwarf_test."
Narayan Kamath [Thu, 11 Jun 2015 07:59:46 +0000 (07:59 +0000)]
Merge "Fix build breakage in dwarf_test."

9 years agoFix build breakage in dwarf_test.
Narayan Kamath [Thu, 11 Jun 2015 07:49:57 +0000 (08:49 +0100)]
Fix build breakage in dwarf_test.

Define a variable only if it's going to be used.

Change-Id: Id293f79bf986c79fb33daa3242388303c0fb1f08

9 years agoFix buildbot failure for 098-ddmc test
Man Cao [Thu, 11 Jun 2015 03:02:42 +0000 (20:02 -0700)]
Fix buildbot failure for 098-ddmc test

The test only failed on buildbot but not on my local machine. It is
possibly caused by GC reclaiming dead objects and associated allocation
records.

More importantly, the CL 153435 changes the behavior of recent allocation
tracking for DDMS, so that it now reports allocation records of not-yet-
garbaged-collected objects. They are a superset of live objects, but not
a precise set of the most recent allocations.

Bug: 20037135
Change-Id: I200a6c8baaeb98207845049902d59efa2f4ea11e

9 years agoMerge "ART: Fix BCE lint issue"
Andreas Gampe [Thu, 11 Jun 2015 01:38:38 +0000 (01:38 +0000)]
Merge "ART: Fix BCE lint issue"

9 years agoART: Fix BCE lint issue
Andreas Gampe [Thu, 11 Jun 2015 01:33:26 +0000 (18:33 -0700)]
ART: Fix BCE lint issue

Change-Id: I7f382a3124955eff5c0b96ca39ec67fb658fa3d0

9 years agoMerge "Generate debug info for core.oat files."
David Srbecky [Thu, 11 Jun 2015 00:50:29 +0000 (00:50 +0000)]
Merge "Generate debug info for core.oat files."

9 years agoGenerate debug info for core.oat files.
David Srbecky [Thu, 11 Jun 2015 00:27:56 +0000 (01:27 +0100)]
Generate debug info for core.oat files.

The debug info is needed for CFI unwinding tests.

I am adding this as part of investigating build bot failure,
I suspect the it might not be generating the debug info by default.

Change-Id: Ic0cdda345355161d44949308d6d70ff59542cc1e

9 years agoMerge "[MIPS] Fix method tracing for mips64"
Andreas Gampe [Thu, 11 Jun 2015 00:20:44 +0000 (00:20 +0000)]
Merge "[MIPS] Fix method tracing for mips64"

9 years agoMerge "Fix premature deoptimization if the loop body isn't entered."
Mingyao Yang [Wed, 10 Jun 2015 23:53:07 +0000 (23:53 +0000)]
Merge "Fix premature deoptimization if the loop body isn't entered."

9 years agoFix premature deoptimization if the loop body isn't entered.
Mingyao Yang [Tue, 19 May 2015 23:01:59 +0000 (16:01 -0700)]
Fix premature deoptimization if the loop body isn't entered.

Add a test between initial_ and end_ to see if the loop body is entered.
If the loop body isn't entered at all, we jump to the loop header. Loop header is
still executed and is going to test the condition again and loop body won't be
entered. This makes sure no deoptimization is triggered if the loop body isn't
even entered.

Bug: 21034044
Change-Id: I2b6de1f22fbc4568ca419f76382ebd87806d9694

9 years agoMerge "Revert "Revert "Test that we can unwind framework code."""
David Srbecky [Wed, 10 Jun 2015 23:12:32 +0000 (23:12 +0000)]
Merge "Revert "Revert "Test that we can unwind framework code."""

9 years agoMerge "run-test: add --never-clean option"
Igor Murashkin [Wed, 10 Jun 2015 23:10:56 +0000 (23:10 +0000)]
Merge "run-test: add --never-clean option"

9 years agorun-test: add --never-clean option
Igor Murashkin [Wed, 10 Jun 2015 22:57:17 +0000 (15:57 -0700)]
run-test: add --never-clean option

The --never-clean option forces the temporary directory created for
running the test to be retained after run-test finishes execution.

This is useful to help with debugging problems in your run, build,
run-test-jar, etc scripts.

Change-Id: Idc6c767521581deaa80674b583834af05bf027da

9 years agoMerge "Add more log output to the CFI test."
David Srbecky [Wed, 10 Jun 2015 22:34:34 +0000 (22:34 +0000)]
Merge "Add more log output to the CFI test."

9 years agoMerge "Add allocation stack traces for HPROF dump."
Mathieu Chartier [Wed, 10 Jun 2015 22:04:49 +0000 (22:04 +0000)]
Merge "Add allocation stack traces for HPROF dump."

9 years agoAdd allocation stack traces for HPROF dump.
Man Cao [Thu, 28 May 2015 00:25:30 +0000 (17:25 -0700)]
Add allocation stack traces for HPROF dump.

This feature is currently only enabled when DDMS's allocation tracking
is enabled. In the future there should be a way to enable this feature
before an application starts.

Also updates DDMS's recent allocation tracking to use a new backend
data structure that is shared with this feature.

The following system properties controls customizable parameters:
dalvik.vm.allocTrackerMax: max number of objects that have allocation
                           records, default 512K;

dalvik.vm.recentAllocMax:  max number of records that are sent to DDMS
                           when clicking "Get allocation" button,
                           default 64K-1 (limit of the protocol);

dalvik.vm.allocStackDepth: max number of stack frames in an allocation
                           record, default 4.

Bug: 20037135
Change-Id: I26ed378a5613678bd3c43e846025f90470a8e059

9 years agoRevert "Revert "Test that we can unwind framework code.""
David Srbecky [Wed, 10 Jun 2015 21:52:06 +0000 (21:52 +0000)]
Revert "Revert "Test that we can unwind framework code.""

This reverts commit 2c4733d647b24860e074aac4722d803da182adde.

Change-Id: I16a1eebe4b80363621edc1fcb55cdcf40fc3ac84

9 years agoAdd more log output to the CFI test.
David Srbecky [Wed, 10 Jun 2015 21:43:11 +0000 (22:43 +0100)]
Add more log output to the CFI test.

Change-Id: Iff2674eb9c889db4bbed4bd8af85b6df2cdd1da3

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: I9a7e974787cb8ba75b86bd07e8a37c5fe99911c3

9 years agoMerge "Revert "Revert "Support for inlining virtual and interface calls."""
Nicolas Geoffray [Wed, 10 Jun 2015 15:14:46 +0000 (15:14 +0000)]
Merge "Revert "Revert "Support for inlining virtual and interface calls."""

9 years agoRevert "Revert "Support for inlining virtual and interface calls.""
Nicolas Geoffray [Tue, 9 Jun 2015 09:37:32 +0000 (10:37 +0100)]
Revert "Revert "Support for inlining virtual and interface calls.""

It now works thanks to:
- https://android-review.googlesource.com/#/c/154016/ where
  the invoke type is changed.
- The new FindMethodIndexIn method in this change, that
  locates the right method index relative to the caller's
  dex file.

This reverts commit 6e4758615308bb525b6350c30468e33a2e1f2274.

Change-Id: Iddba11664a9241e210fec211cd2aed9f4b90d118

9 years ago[MIPS] Fix method tracing for mips64
Lazar Trsic [Wed, 10 Jun 2015 14:05:46 +0000 (16:05 +0200)]
[MIPS] Fix method tracing for mips64

Reg $v0 is being clobbered on using
SETUP_REFS_ONLY_CALLEE_SAVE_FRAME inside instrumentation_exit()
trampoline, when falling through from instrumentation_entry().

To fix, use $t1 for ArtMethod* fetching inside SETUP_ macros.

Also fix some unrelated comment errors.

Change-Id: I4ab169f75988c4f0d924416a30196f21c1a043a3

9 years agoMerge "Revert "art/tools: add new tests for the build bot""
Sergio Giro [Wed, 10 Jun 2015 14:16:29 +0000 (14:16 +0000)]
Merge "Revert "art/tools: add new tests for the build bot""

9 years agoRevert "art/tools: add new tests for the build bot"
Sergio Giro [Wed, 10 Jun 2015 14:16:13 +0000 (14:16 +0000)]
Revert "art/tools: add new tests for the build bot"

This reverts commit 10ec4f937e351bc21c0eebada30c6df3f8570406.

Was breaking many tests in the test environment.

Change-Id: I96cdbfe9620e4daff19ab448dc44e5315d89ebb7

9 years agoMerge "Add optimizations for instanceof/checkcast."
Nicolas Geoffray [Wed, 10 Jun 2015 14:14:42 +0000 (14:14 +0000)]
Merge "Add optimizations for instanceof/checkcast."

9 years agoMerge "Revert "art/tools: add new tests for the build bot""
Nicolas Geoffray [Wed, 10 Jun 2015 14:06:47 +0000 (14:06 +0000)]
Merge "Revert "art/tools: add new tests for the build bot""

9 years agoRevert "art/tools: add new tests for the build bot"
Nicolas Geoffray [Wed, 10 Jun 2015 14:06:31 +0000 (14:06 +0000)]
Revert "art/tools: add new tests for the build bot"

Unfortunately too many "localhost" netd failures.

This reverts commit 10ec4f937e351bc21c0eebada30c6df3f8570406.

Change-Id: Ibe28977e1e9f207f00a24f4c3167d08aa36cce5f

9 years agoAdd optimizations for instanceof/checkcast.
Guillaume Sanchez [Tue, 9 Jun 2015 17:33:02 +0000 (18:33 +0100)]
Add optimizations for instanceof/checkcast.

The optimizations try to statically determine the outcome of the
type tests, replacing/removing the instructions when possible.

This required to fix the is_exact flag for ReferenceTypePropagation.

Change-Id: I6cea29b6c351d118b62060e8420333085e9383fb

9 years agoMerge "art/tools: add new tests for the build bot"
Sergio Giro [Wed, 10 Jun 2015 11:40:08 +0000 (11:40 +0000)]
Merge "art/tools: add new tests for the build bot"

9 years agoart/tools: add new tests for the build bot
Sergio Giro [Fri, 5 Jun 2015 10:17:18 +0000 (11:17 +0100)]
art/tools: add new tests for the build bot

Otherwise, it's difficult to know when they start to fail

Bug: 21722374
Change-Id: I599e62ebafc28cf0dd60104c156f09ada8868bdc

9 years agoMerge "Add boilerplate code for architecture-specific HInstructions."
Nicolas Geoffray [Wed, 10 Jun 2015 09:46:53 +0000 (09:46 +0000)]
Merge "Add boilerplate code for architecture-specific HInstructions."

9 years agoAdd boilerplate code for architecture-specific HInstructions.
Alexandre Rames [Tue, 9 Jun 2015 09:29:30 +0000 (10:29 +0100)]
Add boilerplate code for architecture-specific HInstructions.

Change-Id: I2723cd96e5f03012c840863dd38d7b2168117db8

9 years agoJDWP: asynchronous invoke command handling
Sebastien Hertz [Mon, 1 Jun 2015 15:33:12 +0000 (17:33 +0200)]
JDWP: asynchronous invoke command handling

The JDWP thread used to wait for the result of a method invocation
running in an event thread. But doing that prevents the JDWP thread
from processing incoming commands from the debugger if the event
thread gets suspended by a debug event occurring in another thread.
In Android Studio (or another IDE), this leads to the debugger being
blocked (with the famous message "Waiting until last debugger command
completes" of Android Studio / IntelliJ) because it is actually
waiting for the reply of its latest command while the JDWP thread
cannot process it.

This CL changes the way invoke commands (ClassType.InvokeCommand,
ClassType.NewInstance and ObjectReference.InvokeCommand) are handled
in the ART runtime.
The JDWP thread no longer waits for the event thread to complete the
method invocation. It now simply waits for the next JDWP command to
process. This means it does not send any reply for invoke commands,
except if the information given by the debugger is wrong. In this
case, it still sends a reply with the appropriate error code.
The event thread is now responsible for sending the reply (containing
the result and the exception object of the invoked method) before
going back to the suspended state.

In other words, we add special handling for invoke commands so they
are handled asynchronously while other commands remained handled
synchronously. In the future, we may want to handle all commands
asynchronously (using a queue of reply/event for instance) to remove
the special handling code this CL is adding.

Now the JDWP thread can process commands while a thread is invoking
a method, it is possible for the debugger to detach (by sending a
VirtualMachine.Dispose command) before the invocation completes. In
that situation, we must not suspend threads again (including the
event thread that executed the method) because they would all remain
suspended forever.

Also minor cleanup of the use of JDWP constants and update comments.

Bug: 21515842
Bug: 18899981
Change-Id: I15e00fb068340f3d69dc9225d8d2065246e68c58

9 years agoMerge "Revert "Test that we can unwind framework code.""
David Srbecky [Wed, 10 Jun 2015 03:53:10 +0000 (03:53 +0000)]
Merge "Revert "Test that we can unwind framework code.""

9 years agoRevert "Test that we can unwind framework code."
David Srbecky [Wed, 10 Jun 2015 03:51:48 +0000 (03:51 +0000)]
Revert "Test that we can unwind framework code."

This reverts commit 5c40961dc2c7aa80a183e2eaa828580e0e89e2dd.

Change-Id: Ib4d827623fe76c9c3b639e7d1e205c7033fc2bc7

9 years agoMerge "Test that we can unwind framework code."
David Srbecky [Tue, 9 Jun 2015 23:16:19 +0000 (23:16 +0000)]
Merge "Test that we can unwind framework code."

9 years agoMerge "ART: Check long and double register pairs in invokes"
Andreas Gampe [Tue, 9 Jun 2015 23:00:48 +0000 (23:00 +0000)]
Merge "ART: Check long and double register pairs in invokes"

9 years agoMerge "Make dex file verifier check for dups between direct and virtual methods."
Jeff Hao [Tue, 9 Jun 2015 21:12:19 +0000 (21:12 +0000)]
Merge "Make dex file verifier check for dups between direct and virtual methods."

9 years agoMerge "Increase ulimit to 64MB for --no-relocate"
Mathieu Chartier [Tue, 9 Jun 2015 20:23:40 +0000 (20:23 +0000)]
Merge "Increase ulimit to 64MB for --no-relocate"

9 years agoIncrease ulimit to 64MB for --no-relocate
Mathieu Chartier [Tue, 9 Jun 2015 20:02:50 +0000 (13:02 -0700)]
Increase ulimit to 64MB for --no-relocate

Fixes hprof test.

Bug: 21730274
Change-Id: I70e49ca4a5d66414715e8ad894e3b5b5322052ee

9 years agoTest that we can unwind framework code.
David Srbecky [Mon, 8 Jun 2015 22:41:25 +0000 (23:41 +0100)]
Test that we can unwind framework code.

Change-Id: I8c0c6c14f3b95ac1fea6ca6a969a1baea80d55fc

9 years agoMake dex file verifier check for dups between direct and virtual methods.
Jeff Hao [Fri, 5 Jun 2015 01:12:26 +0000 (18:12 -0700)]
Make dex file verifier check for dups between direct and virtual methods.

The dex file verifier now rejects classes that have the same method index
in both direct and virtual methods.

Bug: 17878919
Change-Id: I431b4715e39ca2cce4df3ebef020b7ec0661a4c0

9 years agoART: Check long and double register pairs in invokes
Andreas Gampe [Sat, 6 Jun 2015 03:22:12 +0000 (20:22 -0700)]
ART: Check long and double register pairs in invokes

For invokes, ensure that long and double parameters are actually
in registers pairs. We were testing the pair, but skipping the
actual high parameter register.

Bug: 17410612
Change-Id: I8f4c3335ea8b7dc3cf252bee52a5a706ae8905f8

9 years agoMerge "Add support for inlining already sharpened interface calls."
Nicolas Geoffray [Tue, 9 Jun 2015 16:19:14 +0000 (16:19 +0000)]
Merge "Add support for inlining already sharpened interface calls."

9 years agoMerge "Bring back verbosity override"
Sebastien Hertz [Tue, 9 Jun 2015 16:05:14 +0000 (16:05 +0000)]
Merge "Bring back verbosity override"

9 years agoMerge "Follow up on CL 151605"
Sebastien Hertz [Tue, 9 Jun 2015 15:36:58 +0000 (15:36 +0000)]
Merge "Follow up on CL 151605"

9 years agoMerge "Revert "Revert "Pass current method to HNewInstance and HNewArray."""
Nicolas Geoffray [Tue, 9 Jun 2015 15:24:08 +0000 (15:24 +0000)]
Merge "Revert "Revert "Pass current method to HNewInstance and HNewArray."""

9 years agoFollow up on CL 151605
Sebastien Hertz [Tue, 9 Jun 2015 12:09:14 +0000 (14:09 +0200)]
Follow up on CL 151605

- Fixes return type of StackedShadowFrameRecord::GetType
- Makes StackedShadowFrameType an enum class (scoped enum)
- Moves DeoptimizationReturnValueRecord and StackedShadowFrameRecord
  to thread.cc file and use forward declaration in thread.h header
- Fixes tools/generate-operator-out.py for scoped enum classes.

Bug: 20845490
Change-Id: I6b67e288b1db563699161e58ec2e2330d42dd8f5

9 years agoRevert "Revert "Pass current method to HNewInstance and HNewArray.""
Nicolas Geoffray [Tue, 9 Jun 2015 09:34:25 +0000 (10:34 +0100)]
Revert "Revert "Pass current method to HNewInstance and HNewArray.""

Problem exposed by this change was fixed in:
https://android-review.googlesource.com/#/c/154031/

This reverts commit 7b0e353b49ac3f464c662f20e20e240f0231afff.

Change-Id: I680c13dc9db9ba223ab11c7af255222860b4e6d2

9 years agoMerge "Fix a crash in optimizing compiler with the current method."
Nicolas Geoffray [Tue, 9 Jun 2015 14:51:21 +0000 (14:51 +0000)]
Merge "Fix a crash in optimizing compiler with the current method."

9 years agoAdd support for inlining already sharpened interface calls.
Nicolas Geoffray [Tue, 9 Jun 2015 14:43:38 +0000 (15:43 +0100)]
Add support for inlining already sharpened interface calls.

Change-Id: Ia6b557c5e98e493b187b1f30da0c62449d9dd4d4

9 years agoFix a crash in optimizing compiler with the current method.
Nicolas Geoffray [Tue, 9 Jun 2015 13:12:28 +0000 (14:12 +0100)]
Fix a crash in optimizing compiler with the current method.

Crash was due to overwriting the location of the current method
in the slow path of an intrinsic.

Change-Id: I6ca58ef5b3cea19925e60b9500aef543bc5f71ef

9 years agoBring back verbosity override
Sebastien Hertz [Mon, 1 Jun 2015 06:28:18 +0000 (08:28 +0200)]
Bring back verbosity override

Brings back the possibility to override verbosity locally (after
command-line parser changes). Also adds a test for "-verbose:deopt"
command-line option.

Change-Id: I634d5226ef473ec4d965d620e973e9e677c0069d

9 years agoMerge "Revert "Pass current method to HNewInstance and HNewArray.""
Nicolas Geoffray [Tue, 9 Jun 2015 09:26:04 +0000 (09:26 +0000)]
Merge "Revert "Pass current method to HNewInstance and HNewArray.""

9 years agoRevert "Pass current method to HNewInstance and HNewArray."
Nicolas Geoffray [Tue, 9 Jun 2015 09:25:50 +0000 (09:25 +0000)]
Revert "Pass current method to HNewInstance and HNewArray."

082-inline-execute fails on x86.

This reverts commit e21aa42e1341d34250742abafdd83311ad9fa737.

Change-Id: Ib3fd25faee2e0128001e40d3d51a74f959bc4449

9 years agoMerge "Quick: Fix LoopRepeatingTopologicalSortIterator."
Vladimir Marko [Tue, 9 Jun 2015 09:05:36 +0000 (09:05 +0000)]
Merge "Quick: Fix LoopRepeatingTopologicalSortIterator."

9 years agoMerge "Pass current method to HNewInstance and HNewArray."
Nicolas Geoffray [Tue, 9 Jun 2015 08:13:15 +0000 (08:13 +0000)]
Merge "Pass current method to HNewInstance and HNewArray."

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