OSDN Git Service

android-x86/art.git
10 years agoam dd69b14f: Merge "Fix error with remembered sets creation."
Mathieu Chartier [Tue, 17 Jun 2014 19:05:12 +0000 (19:05 +0000)]
am dd69b14f: Merge "Fix error with remembered sets creation."

* commit 'dd69b14f522d9cf8230e38c69bf3952a8073c02a':
  Fix error with remembered sets creation.

10 years agoam bfa45cdd: Merge "Change reference processing to use heap references."
Mathieu Chartier [Tue, 17 Jun 2014 18:58:40 +0000 (18:58 +0000)]
am bfa45cdd: Merge "Change reference processing to use heap references."

* commit 'bfa45cdda3e65cefb61fdbe75e8f4c13087d4641':
  Change reference processing to use heap references.

10 years agoam 9506afda: Merge "Revert "Add x86 inlined abs method for float/double""
Vladimir Marko [Tue, 17 Jun 2014 18:19:34 +0000 (18:19 +0000)]
am 9506afda: Merge "Revert "Add x86 inlined abs method for float/double""

* commit '9506afda1776a7a14f8ec22588d6cadc2acbeee3':
  Revert "Add x86 inlined abs method for float/double"

10 years agoam b5c526df: Merge "AArch64: Add transition assembly to wrapper native functions."
Bill Buzbee [Tue, 17 Jun 2014 18:07:43 +0000 (18:07 +0000)]
am b5c526df: Merge "AArch64: Add transition assembly to wrapper native functions."

* commit 'b5c526df4c2f9a7fccd7602628f265ba20cb1476':
  AArch64: Add transition assembly to wrapper native functions.

10 years agoam 38510acc: Merge "ART: Make verifier check invocation args of unresolved methods"
Andreas Gampe [Tue, 17 Jun 2014 16:08:03 +0000 (16:08 +0000)]
am 38510acc: Merge "ART: Make verifier check invocation args of unresolved methods"

* commit '38510acc063ca32c2a842101d3d0006a0b2a4931':
  ART: Make verifier check invocation args of unresolved methods

10 years agoam fbb2ea0b: Merge "Revert "Revert "Fix access to FP registers when visiting stack"""
Sebastien Hertz [Tue, 17 Jun 2014 16:02:26 +0000 (16:02 +0000)]
am fbb2ea0b: Merge "Revert "Revert "Fix access to FP registers when visiting stack"""

* commit 'fbb2ea0bc20aa2d11abb0ac50df40fbb3bb1a6f2':
  Revert "Revert "Fix access to FP registers when visiting stack""

10 years agoam 838b38fa: Merge "ART: Implement rem_double/rem_float for x86/x86-64"
Bill Buzbee [Tue, 17 Jun 2014 13:15:18 +0000 (13:15 +0000)]
am 838b38fa: Merge "ART: Implement rem_double/rem_float for x86/x86-64"

* commit '838b38fa3b2fb4a64f8a316459d372020f6e8feb':
  ART: Implement rem_double/rem_float for x86/x86-64

10 years agoam f4d7d950: Merge "Fix build: style issue."
Vladimir Marko [Tue, 17 Jun 2014 10:26:18 +0000 (10:26 +0000)]
am f4d7d950: Merge "Fix build: style issue."

* commit 'f4d7d950ec4765dbb96bcf88fa3b6c3a7c477865':
  Fix build: style issue.

10 years agoam a992a282: Merge "Revert "Fix access to FP registers when visiting stack""
Sebastien Hertz [Tue, 17 Jun 2014 10:00:44 +0000 (10:00 +0000)]
am a992a282: Merge "Revert "Fix access to FP registers when visiting stack""

* commit 'a992a2820c70997d80bb46d09831a66a60827d17':
  Revert "Fix access to FP registers when visiting stack"

10 years agoam d87c29c7: Merge "Add x86 inlined abs method for float/double"
Vladimir Marko [Tue, 17 Jun 2014 09:56:09 +0000 (09:56 +0000)]
am d87c29c7: Merge "Add x86 inlined abs method for float/double"

* commit 'd87c29c7c5f04f643677d87cd202e90bda8fed02':
  Add x86 inlined abs method for float/double

10 years agoam 988bbed8: Merge "Fix access to FP registers when visiting stack"
Sebastien Hertz [Tue, 17 Jun 2014 09:32:54 +0000 (09:32 +0000)]
am 988bbed8: Merge "Fix access to FP registers when visiting stack"

* commit '988bbed8d3b3239f69d548aaf05580cdde3349d2':
  Fix access to FP registers when visiting stack

10 years agoam 4b855675: Merge "Fix run-test for OSX."
Ian Rogers [Tue, 17 Jun 2014 08:52:37 +0000 (08:52 +0000)]
am 4b855675: Merge "Fix run-test for OSX."

* commit '4b855675b7c77e265aa69a9134dd50cc21273095':
  Fix run-test for OSX.

10 years agoMerge "Fix error with remembered sets creation."
Mathieu Chartier [Tue, 17 Jun 2014 18:45:34 +0000 (18:45 +0000)]
Merge "Fix error with remembered sets creation."

10 years agoFix error with remembered sets creation.
Mathieu Chartier [Tue, 17 Jun 2014 16:50:02 +0000 (09:50 -0700)]
Fix error with remembered sets creation.

There was an error where we were not re-creating the remembered sets
in PreZygoteFork. This caused a rare check failure due to the
stale remembered set occasionally having the same space as the newly
created one.

Bug: 15680452
Change-Id: Ibfa569e67ad0ff032f3e9696a99b992a18583243

10 years agoMerge "Change reference processing to use heap references."
Mathieu Chartier [Tue, 17 Jun 2014 18:43:23 +0000 (18:43 +0000)]
Merge "Change reference processing to use heap references."

10 years agoMerge "AArch64: Add transition assembly to wrapper native functions."
Bill Buzbee [Tue, 17 Jun 2014 17:53:43 +0000 (17:53 +0000)]
Merge "AArch64: Add transition assembly to wrapper native functions."

10 years agoAArch64: Add transition assembly to wrapper native functions.
Zheng Xu [Tue, 17 Jun 2014 04:25:48 +0000 (12:25 +0800)]
AArch64: Add transition assembly to wrapper native functions.

There is slight difference between managed code ABI and AAPCS. We
can make managed code ABI to be the same with AAPCS. But considering
that, we might introduce more differences later for performance. It
is better to have a wrapper to deal with the differences.

Change-Id: I46ced072e9e3a83f713d2bf86fa478fc6144ee81

10 years agoMerge "ART: Implement rem_double/rem_float for x86/x86-64"
Bill Buzbee [Tue, 17 Jun 2014 13:07:38 +0000 (13:07 +0000)]
Merge "ART: Implement rem_double/rem_float for x86/x86-64"

10 years agoART: Implement rem_double/rem_float for x86/x86-64
Alexei Zavjalov [Wed, 11 Jun 2014 20:08:01 +0000 (03:08 +0700)]
ART: Implement rem_double/rem_float for x86/x86-64

This adds inlined version of the rem_double/rem_float bytecodes
for x86/x86-64 platforms. This patch also removes unnecessary
fmod and fmodf stubs from runtime.

Change-Id: I2311aa2adf08d6614527e0da070e3b6ce2343a20
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
10 years agoMerge "ART: Make verifier check invocation args of unresolved methods"
Andreas Gampe [Tue, 17 Jun 2014 15:58:28 +0000 (15:58 +0000)]
Merge "ART: Make verifier check invocation args of unresolved methods"

10 years agoMerge "Fix run-test for OSX."
Ian Rogers [Tue, 17 Jun 2014 05:24:03 +0000 (05:24 +0000)]
Merge "Fix run-test for OSX."

10 years agoFix run-test for OSX.
Ian Rogers [Tue, 17 Jun 2014 05:16:21 +0000 (22:16 -0700)]
Fix run-test for OSX.

Change-Id: I6b5dfeba5a3d04fa2bea3fde4604fa84ed362615

10 years agoMerge "Fix build: style issue."
Vladimir Marko [Tue, 17 Jun 2014 10:18:36 +0000 (10:18 +0000)]
Merge "Fix build: style issue."

10 years agoFix build: style issue.
Vladimir Marko [Tue, 17 Jun 2014 10:13:30 +0000 (11:13 +0100)]
Fix build: style issue.

Change-Id: I2a1e81dc7c95b7e21f4fde47e2f88dae653b25f0

10 years agoMerge "Fix access to FP registers when visiting stack"
Sebastien Hertz [Tue, 17 Jun 2014 09:22:17 +0000 (09:22 +0000)]
Merge "Fix access to FP registers when visiting stack"

10 years agoFix access to FP registers when visiting stack
Sebastien Hertz [Fri, 13 Jun 2014 12:49:27 +0000 (14:49 +0200)]
Fix access to FP registers when visiting stack

Adds GetFPR and SetFPR to Context class so we can read from and write to
floating-point registers during stack visit. They return a boolean flag
indicating whether the read/write is successful. This allows the debugger to
return the JDWP error ABSENT_INFORMATION when we can't read/write a register.
We also update GetGPR and SetGPR for consistency. We keep a default GetGPR
implementation asserting the read was successful using a CHECK so we don't
silently fail.

Adds missing JDWP object tags for StackFrame.SetValues to avoid crash when
setting corresponding objects (thread, thread group, class object or class
loader). Also returns JDWP error INVALID_OBJECT (when the given object id is
invalid) instead of crashing with an unimplemented message.

Bug: 15433097
Change-Id: I70843c9280e694aec1eae5cf6f2dc155cb9ea10e

10 years agoMerge "Revert "Add x86 inlined abs method for float/double""
Vladimir Marko [Tue, 17 Jun 2014 18:11:18 +0000 (18:11 +0000)]
Merge "Revert "Add x86 inlined abs method for float/double""

10 years agoRevert "Add x86 inlined abs method for float/double"
Vladimir Marko [Tue, 17 Jun 2014 17:56:50 +0000 (17:56 +0000)]
Revert "Add x86 inlined abs method for float/double"

This reverts commit e88b89ad1d1a583daf205c7a387ba13f549f95f1.

Change-Id: I2ba21b7442ba3696482d45001e6bd32e8baf9d1f

10 years agoMerge "Revert "Revert "Fix access to FP registers when visiting stack"""
Sebastien Hertz [Tue, 17 Jun 2014 15:51:07 +0000 (15:51 +0000)]
Merge "Revert "Revert "Fix access to FP registers when visiting stack"""

10 years agoRevert "Revert "Fix access to FP registers when visiting stack""
Sebastien Hertz [Tue, 17 Jun 2014 13:52:45 +0000 (15:52 +0200)]
Revert "Revert "Fix access to FP registers when visiting stack""

This reverts commit 8ebd94ab2e0d9867a7d384f00fa4cab24235216f.

Fixes StackVisitor::GetVReg to read register value in a uintptr_t local and
cast it into uint32_t pointer argument.

Bug: 15433097
Change-Id: I4e13ed5446e823e9ec50fbc378b16be5b17b2294

10 years agoMerge "Revert "Fix access to FP registers when visiting stack""
Sebastien Hertz [Tue, 17 Jun 2014 09:50:39 +0000 (09:50 +0000)]
Merge "Revert "Fix access to FP registers when visiting stack""

10 years agoRevert "Fix access to FP registers when visiting stack"
Sebastien Hertz [Tue, 17 Jun 2014 09:49:21 +0000 (09:49 +0000)]
Revert "Fix access to FP registers when visiting stack"

This reverts commit aa9b3aee1e06f922e4518713f9b3dff00a0b2597.

Change-Id: Ied27deb89cca5ec9094d391374e03f83fcb76c33

10 years agoMerge "Add x86 inlined abs method for float/double"
Vladimir Marko [Tue, 17 Jun 2014 09:46:31 +0000 (09:46 +0000)]
Merge "Add x86 inlined abs method for float/double"

10 years agoART: Make verifier check invocation args of unresolved methods
Andreas Gampe [Mon, 16 Jun 2014 21:06:52 +0000 (14:06 -0700)]
ART: Make verifier check invocation args of unresolved methods

In the case of unresolvable methods it is not enough to bail out
with a soft verifier failure, as the compiler relies on the
invocation being well-formed. Check all arguments against the
proto id in such a case.

Also make sure to complete parsing arguments in the case the
method was resolved.

Refactored code to unite these two cases.

Bug: 15616104
Change-Id: I5ec58cbfbf6b09eaaf07ddf15edae7c6a8b62b17

10 years agoam eaac24f3: Merge "Disable StubTest.IndexOf if heap poisoning is enabled for now."
Hiroshi Yamauchi [Mon, 16 Jun 2014 21:32:23 +0000 (21:32 +0000)]
am eaac24f3: Merge "Disable StubTest.IndexOf if heap poisoning is enabled for now."

* commit 'eaac24f37a814c54073ef438cf93f2181464b562':
  Disable StubTest.IndexOf if heap poisoning is enabled for now.

10 years agoam 0cfcd2e4: Merge "AArch64: improve 64-bit immediates loads."
Bill Buzbee [Mon, 16 Jun 2014 21:06:42 +0000 (21:06 +0000)]
am 0cfcd2e4: Merge "AArch64: improve 64-bit immediates loads."

* commit '0cfcd2e480e92104657c36b2f0075e56ecd697fb':
  AArch64: improve 64-bit immediates loads.

10 years agoChange reference processing to use heap references.
Mathieu Chartier [Sun, 15 Jun 2014 19:39:02 +0000 (12:39 -0700)]
Change reference processing to use heap references.

Removes several SetReferents for updating moved referents. Cleaned
up other aspects of the code.

Change-Id: Ibcb4d713fadea617efee7e936352ddf77ff4c370

10 years agoam d6b2237d: Merge "ART: Instanceof returns true if ref == 0 on x86-64"
Bill Buzbee [Mon, 16 Jun 2014 20:25:13 +0000 (20:25 +0000)]
am d6b2237d: Merge "ART: Instanceof returns true if ref == 0 on x86-64"

* commit 'd6b2237d82507b393cf105a0c6ebf04616bc78a6':
  ART: Instanceof returns true if ref == 0 on x86-64

10 years agoam 3a97e430: Merge "Add read barriers for the class and the intern tables."
Hiroshi Yamauchi [Mon, 16 Jun 2014 20:07:20 +0000 (20:07 +0000)]
am 3a97e430: Merge "Add read barriers for the class and the intern tables."

* commit '3a97e430e70e11b185e10d6e6e1ff60fac9c36d4':
  Add read barriers for the class and the intern tables.

10 years agoam bd7ebdbd: Merge "Use GetLow() to access low register of a pair"
Bill Buzbee [Mon, 16 Jun 2014 20:02:45 +0000 (20:02 +0000)]
am bd7ebdbd: Merge "Use GetLow() to access low register of a pair"

* commit 'bd7ebdbd928673f8136dcbe3f755610e3ae9bc7d':
  Use GetLow() to access low register of a pair

10 years agoam 57cd219d: Merge "Arm64 hard-float"
buzbee [Mon, 16 Jun 2014 17:58:29 +0000 (17:58 +0000)]
am 57cd219d: Merge "Arm64 hard-float"

* commit '57cd219d8a7869a06d669bed08460013cf24398b':
  Arm64 hard-float

10 years agoam 33004d96: Merge "Clean up ARM load/store with offset imm8 << 2."
Vladimir Marko [Mon, 16 Jun 2014 17:49:19 +0000 (17:49 +0000)]
am 33004d96: Merge "Clean up ARM load/store with offset imm8 << 2."

* commit '33004d96271f5b6b9dfac165ea61102d0d55a303':
  Clean up ARM load/store with offset imm8 << 2.

10 years agoMerge "ART: Instanceof returns true if ref == 0 on x86-64"
Bill Buzbee [Mon, 16 Jun 2014 20:16:00 +0000 (20:16 +0000)]
Merge "ART: Instanceof returns true if ref == 0 on x86-64"

10 years agoMerge "Arm64 hard-float"
buzbee [Mon, 16 Jun 2014 17:47:23 +0000 (17:47 +0000)]
Merge "Arm64 hard-float"

10 years agoArm64 hard-float
buzbee [Thu, 12 Jun 2014 21:56:32 +0000 (14:56 -0700)]
Arm64 hard-float

Basic enabling of hard-float for Arm64.  In future CLs we'll
consolidate the various targets - there is a lot of overlap.

Compilation remains turned off in this CL, but I expect
to enable a subset shortly.  With compilation fully enabled
(including the EXPERIMENTAL opcodes with the exception of
REM and THROW), we get the following run-test results:

003-omnibus-opcode failures:
     Classes.checkCast
     Classes.arrayInstance
     UnresTest2
Haven't gone deep, but these appear to be related to throw/catch and/or
stacktrace.

For REM, the generated code looks reasonable to me - my guess is that
we've got something wrong on the transition to the runtime.  Haven't
looked deeper yet, though.

The bulk of the other failure also appear to be related to transitioning
to the runtime system, or handling try/catch.

run-test status:
Status with optimizations disabled, REM_FLOAT/DOUBLE and THROW disabled:
succeeded tests: 94
failed tests: 22
failed: 003-omnibus-opcodes
failed: 004-annotations
failed: 009-instanceof2
failed: 024-illegal-access
failed: 025-access-controller
failed: 031-class-attributes
failed: 044-proxy
failed: 045-reflect-array
failed: 046-reflect
failed: 058-enum-order
failed: 062-character-encodings
failed: 063-process-manager
failed: 064-field-access
failed: 068-classloader
failed: 071-dexfile
failed: 083-compiler-regressions
failed: 084-class-init
failed: 086-null-super
failed: 087-gc-after-link
failed: 100-reflect2
failed: 107-int-math2
failed: 201-built-in-exception-detail-messages

Change-Id: Ib66209285cad8998d77a14781de300af02a96b15

10 years agoMerge "Disable StubTest.IndexOf if heap poisoning is enabled for now."
Hiroshi Yamauchi [Mon, 16 Jun 2014 21:21:21 +0000 (21:21 +0000)]
Merge "Disable StubTest.IndexOf if heap poisoning is enabled for now."

10 years agoDisable StubTest.IndexOf if heap poisoning is enabled for now.
Hiroshi Yamauchi [Mon, 16 Jun 2014 19:59:49 +0000 (12:59 -0700)]
Disable StubTest.IndexOf if heap poisoning is enabled for now.

art_quick_indexof does not support heap poisoning yet.

Bug: 12687968
Change-Id: Ibc497cc782399f0d8e0d3dca59e1ebb358fe83a5

10 years agoMerge "AArch64: improve 64-bit immediates loads."
Bill Buzbee [Mon, 16 Jun 2014 20:54:38 +0000 (20:54 +0000)]
Merge "AArch64: improve 64-bit immediates loads."

10 years agoAArch64: improve 64-bit immediates loads.
Matteo Franchin [Fri, 13 Jun 2014 18:16:28 +0000 (19:16 +0100)]
AArch64: improve 64-bit immediates loads.

Improve the quick backend to load immediates by choosing the best
of the following strategies:

  - use wzr, xzr to load 0 (via mov) or -1 (via mvn),
  - use logical immediates (orr),
  - use one movz/movn optionally followed by one or more movk,
  - use the literal pool.

Change-Id: I8e46e6d9eaf46b717761dd9d60e63ee3f2a5422b

10 years agoMerge "Use GetLow() to access low register of a pair"
Bill Buzbee [Mon, 16 Jun 2014 19:52:09 +0000 (19:52 +0000)]
Merge "Use GetLow() to access low register of a pair"

10 years agoUse GetLow() to access low register of a pair
Mark Mendell [Mon, 16 Jun 2014 17:03:42 +0000 (13:03 -0400)]
Use GetLow() to access low register of a pair

A couple of spots were missed.

Change-Id: I14bd1d1bec4b497b742ef9edaf762e0c8e4ebf79
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
10 years agoMerge "Add read barriers for the class and the intern tables."
Hiroshi Yamauchi [Mon, 16 Jun 2014 19:56:59 +0000 (19:56 +0000)]
Merge "Add read barriers for the class and the intern tables."

10 years agoAdd x86 inlined abs method for float/double
Yixin Shou [Wed, 5 Mar 2014 11:07:48 +0000 (06:07 -0500)]
Add x86 inlined abs method for float/double

Add the optimized implementation of inlined abs method for
float/double for X86 side.

Change-Id: I4e095644a90524354040174954c1e127c7bb4ee2
Signed-off-by: Yixin Shou <yixin.shou@intel.com>
10 years agoam a9f64d7b: Merge "ART: PassMEDataHolder should have a data field"
Vladimir Marko [Mon, 16 Jun 2014 10:40:11 +0000 (10:40 +0000)]
am a9f64d7b: Merge "ART: PassMEDataHolder should have a data field"

* commit 'a9f64d7b6857532bb871a7bf1d3c9c9a44ed5917':
  ART: PassMEDataHolder should have a data field

10 years agoam 1dfa6d03: Merge "Relax limits for profiler options"
Calin Juravle [Mon, 16 Jun 2014 09:49:20 +0000 (09:49 +0000)]
am 1dfa6d03: Merge "Relax limits for profiler options"

* commit '1dfa6d034b5e12872120883753ff08a35c0e84c7':
  Relax limits for profiler options

10 years agoam 4b3fa4b1: Merge "Enable the register allocator on x86_64."
Nicolas Geoffray [Mon, 16 Jun 2014 09:33:31 +0000 (09:33 +0000)]
am 4b3fa4b1: Merge "Enable the register allocator on x86_64."

* commit '4b3fa4b1c0bbb5dec14b245207b6a6fdfca1ae55':
  Enable the register allocator on x86_64.

10 years agoART: Instanceof returns true if ref == 0 on x86-64
Alexei Zavjalov [Mon, 9 Jun 2014 16:27:46 +0000 (23:27 +0700)]
ART: Instanceof returns true if ref == 0 on x86-64

On x86-64 platform rl_result and kArg0 is not the same, so we have to
handle this in the proper way.

Change-Id: Ia651f5dd8dd2cf584f510739ed58b46197dfee94
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
10 years agoam 79960508: Merge "Quick compiler:interpret on type mismatch"
buzbee [Sat, 14 Jun 2014 20:16:01 +0000 (20:16 +0000)]
am 79960508: Merge "Quick compiler:interpret on type mismatch"

* commit '799605088f51dace7fddaf8493c8c6f3090fdaf6':
  Quick compiler:interpret on type mismatch

10 years agoam df88a9e4: Merge "x86_64: Enable compilation"
Ian Rogers [Sat, 14 Jun 2014 09:06:46 +0000 (09:06 +0000)]
am df88a9e4: Merge "x86_64: Enable compilation"

* commit 'df88a9e44673655009cc560947d29c1400516f12':
  x86_64: Enable compilation

10 years agoam 57925671: Merge "Add extra information to InitImageMethodVisitor CHECK"
Brian Carlstrom [Sat, 14 Jun 2014 09:06:45 +0000 (09:06 +0000)]
am 57925671: Merge "Add extra information to InitImageMethodVisitor CHECK"

* commit '579256715d16170ad821a132a43568ae696f4545':
  Add extra information to InitImageMethodVisitor CHECK

10 years agoam 3d2781d1: Merge "ART: Dex file verifier can\'t blindly use GetDescriptor"
Andreas Gampe [Sat, 14 Jun 2014 02:42:43 +0000 (02:42 +0000)]
am 3d2781d1: Merge "ART: Dex file verifier can\'t blindly use GetDescriptor"

* commit '3d2781d14d1fb1abc758536343520354a14fadbe':
  ART: Dex file verifier can't blindly use GetDescriptor

10 years agoam 37a6981e: Merge "ART: Ignore timing issues in debug builds"
Andreas Gampe [Sat, 14 Jun 2014 02:42:42 +0000 (02:42 +0000)]
am 37a6981e: Merge "ART: Ignore timing issues in debug builds"

* commit '37a6981e355ba3532f5144a1b25be93746b00430':
  ART: Ignore timing issues in debug builds

10 years agoam 2e9a1faf: Merge "Tidy x86 assembler."
Ian Rogers [Sat, 14 Jun 2014 01:08:48 +0000 (01:08 +0000)]
am 2e9a1faf: Merge "Tidy x86 assembler."

* commit '2e9a1faf6a89d464f4f95dd60008a3ccf4a62b76':
  Tidy x86 assembler.

10 years agoam b2192ffe: Merge "Avoid a non-root monitor vector in Dbg::GetOwnedMonitors()."
Hiroshi Yamauchi [Fri, 13 Jun 2014 23:57:53 +0000 (23:57 +0000)]
am b2192ffe: Merge "Avoid a non-root monitor vector in Dbg::GetOwnedMonitors()."

* commit 'b2192ffe6897da6bfd6165db7ce476cba1cd07ae':
  Avoid a non-root monitor vector in Dbg::GetOwnedMonitors().

10 years agoAdd read barriers for the class and the intern tables.
Hiroshi Yamauchi [Fri, 13 Jun 2014 23:44:55 +0000 (16:44 -0700)]
Add read barriers for the class and the intern tables.

Add read barriers for the strong roots in the intern table and the
(strong) roots in the class table to make possible concurrent scanning
of them.

Bug: 12687968
Change-Id: If6edc33a37e65a8494e66dc3b144138b1530367f

10 years agoam 97ed29f8: Merge "ART: Hide unreachable basic blocks in the compiler"
Andreas Gampe [Fri, 13 Jun 2014 22:56:58 +0000 (22:56 +0000)]
am 97ed29f8: Merge "ART: Hide unreachable basic blocks in the compiler"

* commit '97ed29f800c56a06fd6989e0883e4c97bedd2453':
  ART: Hide unreachable basic blocks in the compiler

10 years agoam 8cd927c8: Merge "x86_64: Disable all optimizations and fix bugs"
Ian Rogers [Fri, 13 Jun 2014 22:13:47 +0000 (22:13 +0000)]
am 8cd927c8: Merge "x86_64: Disable all optimizations and fix bugs"

* commit '8cd927c8f6911cfb6118b8c54550959c09eb84f8':
  x86_64: Disable all optimizations and fix bugs

10 years agoam 49a1b407: Merge "Optionally add debug symbols to ELF files made by quick compiler."
Brian Carlstrom [Fri, 13 Jun 2014 21:23:30 +0000 (21:23 +0000)]
am 49a1b407: Merge "Optionally add debug symbols to ELF files made by quick compiler."

* commit '49a1b407f4947f9611838de554dbdaa2d45f8208':
  Optionally add debug symbols to ELF files made by quick compiler.

10 years agoMerge "Quick compiler:interpret on type mismatch"
buzbee [Sat, 14 Jun 2014 20:10:01 +0000 (20:10 +0000)]
Merge "Quick compiler:interpret on type mismatch"

10 years agoQuick compiler:interpret on type mismatch
buzbee [Sat, 14 Jun 2014 19:33:09 +0000 (12:33 -0700)]
Quick compiler:interpret on type mismatch

The Dex specification is a bit loose - particularly in regards
to types.  The Quick compiler, though, makes some assumptions
about types.  In particular, it doesn't expect to encounter the
use of a long or double virtual register pair that was defined
by two independent 32-bit operations.

dx does not create such patterns (at least in recent memory).
However, at least one such case exists in the wild.  The next
version of the Dex specification will add more type constraints
and formally disallow such cases.  Meanwhile, existing code will
be handled by identifying these cases an reverting to interpretation
for the offending method.

Fix for internal b/15616104

Change-Id: Ibe9c423be9a952ff58cf8d985aa164885b8dd2ae

10 years agoMerge "ART: Ignore timing issues in debug builds"
Andreas Gampe [Sat, 14 Jun 2014 02:34:44 +0000 (02:34 +0000)]
Merge "ART: Ignore timing issues in debug builds"

10 years agoART: Ignore timing issues in debug builds
Andreas Gampe [Fri, 13 Jun 2014 22:46:46 +0000 (15:46 -0700)]
ART: Ignore timing issues in debug builds

When in debug builds, do not warn about slow verification and
compilation.

Change-Id: Ib982e1c7cf40cf624688bbf6c41f0a7cc53bbc67

10 years agoMerge "Tidy x86 assembler."
Ian Rogers [Sat, 14 Jun 2014 01:03:01 +0000 (01:03 +0000)]
Merge "Tidy x86 assembler."

10 years agoTidy x86 assembler.
Ian Rogers [Fri, 13 Jun 2014 23:38:24 +0000 (16:38 -0700)]
Tidy x86 assembler.

Use helper functions to compute when the kind has a SIB, a ModRM and RegReg
form.

Change-Id: I86a5cb944eec62451c63281265e6974cd7a08e07

10 years agoam 08eeb38b: Merge "Don\'t use signal handlers in interpreter only mode"
Dave Allison [Fri, 13 Jun 2014 18:58:17 +0000 (18:58 +0000)]
am 08eeb38b: Merge "Don\'t use signal handlers in interpreter only mode"

* commit '08eeb38bb95dbb41dbdb0ea023749889b126af61':
  Don't use signal handlers in interpreter only mode

10 years agoam 6364b429: Merge "ART: Clean up DexFile verifier API"
Andreas Gampe [Fri, 13 Jun 2014 18:49:41 +0000 (18:49 +0000)]
am 6364b429: Merge "ART: Clean up DexFile verifier API"

* commit '6364b4291cd97e125fc1d9c84d6c61bd6dae281b':
  ART: Clean up DexFile verifier API

10 years agoam 73d1f276: Merge "Don\'t verify runtime only opcodes in the data-flow phase of...
Ian Rogers [Fri, 13 Jun 2014 18:40:53 +0000 (18:40 +0000)]
am 73d1f276: Merge "Don\'t verify runtime only opcodes in the data-flow phase of verification."

* commit '73d1f2767d5866593c780bede8091f3aee81aecf':
  Don't verify runtime only opcodes in the data-flow phase of verification.

10 years agoam f0879372: Merge "ART: Check the number of invocation args in verifier"
Andreas Gampe [Fri, 13 Jun 2014 18:09:29 +0000 (18:09 +0000)]
am f0879372: Merge "ART: Check the number of invocation args in verifier"

* commit 'f08793720664025af1c45798bb30cf81575b1f79':
  ART: Check the number of invocation args in verifier

10 years agoam 1eadc566: Merge "ART: Add initialize_type stubs for ARM64; indexof test"
Andreas Gampe [Fri, 13 Jun 2014 17:28:59 +0000 (17:28 +0000)]
am 1eadc566: Merge "ART: Add initialize_type stubs for ARM64; indexof test"

* commit '1eadc56648869e1b3989407525313a7eea1fed22':
  ART: Add initialize_type stubs for ARM64; indexof test

10 years agoam cafd0f25: Merge "Guard `Run` for platforms we\'re not compiling to, yet."
Nicolas Geoffray [Fri, 13 Jun 2014 10:22:30 +0000 (10:22 +0000)]
am cafd0f25: Merge "Guard `Run` for platforms we\'re not compiling to, yet."

* commit 'cafd0f251b32e95d0596b20c9a385433368ba3b9':
  Guard `Run` for platforms we're not compiling to, yet.

10 years agoam 9613592a: Merge "Add x86_64 support to the optimizing compiler."
Nicolas Geoffray [Fri, 13 Jun 2014 10:22:28 +0000 (10:22 +0000)]
am 9613592a: Merge "Add x86_64 support to the optimizing compiler."

* commit '9613592aebace270e5d147c55e8d3c642fbb7541':
  Add x86_64 support to the optimizing compiler.

10 years agoam b08f63c2: Merge "Enable the register allocator on ARM."
Nicolas Geoffray [Fri, 13 Jun 2014 09:42:31 +0000 (09:42 +0000)]
am b08f63c2: Merge "Enable the register allocator on ARM."

* commit 'b08f63c21de64f8b74003e3638e100471bd099f3':
  Enable the register allocator on ARM.

10 years agoam 3316ff53: Merge "ART: Invoke_virtual needs at least receiver parameter"
Andreas Gampe [Thu, 12 Jun 2014 23:54:45 +0000 (23:54 +0000)]
am 3316ff53: Merge "ART: Invoke_virtual needs at least receiver parameter"

* commit '3316ff53b8745707a492d0442a94174abc679ece':
  ART: Invoke_virtual needs at least receiver parameter

10 years agoam a2b87c25: Merge "consolidate profiles and profile-cache"
Nick Kralevich [Thu, 12 Jun 2014 23:12:44 +0000 (23:12 +0000)]
am a2b87c25: Merge "consolidate profiles and profile-cache"

* commit 'a2b87c252cdbde5302dd5cccd7e16eebe5dbb694':
  consolidate profiles and profile-cache

10 years agoam 092ce603: Merge "ART: Do not allow quickened dex codes in compiler mode."
Andreas Gampe [Thu, 12 Jun 2014 23:00:29 +0000 (23:00 +0000)]
am 092ce603: Merge "ART: Do not allow quickened dex codes in compiler mode."

* commit '092ce603c8bc9188d63eb8e9defc321017a098f3':
  ART: Do not allow quickened dex codes in compiler mode.

10 years agoam 1f968319: Merge "AArch64: Add support for inlined methods"
Bill Buzbee [Thu, 12 Jun 2014 22:00:15 +0000 (22:00 +0000)]
am 1f968319: Merge "AArch64: Add support for inlined methods"

* commit '1f968319c95136cafe8e5a813ef822f0a8963b98':
  AArch64: Add support for inlined methods

10 years agoam c56d1675: Merge "ART: Dex file verifier needs to check proto idx of method id."
Andreas Gampe [Thu, 12 Jun 2014 21:55:38 +0000 (21:55 +0000)]
am c56d1675: Merge "ART: Dex file verifier needs to check proto idx of method id."

* commit 'c56d167597c127f552141fd6a4a26dc7e22ccc06':
  ART: Dex file verifier needs to check proto idx of method id.

10 years agoam cbaa3076: Merge "AArch64: Enable MOVE_*, some CONST_*, CMP_*."
Bill Buzbee [Thu, 12 Jun 2014 21:14:41 +0000 (21:14 +0000)]
am cbaa3076: Merge "AArch64: Enable MOVE_*, some CONST_*, CMP_*."

* commit 'cbaa3076b51db805c5e74636d77c8c7cbd79d125':
  AArch64: Enable MOVE_*, some CONST_*, CMP_*.

10 years agoMerge "Don't use signal handlers in interpreter only mode"
Dave Allison [Fri, 13 Jun 2014 18:51:05 +0000 (18:51 +0000)]
Merge "Don't use signal handlers in interpreter only mode"

10 years agoDon't use signal handlers in interpreter only mode
Dave Allison [Fri, 13 Jun 2014 16:09:41 +0000 (09:09 -0700)]
Don't use signal handlers in interpreter only mode

Bug: 15543631

Change-Id: I8f251b5a66487dce3ac3127bdf3b5bc824d0e4bc

10 years agoMerge "ART: Check the number of invocation args in verifier"
Andreas Gampe [Fri, 13 Jun 2014 18:01:51 +0000 (18:01 +0000)]
Merge "ART: Check the number of invocation args in verifier"

10 years agoART: Check the number of invocation args in verifier
Andreas Gampe [Fri, 13 Jun 2014 02:35:05 +0000 (19:35 -0700)]
ART: Check the number of invocation args in verifier

Check the number of invocation arguments against the method's
prototype signature. It could happen that the method wasn't
available, yet, in which case we would let a clearly wrong
instruction through.

This generalizes https://android-review.googlesource.com/#/c/97779/

Bug: 15570483
Change-Id: Ie81aff3c1166a2b2bf1385414dff2e22fbb40ef2

10 years agoMerge "ART: Do not allow quickened dex codes in compiler mode."
Andreas Gampe [Thu, 12 Jun 2014 22:51:22 +0000 (22:51 +0000)]
Merge "ART: Do not allow quickened dex codes in compiler mode."

10 years agoART: Do not allow quickened dex codes in compiler mode.
Andreas Gampe [Thu, 12 Jun 2014 21:35:51 +0000 (14:35 -0700)]
ART: Do not allow quickened dex codes in compiler mode.

The method verifier will reject quickened dex opcodes when the
runtime is in compiler mode, as we do not expect them here.

Bug: 15570344
Change-Id: I072567835139860213f9882cac995370b4548a79

10 years agoMerge "ART: Dex file verifier needs to check proto idx of method id."
Andreas Gampe [Thu, 12 Jun 2014 21:47:57 +0000 (21:47 +0000)]
Merge "ART: Dex file verifier needs to check proto idx of method id."

10 years agoART: Dex file verifier needs to check proto idx of method id.
Andreas Gampe [Thu, 12 Jun 2014 04:46:05 +0000 (21:46 -0700)]
ART: Dex file verifier needs to check proto idx of method id.

Bug: 15570490
Change-Id: I4e90aea6e77711ee37d14d96a1fc9a2fbb980d94

10 years agoam c0090a42: Merge "Rewrite use/def masks to support 128 bits."
Vladimir Marko [Thu, 12 Jun 2014 18:55:24 +0000 (18:55 +0000)]
am c0090a42: Merge "Rewrite use/def masks to support 128 bits."

* commit 'c0090a4206306a80a830de35c7b4c74a43df690a':
  Rewrite use/def masks to support 128 bits.

10 years agoam adea0aa2: Merge "ART: arm64 explicit stack overflow checks"
Bill Buzbee [Thu, 12 Jun 2014 17:46:32 +0000 (17:46 +0000)]
am adea0aa2: Merge "ART: arm64 explicit stack overflow checks"

* commit 'adea0aa22790254bf9978984e9ffc3688a41e129':
  ART: arm64 explicit stack overflow checks

10 years agoam f72b7d60: Merge "AArch64: fix MarkGCCard, enabling more MIR opcodes."
Bill Buzbee [Thu, 12 Jun 2014 17:46:31 +0000 (17:46 +0000)]
am f72b7d60: Merge "AArch64: fix MarkGCCard, enabling more MIR opcodes."

* commit 'f72b7d6066238fd3faa25aac671dbaa02aeafac9':
  AArch64: fix MarkGCCard, enabling more MIR opcodes.

10 years agoam 5110a876: Merge "Fix reflection access check for attached native threads."
Vladimir Marko [Thu, 12 Jun 2014 17:21:05 +0000 (17:21 +0000)]
am 5110a876: Merge "Fix reflection access check for attached native threads."

* commit '5110a876ce7aa1479bcbeabc76403e8b5fbe75d5':
  Fix reflection access check for attached native threads.