OSDN Git Service

android-x86/art.git
9 years agoMerge "Add missing SHARED_LOCKS_REQUIRED attibute."
Chih-Hung Hsieh [Thu, 23 Oct 2014 18:21:02 +0000 (18:21 +0000)]
Merge "Add missing SHARED_LOCKS_REQUIRED attibute."

9 years agoAdd missing SHARED_LOCKS_REQUIRED attibute.
Chih-Hung Hsieh [Thu, 23 Oct 2014 18:07:52 +0000 (11:07 -0700)]
Add missing SHARED_LOCKS_REQUIRED attibute.

BUG: 18093707
Change-Id: I66e5c7650c67bb308472ff0da7faed6dff4ead53

9 years agoMerge "ART: Add basic tests for materialized conditions."
Nicolas Geoffray [Thu, 23 Oct 2014 17:28:50 +0000 (17:28 +0000)]
Merge "ART: Add basic tests for materialized conditions."

9 years agoMerge "Fix concurrent start bytes race"
Mathieu Chartier [Thu, 23 Oct 2014 17:11:44 +0000 (17:11 +0000)]
Merge "Fix concurrent start bytes race"

9 years agoMerge "Revert "Implement long negate instruction in the optimizing compiler.""
Roland Levillain [Thu, 23 Oct 2014 17:11:21 +0000 (17:11 +0000)]
Merge "Revert "Implement long negate instruction in the optimizing compiler.""

9 years agoRevert "Implement long negate instruction in the optimizing compiler."
Roland Levillain [Thu, 23 Oct 2014 17:07:44 +0000 (18:07 +0100)]
Revert "Implement long negate instruction in the optimizing compiler."

This reverts commit 66ce173a40eff4392e9949ede169ccf3108be2db.

9 years agoFix concurrent start bytes race
Mathieu Chartier [Thu, 23 Oct 2014 00:18:34 +0000 (17:18 -0700)]
Fix concurrent start bytes race

Previously, we set concurrent start bytes to max int when we
requested a concurrent GC, but there was a race if another thread
was doing another GC and had already completed GrowForUtilization
but had not yet finished the GC. This meant that the thread doing
the GC would update the concurrent start bytes properly, but the
allocating thread would re-update it to max int. Then when the
concurrent GC thread woke up, it would call WaitForGcToComplete
and see that there was a collector running and avoid doing the
concurrent GC, leaving the concurrent start bytes set to max int.

This meant that there would be no more concurrent GC until either
the next explicit GC or the next GC for alloc.

The fix is to only set concurrent start bytes to max int inside of
the CollectGarbageInternal code such that there isn't any way for
two threads to race.

Bug: 17942071

(cherry picked from commit 0133ec454d8dd3fa5ffe35649b5704aa18f15a49)

Change-Id: Ibc23dd2f937a2b5fda51ed064634c034dbb6e668

9 years agoART: Add basic tests for materialized conditions.
Alexandre Rames [Wed, 1 Oct 2014 11:55:56 +0000 (12:55 +0100)]
ART: Add basic tests for materialized conditions.

Change-Id: I4acef30cc6a48b5fe07d55db6b9cf0d093b326ee

9 years agoMerge "Implement long negate instruction in the optimizing compiler."
Roland Levillain [Thu, 23 Oct 2014 16:14:56 +0000 (16:14 +0000)]
Merge "Implement long negate instruction in the optimizing compiler."

9 years agoImplement long negate instruction in the optimizing compiler.
Roland Levillain [Thu, 23 Oct 2014 15:38:33 +0000 (16:38 +0100)]
Implement long negate instruction in the optimizing compiler.

- Add support for the neg-long (long integer two's
  complement negate) instruction in the optimizing compiler.
- Add a 64-bit NEG instruction (negq) to the x86-64
  assembler.
- Generate ARM, x86 and x86-64 code for integer HNeg nodes.
- Put neg-related tests into test/415-optimizing-arith-neg.

Change-Id: I1fbe9611e134408a6b8745d1df20ab6ffa5e50f2

9 years agoMerge "[optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes"
Calin Juravle [Thu, 23 Oct 2014 16:04:25 +0000 (16:04 +0000)]
Merge "[optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes"

9 years ago[optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes
Calin Juravle [Thu, 23 Oct 2014 16:01:13 +0000 (17:01 +0100)]
[optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes

Also add 414-optimizing-arith-sub to
TEST_ART_BROKEN_OPTIMIZING_ARM64_RUN_TESTS.

Change-Id: Ia1b7ff7857bc0e488b9b8ed8a36efb1a3a9bad36

9 years agoMerge "Use the shared smali test infrastructure for 800-smali."
Nicolas Geoffray [Thu, 23 Oct 2014 15:34:12 +0000 (15:34 +0000)]
Merge "Use the shared smali test infrastructure for 800-smali."

9 years agoMerge "[optimizing compiler] Add float/double subtraction"
Calin Juravle [Thu, 23 Oct 2014 15:25:59 +0000 (15:25 +0000)]
Merge "[optimizing compiler] Add float/double subtraction"

9 years ago[optimizing compiler] Add float/double subtraction
Calin Juravle [Thu, 23 Oct 2014 14:38:15 +0000 (15:38 +0100)]
[optimizing compiler] Add float/double subtraction

- for arm, x86, x86_64
- add tests
- a bit of clean up

Change-Id: I3761b0d908aca3e3c5d60da481fafb423ff7c9b9

9 years agoMerge "ART: optimizing compiler: initial support for ARM64."
Nicolas Geoffray [Thu, 23 Oct 2014 12:48:02 +0000 (12:48 +0000)]
Merge "ART: optimizing compiler: initial support for ARM64."

9 years agoART: optimizing compiler: initial support for ARM64.
Alexandre Rames [Thu, 23 Oct 2014 09:03:10 +0000 (10:03 +0100)]
ART: optimizing compiler: initial support for ARM64.

The ARM64 port uses VIXL for code generation, to which it defers work
like label binding and branch resolving, register type coherency
checking, and immediate values handling.

Change-Id: I0a44508c0c991f472a63e67b3469cdd878fe1a68
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Signed-off-by: Alexandre Rames <alexandre.rames@arm.com>
9 years agoMerge "Remove obsolete TODOs from codegen tests"
Calin Juravle [Thu, 23 Oct 2014 11:48:28 +0000 (11:48 +0000)]
Merge "Remove obsolete TODOs from codegen tests"

9 years agoRemove obsolete TODOs from codegen tests
Calin Juravle [Thu, 23 Oct 2014 11:32:11 +0000 (12:32 +0100)]
Remove obsolete TODOs from codegen tests

The features are already exercised by the art test 411-optimizing-arith.

Change-Id: Id008931e0ed8206ced11ecc85a80a7e4aef3e68e

9 years agoMerge "[native bridge] Make sure we always unload the native bridge"
Calin Juravle [Thu, 23 Oct 2014 10:58:45 +0000 (10:58 +0000)]
Merge "[native bridge] Make sure we always unload the native bridge"

9 years ago[native bridge] Make sure we always unload the native bridge
Calin Juravle [Wed, 22 Oct 2014 20:02:23 +0000 (21:02 +0100)]
[native bridge] Make sure we always unload the native bridge

libnativebridge may allocate some resources during loading and
intialization and de-allocate them when unloading. This makes sure that
we don't leak anything.

Bug: 18097480
Change-Id: I901f2d3c2ab1efb2875388f99e8c5c111ce82d5a

9 years agoUse the shared smali test infrastructure for 800-smali.
Nicolas Geoffray [Thu, 23 Oct 2014 09:29:33 +0000 (10:29 +0100)]
Use the shared smali test infrastructure for 800-smali.

No need for a special build file now.

Change-Id: I7f6813553548b48fb5f54640506d1a361d9db3c1

9 years agoMerge "Implement int bit-wise not operation in the optimizing compiler."
Roland Levillain [Thu, 23 Oct 2014 09:17:41 +0000 (09:17 +0000)]
Merge "Implement int bit-wise not operation in the optimizing compiler."

9 years agoImplement int bit-wise not operation in the optimizing compiler.
Roland Levillain [Wed, 22 Oct 2014 17:06:21 +0000 (18:06 +0100)]
Implement int bit-wise not operation in the optimizing compiler.

- Add support for the not-int (integer one's complement
  negate) instruction in the optimizing compiler.
- Extend the HNot control-flow graph node type and make it
  inherit from HUnaryOperation.
- Generate ARM, x86 and x86-64 code for integer HNeg nodes.
- Exercise these additions in the codegen_test gtest, as there
  is not direct way to assess the support of not-int from a
  Java source.  Indeed, compiling a Java expression such as
  `~a' using javac and then dx generates an xor-int/lit8 Dex
  instruction instead of the expected not-int Dex instruction.
  This is probably because the Java bytecode has an `ixor'
  instruction, but there's not instruction directly
  corresponding to a bit-wise not operation.

Change-Id: I223aed75c4dac5785e04d99da0d22e8d699aee2b

9 years agoMerge "C++11 related clean-up of DISALLOW_.."
Ian Rogers [Thu, 23 Oct 2014 06:06:55 +0000 (06:06 +0000)]
Merge "C++11 related clean-up of DISALLOW_.."

9 years agoC++11 related clean-up of DISALLOW_..
Ian Rogers [Thu, 23 Oct 2014 05:06:39 +0000 (22:06 -0700)]
C++11 related clean-up of DISALLOW_..

Move DISALLOW_COPY_AND_ASSIGN to delete functions. By no having declarations
with no definitions this prompts better warning messages so deal with these
by correcting the code.
Add a DISALLOW_ALLOCATION and use for ValueObject and mirror::Object.
Make X86 assembly operand types ValueObjects to fix compilation errors.
Tidy the use of iostream and ostream.
Avoid making cutils a dependency via mutex-inl.h for tests that link against
libart. Push tracing dependencies into appropriate files and mutex.cc.
x86 32-bit host symbols size is increased for libarttest, avoid copying this
in run-test 115 by using symlinks and remove this test's higher than normal
ulimit.
Fix the RunningOnValgrind test in RosAllocSpace to not use GetHeap as it
returns NULL when the heap is under construction by Runtime.

Change-Id: Ia246f7ac0c11f73072b30d70566a196e9b78472b

9 years agoMerge "Fix arm64 bug introduced by refactoring."
Ian Rogers [Thu, 23 Oct 2014 05:03:25 +0000 (05:03 +0000)]
Merge "Fix arm64 bug introduced by refactoring."

9 years agoMerge "Tidy up logging."
Ian Rogers [Wed, 22 Oct 2014 19:10:23 +0000 (19:10 +0000)]
Merge "Tidy up logging."

9 years agoTidy up logging.
Ian Rogers [Wed, 22 Oct 2014 06:31:19 +0000 (23:31 -0700)]
Tidy up logging.

Move gVerboseMethods to CompilerOptions. Now "--verbose-methods=" option to
dex2oat rather than runtime argument "-verbose-methods:".
Move ToStr and Dumpable out of logging.h, move LogMessageData into logging.cc
except for a forward declaration.
Remove ConstDumpable as Dump methods are all const (and make this so if not
currently true).
Make LogSeverity an enum and improve compile time assertions and type checking.
Remove log_severity.h that's only used in logging.h.
With system headers gone from logging.h, go add to .cc files missing system
header includes.
Also, make operator new in ValueObject private for compile time instantiation
checking.

Change-Id: I3228f614500ccc9b14b49c72b9821c8b0db3d641

9 years agoMerge "X86 Long Min/Max: Avoid calling SRegToVReg with -1"
Vladimir Marko [Wed, 22 Oct 2014 15:22:43 +0000 (15:22 +0000)]
Merge "X86 Long Min/Max: Avoid calling SRegToVReg with -1"

9 years agoMerge "Fix make file comment"
Calin Juravle [Wed, 22 Oct 2014 15:00:43 +0000 (15:00 +0000)]
Merge "Fix make file comment"

9 years agoFix make file comment
Calin Juravle [Wed, 22 Oct 2014 14:54:34 +0000 (15:54 +0100)]
Fix make file comment

Change-Id: I2b2261aea00b934411979dbca1e00d5a75030407

9 years agoMerge "Minor fix in codegen tests."
Calin Juravle [Wed, 22 Oct 2014 14:57:06 +0000 (14:57 +0000)]
Merge "Minor fix in codegen tests."

9 years agoMinor fix in codegen tests.
Calin Juravle [Wed, 22 Oct 2014 14:54:12 +0000 (15:54 +0100)]
Minor fix in codegen tests.

Change-Id: I9b843536353d4f820b969895d5f75ee9b679aff0

9 years agoFix arm64 bug introduced by refactoring.
Stephen Kyle [Wed, 22 Oct 2014 14:23:46 +0000 (15:23 +0100)]
Fix arm64 bug introduced by refactoring.

- Commit 1d8cdbc5202378 made changes to the parameters for
artSet64InstanceFromCode, but did not change THREE_ARG_DOWNCALL
to THREE_ARG_REF_DOWNCALL for arm64.

Change-Id: If256b0bd32dbd1c95f61e0afcb35975bb09a8b97
Signed-off-by: Stephen Kyle <stephen.kyle@arm.com>
9 years agoMerge "Add multiplication for floats/doubles in optimizing compiler"
Calin Juravle [Wed, 22 Oct 2014 14:21:21 +0000 (14:21 +0000)]
Merge "Add multiplication for floats/doubles in optimizing compiler"

9 years agoAdd multiplication for floats/doubles in optimizing compiler
Calin Juravle [Tue, 21 Oct 2014 17:02:24 +0000 (18:02 +0100)]
Add multiplication for floats/doubles in optimizing compiler

Change-Id: I61de8ce1d9e37e30db62e776979b3f22dc643894

9 years agoMerge "Fix typo in Makefile."
Nicolas Geoffray [Wed, 22 Oct 2014 14:12:42 +0000 (14:12 +0000)]
Merge "Fix typo in Makefile."

9 years agoFix typo in Makefile.
Nicolas Geoffray [Wed, 22 Oct 2014 14:08:03 +0000 (15:08 +0100)]
Fix typo in Makefile.

Change-Id: I9133804eff8ce8e785f8551488daee1f19036952

9 years agoMerge "Implement array creation related DEX instructions."
Nicolas Geoffray [Wed, 22 Oct 2014 13:50:22 +0000 (13:50 +0000)]
Merge "Implement array creation related DEX instructions."

9 years agoImplement array creation related DEX instructions.
Nicolas Geoffray [Mon, 20 Oct 2014 16:41:32 +0000 (17:41 +0100)]
Implement array creation related DEX instructions.

Implement new-array, filled-new-array, and fill-array-data.

Change-Id: I405560d66777a57d881e384265322617ac5d3ce3

9 years agoX86 Long Min/Max: Avoid calling SRegToVReg with -1
Mark Mendell [Tue, 21 Oct 2014 21:44:32 +0000 (17:44 -0400)]
X86 Long Min/Max: Avoid calling SRegToVReg with -1

It is possible that the result of a call to min/max can't be combined
with the following move.  In that case, the destination will use the
default long return value (EAX/EDX), with a s_reg_low value of -1.
A debug compiler will assert fail in that case.

Fix: A result with no s_reg_low must be unused.  Just return with no
code generated, like X86 GenInlinedAbsFloat().

Seen compiling GmsCore.apk on the host with a debug backend.

Change-Id: I8006e822e8dcb2112d86e4047bb2e3037ba6fece
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "Fixed debugger for threads attached from JNI"
Sebastien Hertz [Wed, 22 Oct 2014 12:59:46 +0000 (12:59 +0000)]
Merge "Fixed debugger for threads attached from JNI"

9 years agoMerge "Fix bug in UnionIfNotIn."
Nicolas Geoffray [Wed, 22 Oct 2014 09:33:12 +0000 (09:33 +0000)]
Merge "Fix bug in UnionIfNotIn."

9 years agoFix bug in UnionIfNotIn.
Nicolas Geoffray [Wed, 22 Oct 2014 09:25:24 +0000 (10:25 +0100)]
Fix bug in UnionIfNotIn.

Bug: 18066207

Change-Id: Ib9b24802546403b3d5a4da19996034eb45601f53

9 years agoMerge "Various fixes related to integer negate operations."
Roland Levillain [Wed, 22 Oct 2014 09:16:53 +0000 (09:16 +0000)]
Merge "Various fixes related to integer negate operations."

9 years agoVarious fixes related to integer negate operations.
Roland Levillain [Wed, 22 Oct 2014 09:11:06 +0000 (10:11 +0100)]
Various fixes related to integer negate operations.

- Emit an RSB instruction for HNeg nodes in the ARM code
  generator instead of RSBS, as we do not need to update the
  condition code flags in this case.
- Simply punt when trying to statically evaluate a long
  unary operation, instead of aborting.
- Move a test case to the right place.

Change-Id: I35eb8dea58ed35258d4d8df77181159c3ab07b6f

9 years agoMerge "ART: Print args in case of run-test build failure"
Andreas Gampe [Wed, 22 Oct 2014 08:02:44 +0000 (08:02 +0000)]
Merge "ART: Print args in case of run-test build failure"

9 years agoART: Print args in case of run-test build failure
Andreas Gampe [Wed, 22 Oct 2014 07:44:35 +0000 (00:44 -0700)]
ART: Print args in case of run-test build failure

Bug: 17959926
Change-Id: If1a6bf0341248818bef6c2a11e0677803c07ad3f

9 years agoMerge "ART: Fix common_build CFLAGS"
Andreas Gampe [Wed, 22 Oct 2014 05:43:58 +0000 (05:43 +0000)]
Merge "ART: Fix common_build CFLAGS"

9 years agoART: Fix common_build CFLAGS
Andreas Gampe [Wed, 22 Oct 2014 04:07:28 +0000 (21:07 -0700)]
ART: Fix common_build CFLAGS

Actually use the additional art_clang_cflags.

Change-Id: I2b5c5dacfdbffaa9b9c1e7a6fdb8ad79d8536fe8

9 years agoMerge "Fix Mac build."
Ian Rogers [Wed, 22 Oct 2014 03:44:26 +0000 (03:44 +0000)]
Merge "Fix Mac build."

9 years agoFix Mac build.
Ian Rogers [Wed, 22 Oct 2014 03:42:39 +0000 (20:42 -0700)]
Fix Mac build.

Why can't Apple implement named macro arguments!

Change-Id: I5e09e04449c3a5d9f6430b587c004d6b16000f09

9 years agoMerge "Fix a DCHECK failure IsResolved() || IsErroneous()."
Hiroshi Yamauchi [Tue, 21 Oct 2014 23:23:16 +0000 (23:23 +0000)]
Merge "Fix a DCHECK failure IsResolved() || IsErroneous()."

9 years agoFix a DCHECK failure IsResolved() || IsErroneous().
Hiroshi Yamauchi [Mon, 20 Oct 2014 23:56:58 +0000 (16:56 -0700)]
Fix a DCHECK failure IsResolved() || IsErroneous().

Bug: 17914035
Change-Id: I90877d31fdce3d3bf7b5f22f7759f9536ab14d03

9 years agoMerge "Avoid strict-aliasing problems with Handles."
Ian Rogers [Tue, 21 Oct 2014 22:54:50 +0000 (22:54 +0000)]
Merge "Avoid strict-aliasing problems with Handles."

9 years agoAvoid strict-aliasing problems with Handles.
Ian Rogers [Tue, 21 Oct 2014 22:05:36 +0000 (15:05 -0700)]
Avoid strict-aliasing problems with Handles.

Replace use of reinterpret_cast with down_cast.

Bug: 18074773

Change-Id: Id42d462f2798f69a2210e5912f441c868b8b5812

9 years agoMerge "Const-ify functions/variables in trampoline entrypoints."
Ian Rogers [Tue, 21 Oct 2014 22:05:16 +0000 (22:05 +0000)]
Merge "Const-ify functions/variables in trampoline entrypoints."

9 years agoConst-ify functions/variables in trampoline entrypoints.
Ian Rogers [Tue, 21 Oct 2014 22:02:15 +0000 (15:02 -0700)]
Const-ify functions/variables in trampoline entrypoints.

Change-Id: I777600c7362ab3c1dd65a695e36a4633b43033fe

9 years agoMerge "ART: Fix test 089 to ignore debug lines"
Andreas Gampe [Tue, 21 Oct 2014 17:23:32 +0000 (17:23 +0000)]
Merge "ART: Fix test 089 to ignore debug lines"

9 years agoART: Fix test 089 to ignore debug lines
Andreas Gampe [Tue, 21 Oct 2014 17:22:11 +0000 (10:22 -0700)]
ART: Fix test 089 to ignore debug lines

Bug: 17959926
Change-Id: Icc9d0fc5233937255b172b3ba4754c4e8d64a103

9 years agoMerge "ART: Fix run-test script"
Andreas Gampe [Tue, 21 Oct 2014 17:02:25 +0000 (17:02 +0000)]
Merge "ART: Fix run-test script"

9 years agoART: Fix run-test script
Andreas Gampe [Tue, 21 Oct 2014 16:33:08 +0000 (09:33 -0700)]
ART: Fix run-test script

Correctly pipe error information to the output file.

Bug: 17959926
Change-Id: Ifccf2a2a22517b2523228718be6d2a57250847c2

9 years agoMerge "Fix register_allocator_test after reg alloc changes."
Nicolas Geoffray [Tue, 21 Oct 2014 16:14:40 +0000 (16:14 +0000)]
Merge "Fix register_allocator_test after reg alloc changes."

9 years agoFix register_allocator_test after reg alloc changes.
Nicolas Geoffray [Tue, 21 Oct 2014 16:14:05 +0000 (17:14 +0100)]
Fix register_allocator_test after reg alloc changes.

Change-Id: Ieaf5daf35efaff6685720a93a442cd7a152f1567

9 years agoMerge "Fix off by one errors in linear scan register allocator."
Nicolas Geoffray [Tue, 21 Oct 2014 15:56:36 +0000 (15:56 +0000)]
Merge "Fix off by one errors in linear scan register allocator."

9 years agoFix off by one errors in linear scan register allocator.
Nicolas Geoffray [Tue, 21 Oct 2014 15:06:20 +0000 (16:06 +0100)]
Fix off by one errors in linear scan register allocator.

Change-Id: I65eea3cc125e12106a7160d30cb91c5d173bd405

9 years agoMerge "Fix m test-art-host-run-test-001-HelloWorld."
Nicolas Geoffray [Tue, 21 Oct 2014 15:36:47 +0000 (15:36 +0000)]
Merge "Fix m test-art-host-run-test-001-HelloWorld."

9 years agoFix m test-art-host-run-test-001-HelloWorld.
Nicolas Geoffray [Tue, 21 Oct 2014 15:33:27 +0000 (16:33 +0100)]
Fix m test-art-host-run-test-001-HelloWorld.

Noticed by Calin, bug spotted by Andreas.

Change-Id: Id10004597a7d9605bd80d68c998add611f242510

9 years agoMerge "Implement register allocator for floating point registers."
Nicolas Geoffray [Tue, 21 Oct 2014 15:05:44 +0000 (15:05 +0000)]
Merge "Implement register allocator for floating point registers."

9 years agoImplement register allocator for floating point registers.
Nicolas Geoffray [Wed, 15 Oct 2014 17:31:05 +0000 (18:31 +0100)]
Implement register allocator for floating point registers.

Also:
- Fix misuses of emitting the rex prefix in the x86_64 assembler.
- Fix movaps code generation in the x86_64 assembler.

Change-Id: Ib6dcf6e7c4a9c43368cfc46b02ba50f69ae69cbe

9 years agoMerge "Enable generic JNI for x86 and ARM when interpret-only."
Ian Rogers [Tue, 21 Oct 2014 14:57:14 +0000 (14:57 +0000)]
Merge "Enable generic JNI for x86 and ARM when interpret-only."

9 years agoEnable generic JNI for x86 and ARM when interpret-only.
Ian Rogers [Tue, 21 Oct 2014 01:10:34 +0000 (18:10 -0700)]
Enable generic JNI for x86 and ARM when interpret-only.

Change-Id: I006ce1ce74acd0f0d53d380e28e409d24d772ea3

9 years agoMerge "Clarify a confusing error message."
Elliott Hughes [Tue, 21 Oct 2014 14:44:51 +0000 (14:44 +0000)]
Merge "Clarify a confusing error message."

9 years agoClarify a confusing error message.
Elliott Hughes [Tue, 21 Oct 2014 14:36:19 +0000 (07:36 -0700)]
Clarify a confusing error message.

We didn't run out of stack; we ran out of heap so there's no stack
trace in the pre-allocated exception we're throwing.

Bug: 17975886
Change-Id: I406f84d7580a28451b232eba323f9c9978e678e6

9 years agoMerge "Constant folding on unary operations in the optimizing compiler."
Roland Levillain [Tue, 21 Oct 2014 13:34:59 +0000 (13:34 +0000)]
Merge "Constant folding on unary operations in the optimizing compiler."

9 years agoMerge "Implement int negate instruction in the optimizing compiler."
Roland Levillain [Tue, 21 Oct 2014 13:28:20 +0000 (13:28 +0000)]
Merge "Implement int negate instruction in the optimizing compiler."

9 years agoConstant folding on unary operations in the optimizing compiler.
Roland Levillain [Mon, 20 Oct 2014 15:47:04 +0000 (16:47 +0100)]
Constant folding on unary operations in the optimizing compiler.

Change-Id: I4b77afa2a89f5ad2eedd4d6c0c6c382585419349

9 years agoImplement int negate instruction in the optimizing compiler.
Roland Levillain [Mon, 20 Oct 2014 15:36:47 +0000 (16:36 +0100)]
Implement int negate instruction in the optimizing compiler.

- Add support for the neg-int (integer two's complement
  negate) instruction in the optimizing compiler.
- Add a HNeg node type for control-flow graphs and an
  intermediate HUnaryOperation base class.
- Generate ARM, x86 and x86-64 code for integer HNeg nodes.

Change-Id: I72fd3e1e5311a75c38a8cb665a9211a20325a42e

9 years agoMerge "Remove the notion of dies at entry."
Nicolas Geoffray [Tue, 21 Oct 2014 10:48:42 +0000 (10:48 +0000)]
Merge "Remove the notion of dies at entry."

9 years agoRemove the notion of dies at entry.
Nicolas Geoffray [Fri, 17 Oct 2014 10:06:38 +0000 (11:06 +0100)]
Remove the notion of dies at entry.

- Instead, explicitly say that the output does not overlap.
- Inputs that must be in a fixed register do die at entry,
  as we know they have a location that others can not take.
- There is also no need to differentiate between an input move
  and a connecting sibling move - those can be put in the
  same parallel move instruction.

Change-Id: I1b2b2827906601f822b59fb9d6a21d48e43bae27

9 years agoMerge "Shut down FaultManager after shutting down threads."
Vladimir Marko [Tue, 21 Oct 2014 09:18:53 +0000 (09:18 +0000)]
Merge "Shut down FaultManager after shutting down threads."

9 years agoMerge "Support running run-test in ndebug mode through make."
Nicolas Geoffray [Tue, 21 Oct 2014 09:03:00 +0000 (09:03 +0000)]
Merge "Support running run-test in ndebug mode through make."

9 years agoSupport running run-test in ndebug mode through make.
Nicolas Geoffray [Thu, 16 Oct 2014 17:04:12 +0000 (18:04 +0100)]
Support running run-test in ndebug mode through make.

Change-Id: I514f44f356ecd0bf64d3f5b1295a99ff52a5d7b3

9 years agoMerge "Link libsigchain.a instead of sigchain.o"
Dmitriy Ivanov [Tue, 21 Oct 2014 01:23:28 +0000 (01:23 +0000)]
Merge "Link libsigchain.a instead of sigchain.o"

9 years agoLink libsigchain.a instead of sigchain.o
Dmitriy Ivanov [Mon, 20 Oct 2014 21:11:00 +0000 (14:11 -0700)]
Link libsigchain.a instead of sigchain.o

  Relative paths may sometimes lead to failed builds
  if sources are built in particular order.

  Also it is possible to export symbols from static lib
  with LOCAL_WHOLE_STATIC_LIBRARIES variable.

Change-Id: I6d62594c2e84020d67254747c1fd465e1144920e

9 years agoMerge "Refactor quick entrypoints"
Ian Rogers [Mon, 20 Oct 2014 23:09:30 +0000 (23:09 +0000)]
Merge "Refactor quick entrypoints"

9 years agoRefactor quick entrypoints
Ian Rogers [Tue, 23 Sep 2014 05:51:09 +0000 (22:51 -0700)]
Refactor quick entrypoints

Remove FinishCalleeSaveFrameSetup.
Assembly routines write down anchor into TLS as well as placing runtime
method in callee save frame.
Simplify artSet64InstanceFromCode by not computing the referrer from the
stack in the C++ code.
Move assembly offset tests next to constant declaration and tidy arch_test.

Change-Id: Iededeebc05e54a1e2bb7bb3572b8ba012cffa1c8

9 years agoMerge "Rosalloc should print unreachable page map type"
Hiroshi Yamauchi [Mon, 20 Oct 2014 17:18:50 +0000 (17:18 +0000)]
Merge "Rosalloc should print unreachable page map type"

9 years agoShut down FaultManager after shutting down threads.
Vladimir Marko [Mon, 20 Oct 2014 17:13:22 +0000 (18:13 +0100)]
Shut down FaultManager after shutting down threads.

Bug: 17703163
Change-Id: I7a8454b61e887376d019af601f3a416d18bc0760

9 years agoMerge "Add perf option to art tool"
Calin Juravle [Mon, 20 Oct 2014 16:59:09 +0000 (16:59 +0000)]
Merge "Add perf option to art tool"

9 years agoAdd perf option to art tool
Calin Juravle [Mon, 20 Oct 2014 14:58:57 +0000 (15:58 +0100)]
Add perf option to art tool

'art --perf' will record user space cycle information
'art --perf-report' will also report the saved data.

When using perf, the temporary data directory is not deleted.

Change-Id: Iadceeb3883f815cac8ed2b8a96b9b8363661d156

9 years agoFixed debugger for threads attached from JNI
Daniel Mihalyi [Mon, 20 Oct 2014 09:47:56 +0000 (11:47 +0200)]
Fixed debugger for threads attached from JNI

Dbg::PostThreadStart was not invoked in Thread::Attach,
thus when attaching existing native thread to JNI, JDWP
events from that thread are not handled correctly by the
debugger, because the thread keeps being unannounced.

The issue was reproduced on Eclipse 4.3 and 4.4.

Change-Id: I9a330f5cb96857862b18f37047ef87646a1f2aa2
Signed-off-by: Daniel Mihalyi <daniel.mihalyi@mattakis.com>
9 years agoMerge "Have HInstruction::StrictlyDominates compute strict dominance."
Roland Levillain [Mon, 20 Oct 2014 09:37:45 +0000 (09:37 +0000)]
Merge "Have HInstruction::StrictlyDominates compute strict dominance."

9 years agoMerge "Revert "Revert "Introduce a class to implement optimization passes."""
Roland Levillain [Mon, 20 Oct 2014 09:34:08 +0000 (09:34 +0000)]
Merge "Revert "Revert "Introduce a class to implement optimization passes."""

9 years agoMerge "Just depend on TARGET_CORE_DEX_FILES."
Nicolas Geoffray [Fri, 17 Oct 2014 17:04:42 +0000 (17:04 +0000)]
Merge "Just depend on TARGET_CORE_DEX_FILES."

9 years agoMerge "Rename arm64 `Register` to `XRegister`."
Nicolas Geoffray [Fri, 17 Oct 2014 17:03:56 +0000 (17:03 +0000)]
Merge "Rename arm64 `Register` to `XRegister`."

9 years agoMerge "Rework arm64 register codes and fix Arm64ManagedRegister tests."
Nicolas Geoffray [Fri, 17 Oct 2014 16:53:05 +0000 (16:53 +0000)]
Merge "Rework arm64 register codes and fix Arm64ManagedRegister tests."

9 years agoMerge "Quick: In GVN, apply modifications early if outside loop."
Vladimir Marko [Fri, 17 Oct 2014 16:41:24 +0000 (16:41 +0000)]
Merge "Quick: In GVN, apply modifications early if outside loop."

9 years agoJust depend on TARGET_CORE_DEX_FILES.
Nicolas Geoffray [Fri, 17 Oct 2014 16:27:47 +0000 (17:27 +0100)]
Just depend on TARGET_CORE_DEX_FILES.

There is no such thing as a 2NDTARGET_CORE_DEX_FILES.

Change-Id: Idccf31a7b9d7f2329678352805b260a48851d568