OSDN Git Service

android-x86/art.git
9 years agoam e2c05a27: Merge "ART: Refactor common ELF->InstructionSet code"
Andreas Gampe [Thu, 22 Jan 2015 18:05:23 +0000 (18:05 +0000)]
am e2c05a27: Merge "ART: Refactor common ELF->InstructionSet code"

* commit 'e2c05a276d7ad320f9cd259f56ae9dcc085ea917':
  ART: Refactor common ELF->InstructionSet code

9 years agoMerge "ART: Refactor common ELF->InstructionSet code"
Andreas Gampe [Thu, 22 Jan 2015 18:01:16 +0000 (18:01 +0000)]
Merge "ART: Refactor common ELF->InstructionSet code"

9 years agoam 746a0401: Merge "Improve error messages in art::GraphChecker and art::SSAChecker"
Roland Levillain [Thu, 22 Jan 2015 13:38:11 +0000 (13:38 +0000)]
am 746a0401: Merge "Improve error messages in art::GraphChecker and art::SSAChecker"

* commit '746a0401085d28440b5f724aa3678a0b3b5ed701':
  Improve error messages in art::GraphChecker and art::SSAChecker

9 years agoMerge "Improve error messages in art::GraphChecker and art::SSAChecker"
Roland Levillain [Thu, 22 Jan 2015 13:34:27 +0000 (13:34 +0000)]
Merge "Improve error messages in art::GraphChecker and art::SSAChecker"

9 years agoam 54aa4e57: Merge "ART: Fix GenInlined functions"
Vladimir Marko [Thu, 22 Jan 2015 10:53:34 +0000 (10:53 +0000)]
am 54aa4e57: Merge "ART: Fix GenInlined functions"

* commit '54aa4e578a382977325d654d5ae1bd779d443fc8':
  ART: Fix GenInlined functions

9 years agoMerge "ART: Fix GenInlined functions"
Vladimir Marko [Thu, 22 Jan 2015 10:47:35 +0000 (10:47 +0000)]
Merge "ART: Fix GenInlined functions"

9 years agoam c698b78a: Merge "Fix lint error."
Nicolas Geoffray [Thu, 22 Jan 2015 08:51:29 +0000 (08:51 +0000)]
am c698b78a: Merge "Fix lint error."

* commit 'c698b78a17043d8898deb817098181595fbe734e':
  Fix lint error.

9 years agoMerge "Fix lint error."
Nicolas Geoffray [Thu, 22 Jan 2015 08:46:43 +0000 (08:46 +0000)]
Merge "Fix lint error."

9 years agoFix lint error.
Nicolas Geoffray [Thu, 22 Jan 2015 08:46:05 +0000 (08:46 +0000)]
Fix lint error.

Change-Id: Iccba489098dd2a5b8796beefc781284006624f74

9 years agoam 77ed3432: Merge "Enable core callee-save on x64."
Nicolas Geoffray [Thu, 22 Jan 2015 08:34:07 +0000 (08:34 +0000)]
am 77ed3432: Merge "Enable core callee-save on x64."

* commit '77ed3432182f23625811800ee41859fac272c11e':
  Enable core callee-save on x64.

9 years agoMerge "Enable core callee-save on x64."
Nicolas Geoffray [Thu, 22 Jan 2015 08:30:11 +0000 (08:30 +0000)]
Merge "Enable core callee-save on x64."

9 years agoam 0ff51b15: Merge "Follow up on CL 123650"
Sebastien Hertz [Thu, 22 Jan 2015 07:29:44 +0000 (07:29 +0000)]
am 0ff51b15: Merge "Follow up on CL 123650"

* commit '0ff51b15be8f0baf3bd1bc1f29f2988f297df443':
  Follow up on CL 123650

9 years agoMerge "Follow up on CL 123650"
Sebastien Hertz [Thu, 22 Jan 2015 07:25:17 +0000 (07:25 +0000)]
Merge "Follow up on CL 123650"

9 years agoART: Refactor common ELF->InstructionSet code
Andreas Gampe [Thu, 22 Jan 2015 06:25:24 +0000 (22:25 -0800)]
ART: Refactor common ELF->InstructionSet code

Move code into instruction_set.h/cc.

Change-Id: I34d5c82791042c68629df84e0f4b9321231d51b9

9 years agoam 3cfbb4af: Merge "Clean-up 116-nodex2oat unit test"
Brian Carlstrom [Thu, 22 Jan 2015 00:39:36 +0000 (00:39 +0000)]
am 3cfbb4af: Merge "Clean-up 116-nodex2oat unit test"

* commit '3cfbb4aff30f32e49b3b57c7483ee0b5cb580e7b':
  Clean-up 116-nodex2oat unit test

9 years agoMerge "Clean-up 116-nodex2oat unit test"
Brian Carlstrom [Thu, 22 Jan 2015 00:33:03 +0000 (00:33 +0000)]
Merge "Clean-up 116-nodex2oat unit test"

9 years agoART: Fix GenInlined functions
Chao-ying Fu [Mon, 19 Jan 2015 23:51:57 +0000 (15:51 -0800)]
ART: Fix GenInlined functions

This patch fixes Mir2Lir::GenInlinedReverseBytes,
Mir2Lir::GenInlinedAbsInt, Mir2Lir::GenInlinedAbsLong,
Mir2Lir::GenInlinedFloatCvt, Mir2Lir::GenInlinedDoubleCvt,
X86Mir2Lir::GenInlinedSqrt, X86Mir2Lir::GenInlinedMinMaxFP,
X86Mir2Lir::GenInlinedMinMax, X86Mir2Lir::GenInlinedPeek,
and X86Mir2Lir::GenInlinedReverseBits to generate no code, when results
are unused.
New calls without assignments are added to 082-inline-execute.

Change-Id: I7076e9ddbea43545315f2aeb677c63a8a6e95224
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
9 years agoClean-up 116-nodex2oat unit test
Serguei Katkov [Mon, 24 Nov 2014 07:22:26 +0000 (13:22 +0600)]
Clean-up 116-nodex2oat unit test

Running with prebuilt is added to black-list, so no need to handle
this in the test itself.

Change-Id: I334f291eb4ec2703dbb1f1e4575232fa67ab7fb8
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoam 4ec565ff: Merge "ART: Fix stub_test"
Andreas Gampe [Wed, 21 Jan 2015 22:58:29 +0000 (22:58 +0000)]
am 4ec565ff: Merge "ART: Fix stub_test"

* commit '4ec565ff67376893726f8472a3db618ada78573e':
  ART: Fix stub_test

9 years agoam 59add47c: Merge "Allow std::function<return_type(arg_type)> patterns in cpplint."
Roland Levillain [Wed, 21 Jan 2015 22:58:09 +0000 (22:58 +0000)]
am 59add47c: Merge "Allow std::function<return_type(arg_type)> patterns in cpplint."

* commit '59add47cabce3735ccd470cd3b5dac8b112e09ab':
  Allow std::function<return_type(arg_type)> patterns in cpplint.

9 years agoam 9dec5a74: Merge "ART: Replace NULL to nullptr in the optimizing compiler"
Roland Levillain [Wed, 21 Jan 2015 22:58:02 +0000 (22:58 +0000)]
am 9dec5a74: Merge "ART: Replace NULL to nullptr in the optimizing compiler"

* commit '9dec5a74014e96d41f84373990b4d4ac83206a88':
  ART: Replace NULL to nullptr in the optimizing compiler

9 years agoam b6b114c0: Merge "Do not use HNot for creating !bool."
Nicolas Geoffray [Wed, 21 Jan 2015 22:58:01 +0000 (22:58 +0000)]
am b6b114c0: Merge "Do not use HNot for creating !bool."

* commit 'b6b114c02b8bacd3b5d64e646fdaefa03c069c61':
  Do not use HNot for creating !bool.

9 years agoam 73d8fe40: Merge "ART: Create a RemoveBlock method"
Roland Levillain [Wed, 21 Jan 2015 22:57:59 +0000 (22:57 +0000)]
am 73d8fe40: Merge "ART: Create a RemoveBlock method"

* commit '73d8fe409fbf2cb9665779690660ccc852d60431':
  ART: Create a RemoveBlock method

9 years agoam 36e8a91d: Merge "Revert "Revert "Fully support pairs in the register allocator."""
Nicolas Geoffray [Wed, 21 Jan 2015 22:57:49 +0000 (22:57 +0000)]
am 36e8a91d: Merge "Revert "Revert "Fully support pairs in the register allocator."""

* commit '36e8a91d975b4096b40c2b4bb6c6cd663cc5166d':
  Revert "Revert "Fully support pairs in the register allocator.""

9 years agoam f3f62f26: Merge "Update instrumentation stubs on resolved classes"
Sebastien Hertz [Wed, 21 Jan 2015 22:57:48 +0000 (22:57 +0000)]
am f3f62f26: Merge "Update instrumentation stubs on resolved classes"

* commit 'f3f62f2690445e13631049bee44bf96c9d5b1f29':
  Update instrumentation stubs on resolved classes

9 years agoam 22c92851: Merge "Record implicit null checks at the actual invoke time."
Calin Juravle [Wed, 21 Jan 2015 22:57:47 +0000 (22:57 +0000)]
am 22c92851: Merge "Record implicit null checks at the actual invoke time."

* commit '22c9285142169691eb2a9e2d4a49751fc7e57c2a':
  Record implicit null checks at the actual invoke time.

9 years agoam 1147eeed: Merge "Update expectations after test change."
Nicolas Geoffray [Wed, 21 Jan 2015 22:57:45 +0000 (22:57 +0000)]
am 1147eeed: Merge "Update expectations after test change."

* commit '1147eeed2ffc82ac9b1405f9fb0a6cbc8560c42b':
  Update expectations after test change.

9 years agoam 4d2c611b: Merge "Revert "Fully support pairs in the register allocator.""
Nicolas Geoffray [Wed, 21 Jan 2015 22:57:38 +0000 (22:57 +0000)]
am 4d2c611b: Merge "Revert "Fully support pairs in the register allocator.""

* commit '4d2c611bf17ff309abfa152e56c0b98a21ec8787':
  Revert "Fully support pairs in the register allocator."

9 years agoam 1272d427: Merge "Fully support pairs in the register allocator."
Nicolas Geoffray [Wed, 21 Jan 2015 22:57:35 +0000 (22:57 +0000)]
am 1272d427: Merge "Fully support pairs in the register allocator."

* commit '1272d4272676005acfcbde25b4eddca64463612b':
  Fully support pairs in the register allocator.

9 years agoam 86657bef: Merge "[optimizing compiler] Implement inline x86 FP \'%\'"
Calin Juravle [Wed, 21 Jan 2015 22:57:34 +0000 (22:57 +0000)]
am 86657bef: Merge "[optimizing compiler] Implement inline x86 FP \'%\'"

* commit '86657befce55a928c39feebfff9bdf3014d73fba':
  [optimizing compiler] Implement inline x86 FP '%'

9 years agoam 97c89e4c: Merge "Use CompilerOptions for implicit stack overflow checks"
Calin Juravle [Wed, 21 Jan 2015 22:57:31 +0000 (22:57 +0000)]
am 97c89e4c: Merge "Use CompilerOptions for implicit stack overflow checks"

* commit '97c89e4c081dcf4bacbde70b6609e366c9da417e':
  Use CompilerOptions for implicit stack overflow checks

9 years agoMerge "ART: Fix stub_test"
Andreas Gampe [Wed, 21 Jan 2015 21:17:43 +0000 (21:17 +0000)]
Merge "ART: Fix stub_test"

9 years agoART: Fix stub_test
Andreas Gampe [Wed, 21 Jan 2015 20:23:50 +0000 (12:23 -0800)]
ART: Fix stub_test

Change x86-64 inline assembly to work with fno-omit-frame-pointer.

Bug: 18722517
Change-Id: I2ddb80abc9ada63fe5de9ccdd12b37df5c0001b7

9 years agoEnable core callee-save on x64.
Nicolas Geoffray [Wed, 21 Jan 2015 12:32:32 +0000 (12:32 +0000)]
Enable core callee-save on x64.

Will work on other architectures and FP support in other CLs.

Change-Id: I8cef0343eedc7202d206f5217fdf0349035f0e4d

9 years agoMerge "Allow std::function<return_type(arg_type)> patterns in cpplint."
Roland Levillain [Wed, 21 Jan 2015 18:25:13 +0000 (18:25 +0000)]
Merge "Allow std::function<return_type(arg_type)> patterns in cpplint."

9 years agoMerge "ART: Replace NULL to nullptr in the optimizing compiler"
Roland Levillain [Wed, 21 Jan 2015 17:36:33 +0000 (17:36 +0000)]
Merge "ART: Replace NULL to nullptr in the optimizing compiler"

9 years agoMerge "Do not use HNot for creating !bool."
Nicolas Geoffray [Wed, 21 Jan 2015 17:33:43 +0000 (17:33 +0000)]
Merge "Do not use HNot for creating !bool."

9 years agoART: Replace NULL to nullptr in the optimizing compiler
Jean Christophe Beyler [Thu, 4 Dec 2014 19:20:20 +0000 (11:20 -0800)]
ART: Replace NULL to nullptr in the optimizing compiler

Replace macro NULL to the nullptr variation for C++.

Change-Id: Ib6e48dd4bb3c254343383011b67372622578ca76
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
9 years agoMerge "ART: Create a RemoveBlock method"
Roland Levillain [Wed, 21 Jan 2015 17:26:11 +0000 (17:26 +0000)]
Merge "ART: Create a RemoveBlock method"

9 years agoDo not use HNot for creating !bool.
Nicolas Geoffray [Wed, 21 Jan 2015 15:44:16 +0000 (15:44 +0000)]
Do not use HNot for creating !bool.

HNot folds to ~, not !.

Change-Id: I681f968449a2ade7110b2f316146ad16ba5da74c

9 years agoFollow up on CL 123650
Sebastien Hertz [Wed, 21 Jan 2015 16:30:58 +0000 (17:30 +0100)]
Follow up on CL 123650

Change-Id: If575fdb9cc73e312e222e6853890e8dacd83b284

9 years agoMerge "Revert "Revert "Fully support pairs in the register allocator."""
Nicolas Geoffray [Wed, 21 Jan 2015 16:00:39 +0000 (16:00 +0000)]
Merge "Revert "Revert "Fully support pairs in the register allocator."""

9 years agoRevert "Revert "Fully support pairs in the register allocator.""
Nicolas Geoffray [Wed, 21 Jan 2015 14:56:54 +0000 (14:56 +0000)]
Revert "Revert "Fully support pairs in the register allocator.""

This reverts commit c399fdc442db82dfda66e6c25518872ab0f1d24f.

Change-Id: I19f8215c4b98f2f0827e04bf7806c3ca439794e5

9 years agoMerge "Update instrumentation stubs on resolved classes"
Sebastien Hertz [Wed, 21 Jan 2015 15:12:32 +0000 (15:12 +0000)]
Merge "Update instrumentation stubs on resolved classes"

9 years agoMerge "Record implicit null checks at the actual invoke time."
Calin Juravle [Wed, 21 Jan 2015 14:37:15 +0000 (14:37 +0000)]
Merge "Record implicit null checks at the actual invoke time."

9 years agoRecord implicit null checks at the actual invoke time.
Calin Juravle [Mon, 12 Jan 2015 18:45:46 +0000 (18:45 +0000)]
Record implicit null checks at the actual invoke time.

ImplicitNullChecks are recorded only for instructions directly (see NB
below) preceeded by NullChecks in the graph. This way we avoid recording
redundant safepoints and minimize the code size increase.

NB: ParallalelMoves might be inserted by the register allocator between
the NullChecks and their uses. These modify the environment and the
correct action would be to reverse their modification. This will be
addressed in a follow-up CL.

Change-Id: Ie50006e5a4bd22932dcf11348f5a655d253cd898

9 years agoMerge "Update expectations after test change."
Nicolas Geoffray [Wed, 21 Jan 2015 14:08:16 +0000 (14:08 +0000)]
Merge "Update expectations after test change."

9 years agoUpdate expectations after test change.
Nicolas Geoffray [Wed, 21 Jan 2015 14:04:31 +0000 (14:04 +0000)]
Update expectations after test change.

Change-Id: Ide5d1257f00b31e46020f5989690b662fbf72258

9 years agoMerge "Revert "Fully support pairs in the register allocator.""
Nicolas Geoffray [Wed, 21 Jan 2015 12:43:10 +0000 (12:43 +0000)]
Merge "Revert "Fully support pairs in the register allocator.""

9 years agoRevert "Fully support pairs in the register allocator."
Nicolas Geoffray [Wed, 21 Jan 2015 12:42:57 +0000 (12:42 +0000)]
Revert "Fully support pairs in the register allocator."

Libcore tests fail.

This reverts commit 41aedbb684ccef76ff8373f39aba606ce4cb3194.

Change-Id: I2572f120d4bbaeb7a4d4cbfd47ab00c9ea39ac6c

9 years agoImprove error messages in art::GraphChecker and art::SSAChecker
Roland Levillain [Wed, 21 Jan 2015 11:39:58 +0000 (11:39 +0000)]
Improve error messages in art::GraphChecker and art::SSAChecker

- Add an art::GraphChecker::AddError helper.
- Use StringPrintf instead of std::stringstream.
- Rephrase some error messages.

Change-Id: Ia741e9e67cb5122f086a7383a2bc02d60ca637df

9 years agoMerge "Fully support pairs in the register allocator."
Nicolas Geoffray [Wed, 21 Jan 2015 11:28:52 +0000 (11:28 +0000)]
Merge "Fully support pairs in the register allocator."

9 years agoFully support pairs in the register allocator.
Nicolas Geoffray [Wed, 14 Jan 2015 10:49:16 +0000 (10:49 +0000)]
Fully support pairs in the register allocator.

Enabled on ARM for longs and doubles.

Change-Id: Id8792d08bd7ca9fb049c5db8a40ae694bafc2d8b

9 years agoMerge "[optimizing compiler] Implement inline x86 FP '%'"
Calin Juravle [Wed, 21 Jan 2015 11:01:41 +0000 (11:01 +0000)]
Merge "[optimizing compiler] Implement inline x86 FP '%'"

9 years ago[optimizing compiler] Implement inline x86 FP '%'
Mark Mendell [Thu, 15 Jan 2015 00:51:45 +0000 (19:51 -0500)]
[optimizing compiler] Implement inline x86 FP '%'

Replace the calls to fmod/fmodf by inline code as is done in the Quick
compiler.

Remove the quick fmod/fmodf runtime entries, as they are no longer in
use.

64 bit code generator Move() routine needed to be enhanced to handle
constants, as Location::Any() allows them to be generated.

Change-Id: I6b6a42f6faeed4b0b3c940453e487daf5b25d184
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "Use CompilerOptions for implicit stack overflow checks"
Calin Juravle [Wed, 21 Jan 2015 10:53:19 +0000 (10:53 +0000)]
Merge "Use CompilerOptions for implicit stack overflow checks"

9 years agoam 2005655e: Merge "ART: Fix arm64 backend"
Andreas Gampe [Wed, 21 Jan 2015 02:15:51 +0000 (02:15 +0000)]
am 2005655e: Merge "ART: Fix arm64 backend"

* commit '2005655e8c1542f5b7d56ad0ab44872590bc8d07':
  ART: Fix arm64 backend

9 years agoam b061b894: Merge "ART: Make ProcessStrings less noisy"
Andreas Gampe [Wed, 21 Jan 2015 02:15:50 +0000 (02:15 +0000)]
am b061b894: Merge "ART: Make ProcessStrings less noisy"

* commit 'b061b894260df6b68bb8a89ed4a1e85e576bb696':
  ART: Make ProcessStrings less noisy

9 years agoam 29c9063a: Merge "Clean up the locks around Heap::VisitObjects()."
Hiroshi Yamauchi [Wed, 21 Jan 2015 02:15:48 +0000 (02:15 +0000)]
am 29c9063a: Merge "Clean up the locks around Heap::VisitObjects()."

* commit '29c9063a250f3e4a36fdfb7d1ea860a90bd57df3':
  Clean up the locks around Heap::VisitObjects().

9 years agoMerge "ART: Fix arm64 backend"
Andreas Gampe [Wed, 21 Jan 2015 02:08:48 +0000 (02:08 +0000)]
Merge "ART: Fix arm64 backend"

9 years agoART: Fix arm64 backend
Andreas Gampe [Wed, 21 Jan 2015 02:06:47 +0000 (18:06 -0800)]
ART: Fix arm64 backend

Fix a register size problem after previous commit
f681570077563bb529a30f9e7c572b837cecfb83.

Change-Id: If04e647324bcd6fe279c25e70214a9f7c5b816ec

9 years agoMerge "ART: Make ProcessStrings less noisy"
Andreas Gampe [Wed, 21 Jan 2015 00:47:26 +0000 (00:47 +0000)]
Merge "ART: Make ProcessStrings less noisy"

9 years agoART: Make ProcessStrings less noisy
Andreas Gampe [Wed, 21 Jan 2015 00:17:19 +0000 (16:17 -0800)]
ART: Make ProcessStrings less noisy

Only print statistics in debug mode or when verbose-logging.

Bug: 19082662
Change-Id: Ibc1d336a5abe7a05fb37e8d3a9b9c9c8131e5bbc

9 years agoMerge "Clean up the locks around Heap::VisitObjects()."
Hiroshi Yamauchi [Wed, 21 Jan 2015 00:12:35 +0000 (00:12 +0000)]
Merge "Clean up the locks around Heap::VisitObjects()."

9 years agoam e355ab63: Merge "ART: Make some helpers non-virtual in Mir2Lir"
Andreas Gampe [Tue, 20 Jan 2015 23:49:07 +0000 (23:49 +0000)]
am e355ab63: Merge "ART: Make some helpers non-virtual in Mir2Lir"

* commit 'e355ab6374e546bcd388a7d54b67d3df493fdadb':
  ART: Make some helpers non-virtual in Mir2Lir

9 years agoMerge "ART: Make some helpers non-virtual in Mir2Lir"
Andreas Gampe [Tue, 20 Jan 2015 23:44:21 +0000 (23:44 +0000)]
Merge "ART: Make some helpers non-virtual in Mir2Lir"

9 years agoam c9aa8f88: Merge "ART: Curb dex2oat verbosity"
Andreas Gampe [Tue, 20 Jan 2015 23:19:35 +0000 (23:19 +0000)]
am c9aa8f88: Merge "ART: Curb dex2oat verbosity"

* commit 'c9aa8f88b7e710e90ac161654f1f5052aac44823':
  ART: Curb dex2oat verbosity

9 years agoMerge "ART: Curb dex2oat verbosity"
Andreas Gampe [Tue, 20 Jan 2015 22:58:31 +0000 (22:58 +0000)]
Merge "ART: Curb dex2oat verbosity"

9 years agoART: Curb dex2oat verbosity
Andreas Gampe [Tue, 20 Jan 2015 22:50:21 +0000 (14:50 -0800)]
ART: Curb dex2oat verbosity

Only print dedupe collisions in a debug build or on verbose logging.

Change-Id: I08bd04a453d95b6dba6cf6955b5741cd97daf480

9 years agoClean up the locks around Heap::VisitObjects().
Hiroshi Yamauchi [Sat, 17 Jan 2015 00:54:35 +0000 (16:54 -0800)]
Clean up the locks around Heap::VisitObjects().

This is so that we could support suspending all threads when visiting
objects in the presence of a concurrent, moving collector.

Bug: 12687968
Change-Id: Icc8e60630465afde948ebc6ea91d4ebaff5d7837

9 years agoUse CompilerOptions for implicit stack overflow checks
Calin Juravle [Tue, 20 Jan 2015 20:14:07 +0000 (20:14 +0000)]
Use CompilerOptions for implicit stack overflow checks

Change-Id: I52744382a7e3d2c6c11a43e027d87bf43ec4e62b

9 years agoART: Make some helpers non-virtual in Mir2Lir
Andreas Gampe [Tue, 20 Jan 2015 17:53:48 +0000 (09:53 -0800)]
ART: Make some helpers non-virtual in Mir2Lir

These don't need to be virtual.

Change-Id: Idca3c0a4e8b5e045d354974bd993492d6c0e70ba

9 years agoam 97d9f286: Merge "ART: Some Quick cleanup"
Andreas Gampe [Tue, 20 Jan 2015 16:09:09 +0000 (16:09 +0000)]
am 97d9f286: Merge "ART: Some Quick cleanup"

* commit '97d9f286971a4c1eec70e08f9f18f990d21780d5':
  ART: Some Quick cleanup

9 years agoMerge "ART: Some Quick cleanup"
Andreas Gampe [Tue, 20 Jan 2015 16:02:40 +0000 (16:02 +0000)]
Merge "ART: Some Quick cleanup"

9 years agoART: Some Quick cleanup
Andreas Gampe [Sat, 17 Jan 2015 06:09:55 +0000 (22:09 -0800)]
ART: Some Quick cleanup

Move some definitions around. In case a method is already virtual,
avoid instruction-set tests.

Change-Id: I8d98f098e55ade1bc0cfa32bb2aad006caccd07d

9 years agoam 48aba684: Merge "Fix register allocator test."
Calin Juravle [Tue, 20 Jan 2015 13:00:53 +0000 (13:00 +0000)]
am 48aba684: Merge "Fix register allocator test."

* commit '48aba6847270221c3f189732ecc69a0258d3aaca':
  Fix register allocator test.

9 years agoMerge "Fix register allocator test."
Calin Juravle [Tue, 20 Jan 2015 12:55:47 +0000 (12:55 +0000)]
Merge "Fix register allocator test."

9 years agoFix register allocator test.
Calin Juravle [Tue, 20 Jan 2015 12:54:52 +0000 (12:54 +0000)]
Fix register allocator test.

Change-Id: I87481757d6f59bf2d6127571f58f11b5372b3a06

9 years agoam e7fd3e3a: Merge "Add implicit null checks for the optimizing compiler"
Calin Juravle [Tue, 20 Jan 2015 12:32:39 +0000 (12:32 +0000)]
am e7fd3e3a: Merge "Add implicit null checks for the optimizing compiler"

* commit 'e7fd3e3a8e7f10048b7ea558cc525331c97bbefa':
  Add implicit null checks for the optimizing compiler

9 years agoMerge "Add implicit null checks for the optimizing compiler"
Calin Juravle [Tue, 20 Jan 2015 12:28:09 +0000 (12:28 +0000)]
Merge "Add implicit null checks for the optimizing compiler"

9 years agoam 606a81aa: Merge "Ensure HCondition nodes on objects are either HEqual or HNotEqual"
Roland Levillain [Tue, 20 Jan 2015 10:57:34 +0000 (10:57 +0000)]
am 606a81aa: Merge "Ensure HCondition nodes on objects are either HEqual or HNotEqual"

* commit '606a81aab3b9289d37d828375793020b93718c6a':
  Ensure HCondition nodes on objects are either HEqual or HNotEqual

9 years agoMerge "Ensure HCondition nodes on objects are either HEqual or HNotEqual"
Roland Levillain [Tue, 20 Jan 2015 10:52:51 +0000 (10:52 +0000)]
Merge "Ensure HCondition nodes on objects are either HEqual or HNotEqual"

9 years agoam 3889897a: Merge "ART: Run Checker with Python >2.6"
David Brazdil [Tue, 20 Jan 2015 10:08:35 +0000 (10:08 +0000)]
am 3889897a: Merge "ART: Run Checker with Python >2.6"

* commit '3889897a1f040f4da006ea4248c36a3b6c132b96':
  ART: Run Checker with Python >2.6

9 years agoMerge "ART: Run Checker with Python >2.6"
David Brazdil [Tue, 20 Jan 2015 10:02:04 +0000 (10:02 +0000)]
Merge "ART: Run Checker with Python >2.6"

9 years agoART: Run Checker with Python >2.6
David Brazdil [Tue, 20 Jan 2015 09:28:38 +0000 (09:28 +0000)]
ART: Run Checker with Python >2.6

Chromium buildbots don't have Python 3. This patch fixes the uses
of print() and ASCII vs. Unicode strings to make Checker compatible
with Python 2.6 and above.

Change-Id: Ic065d990f668b8cf95a337aae037699e8474fcee

9 years agoam a943a75a: Merge "ART: Invoke Checker from run-test scripts"
David Brazdil [Tue, 20 Jan 2015 08:59:06 +0000 (08:59 +0000)]
am a943a75a: Merge "ART: Invoke Checker from run-test scripts"

* commit 'a943a75a890f43ff9517e13bb6c16de8bfa35d90':
  ART: Invoke Checker from run-test scripts

9 years agoMerge "ART: Invoke Checker from run-test scripts"
David Brazdil [Tue, 20 Jan 2015 08:54:09 +0000 (08:54 +0000)]
Merge "ART: Invoke Checker from run-test scripts"

9 years agoam 452773fe: Merge "Address review comments."
Nicolas Geoffray [Mon, 19 Jan 2015 17:44:08 +0000 (17:44 +0000)]
am 452773fe: Merge "Address review comments."

* commit '452773fec59e033da4bb258a64bd65bd2ae658e8':
  Address review comments.

9 years agoMerge "Address review comments."
Nicolas Geoffray [Mon, 19 Jan 2015 17:36:23 +0000 (17:36 +0000)]
Merge "Address review comments."

9 years agoAddress review comments.
Nicolas Geoffray [Mon, 19 Jan 2015 17:17:16 +0000 (17:17 +0000)]
Address review comments.

Comments were from:
https://android-review.googlesource.com/#/c/121992.

Change-Id: I8c59b30a356d606f12c50d0c8db916295a5c9e13

9 years agoUpdate instrumentation stubs on resolved classes
Sebastien Hertz [Thu, 15 Jan 2015 11:28:47 +0000 (12:28 +0100)]
Update instrumentation stubs on resolved classes

We cannot update methods of a class in the process of being loaded.
We need it to be fully resolved (kStatusResolved) so we can access
its complete structure (including method index) and the compiled
code from the oat file.

We ensure that by skipping classes that are not resolved yet when we
update instrumentation (with all threads suspended). The entrypoints
will be updated when the class gets resolved by the ClassLinker. We
also do not update method entrypoints of erroneous classes
(kStatusError) because we cannot execute code for these methods.

This situation can happen when the debugger requests an event that
will cause a full deoptimization (like a METHOD_ENTRY event) while we
are loading a new class. Because we suspend all threads to update
instrumentation, we may visit a class that is being loaded but not
yet resolved.

Bug: 19012386
Bug: 18766029
Change-Id: I5a645dfaf5c25dcf4282c1aaeb24f1b6333baa37

9 years agoART: Invoke Checker from run-test scripts
David Brazdil [Thu, 15 Jan 2015 19:07:08 +0000 (19:07 +0000)]
ART: Invoke Checker from run-test scripts

This patch moves Checker-based tests of the optimizing compiler into
the art/test directory and modifies the run-test scripts to dump
the CFG during compilation and to verify the graph using Checker as
part of the "running" stage. Outputs generated by running the test
and running Checker are concatenated and compared with expected.txt.

Checker is invoked only if the test's name name matches the format
"<number>-checker-*" and it's currently enabled only for optimizing +
host configs. The tests are still invoked on other configs but
without Checker.

Change-Id: Ib24da808cd4bca66f07e0dbeb913a418065f2859

9 years agoam e210661a: Merge "ART: Fix compiler warning at arm/int_arm.cc:644"
Vladimir Marko [Mon, 19 Jan 2015 14:05:54 +0000 (14:05 +0000)]
am e210661a: Merge "ART: Fix compiler warning at arm/int_arm.cc:644"

* commit 'e210661a68e933cc6982368c24cca165eb61962f':
  ART: Fix compiler warning at arm/int_arm.cc:644

9 years agoMerge "ART: Fix compiler warning at arm/int_arm.cc:644"
Vladimir Marko [Mon, 19 Jan 2015 14:00:09 +0000 (14:00 +0000)]
Merge "ART: Fix compiler warning at arm/int_arm.cc:644"

9 years agoEnsure HCondition nodes on objects are either HEqual or HNotEqual
Roland Levillain [Mon, 19 Jan 2015 12:44:01 +0000 (12:44 +0000)]
Ensure HCondition nodes on objects are either HEqual or HNotEqual

Change-Id: I47efae209b7ab931d7d314e5b37582a7e21085d5

9 years agoART: Fix compiler warning at arm/int_arm.cc:644
Dmitry Petrochenko [Wed, 14 Jan 2015 09:54:20 +0000 (15:54 +0600)]
ART: Fix compiler warning at arm/int_arm.cc:644

Clang can report warning:
int_arm.cc:644:89: error: 'ops.art::ArmMir2Lir::EasyMultiplyOp::shift'
may be used uninitialized in this function
OpRegRegRegShift(kOpRsub, r_tmp1, r_src, r_src, EncodeShift(kArmLsl, ops[0].shift));

That warning becomes blocker for libart-compiler.so compilation.

This patch fixes the only case where 'shift' member was uninitialized.

Change-Id: I6428170994c9f97e7a3d85d752b97dfcdff0c8a4
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
9 years agoam d599b393: Merge "Checker cleanup"
David Brazdil [Mon, 19 Jan 2015 11:51:10 +0000 (11:51 +0000)]
am d599b393: Merge "Checker cleanup"

* commit 'd599b39357cb0d3ab8b719357c86ffe609bb3fcb':
  Checker cleanup

9 years agoMerge "Checker cleanup"
David Brazdil [Mon, 19 Jan 2015 11:47:35 +0000 (11:47 +0000)]
Merge "Checker cleanup"

9 years agoam 951d70b4: Merge "Quick: Clean up optimization pass order."
Vladimir Marko [Mon, 19 Jan 2015 10:09:46 +0000 (10:09 +0000)]
am 951d70b4: Merge "Quick: Clean up optimization pass order."

* commit '951d70b42400453f9d1746d155b8337c07c86acc':
  Quick: Clean up optimization pass order.

9 years agoam e45ff20f: Merge "Constant fold after inlining."
Nicolas Geoffray [Mon, 19 Jan 2015 10:09:45 +0000 (10:09 +0000)]
am e45ff20f: Merge "Constant fold after inlining."

* commit 'e45ff20fa341f88cc1c4a87089e0731914ccf7d0':
  Constant fold after inlining.