OSDN Git Service

android-x86/art.git
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 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 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 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

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 agoQuick: Fix LoopRepeatingTopologicalSortIterator.
Vladimir Marko [Mon, 8 Jun 2015 15:39:02 +0000 (16:39 +0100)]
Quick: Fix LoopRepeatingTopologicalSortIterator.

Always push the loop head on the loop head stack. This fixes
a bug where we failed to return to an unnatural loop head to
recalculate its GVN data.

Bug: 17410955
Change-Id: I3a2c3225e5d16268c3f56f7f90228759c7da37a9

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 agoPass current method to HNewInstance and HNewArray.
Nicolas Geoffray [Mon, 8 Jun 2015 14:35:07 +0000 (15:35 +0100)]
Pass current method to HNewInstance and HNewArray.

Also remove unsed CodeGenerator::LoadCurrentMethod.

Change-Id: I4b8d3f2a30b8e2c76b6b329a72555483c993cb73

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."