OSDN Git Service

android-x86/art.git
9 years agoFix checker tests in 458-checker-instruction-simplification.
Alexandre Rames [Thu, 9 Apr 2015 14:21:41 +0000 (15:21 +0100)]
Fix checker tests in 458-checker-instruction-simplification.

Change-Id: I9931e1692117360b8396c0dd8d171c822f0aba3b

9 years agoMerge "Refine erratum 843419 check for linker workaround."
Vladimir Marko [Fri, 10 Apr 2015 08:46:20 +0000 (08:46 +0000)]
Merge "Refine erratum 843419 check for linker workaround."

9 years agoMerge "Move DWARF related code in ElfWriter to its own file."
David Srbecky [Fri, 10 Apr 2015 08:38:25 +0000 (08:38 +0000)]
Merge "Move DWARF related code in ElfWriter to its own file."

9 years agoMerge "Extend the DWARF library to support .debug_info section."
David Srbecky [Fri, 10 Apr 2015 08:37:00 +0000 (08:37 +0000)]
Merge "Extend the DWARF library to support .debug_info section."

9 years agoMove DWARF related code in ElfWriter to its own file.
David Srbecky [Thu, 9 Apr 2015 23:22:14 +0000 (00:22 +0100)]
Move DWARF related code in ElfWriter to its own file.

This is purely for organisation.  The DWARF related code
is becoming more complex and I do not want to keep mixing
it with the ElfWriter.  The ElfWriter probably should not
be dealing with the fine details of DWARF generation.

I intend to do much more work on DWARF in the future so
this situatuion would only get worse as the code grows.

The code could also use some refactoring and splitting.
However, I have mostly just moved it in this CL.

Change-Id: I6e3401a2b745ddf991b440ad7899ad7d4b921be6

9 years agoMerge "[MIPS] Refactoring code for disassembler"
Andreas Gampe [Thu, 9 Apr 2015 23:33:24 +0000 (23:33 +0000)]
Merge "[MIPS] Refactoring code for disassembler"

9 years agoMerge "ART: Use canonical location in dex2oat"
Andreas Gampe [Thu, 9 Apr 2015 23:07:00 +0000 (23:07 +0000)]
Merge "ART: Use canonical location in dex2oat"

9 years agoMerge "Add support for nested method verifiers"
Mathieu Chartier [Thu, 9 Apr 2015 23:03:45 +0000 (23:03 +0000)]
Merge "Add support for nested method verifiers"

9 years agoExtend the DWARF library to support .debug_info section.
David Srbecky [Wed, 8 Apr 2015 18:37:39 +0000 (19:37 +0100)]
Extend the DWARF library to support .debug_info section.

Change-Id: I9916abd8db227e7a73a3311294e675be5222a709

9 years agoMerge "Remove duplicate of DexFile::DecodeDebugInfo."
David Srbecky [Thu, 9 Apr 2015 22:39:32 +0000 (22:39 +0000)]
Merge "Remove duplicate of DexFile::DecodeDebugInfo."

9 years agoMerge "Fix memory leaks in the CFI tests."
David Srbecky [Thu, 9 Apr 2015 22:39:20 +0000 (22:39 +0000)]
Merge "Fix memory leaks in the CFI tests."

9 years agoFix memory leaks in the CFI tests.
David Srbecky [Thu, 9 Apr 2015 21:51:56 +0000 (22:51 +0100)]
Fix memory leaks in the CFI tests.

Change-Id: Icb98e4995731c7ac5f99d1be20b447161ea4c4bd

9 years agoMerge "ART: Fix indent in Mips backend"
Andreas Gampe [Thu, 9 Apr 2015 22:33:11 +0000 (22:33 +0000)]
Merge "ART: Fix indent in Mips backend"

9 years agoART: Fix indent in Mips backend
Andreas Gampe [Thu, 9 Apr 2015 22:30:51 +0000 (15:30 -0700)]
ART: Fix indent in Mips backend

Change-Id: Ib8bc6f6bf36079e0b6e4b65ceab8af7dedc60efc

9 years agoRemove duplicate of DexFile::DecodeDebugInfo.
David Srbecky [Tue, 7 Apr 2015 18:02:58 +0000 (19:02 +0100)]
Remove duplicate of DexFile::DecodeDebugInfo.

Call DexFile::DecodeDebugInfo instead of having a local copy.

Change-Id: I4f94fd56a81fea1a2d10d5a26b9650d6d7ff9448

9 years agoAdd support for nested method verifiers
Mathieu Chartier [Tue, 31 Mar 2015 21:59:59 +0000 (14:59 -0700)]
Add support for nested method verifiers

Can occur in the following scenario:
MethodVerifier::Verify -> MethodVerifier::GetStaticField ->
ResolveFieldJLS ->  ThrowNoSuchFieldError -> EnsureInitialized ->
VerifyClass

Also fixed another case where we can be requested to dump for ANR
while we are suspended in one of the AllowSuspension points.

Bug: 20140397

Change-Id: Ib17f6b98954caa5d1ea1c1dcde66091cc6d11c25

9 years agoMerge "Fix GenDivRemLit() for Mips."
Andreas Gampe [Thu, 9 Apr 2015 22:09:29 +0000 (22:09 +0000)]
Merge "Fix GenDivRemLit() for Mips."

9 years agoART: Use canonical location in dex2oat
Andreas Gampe [Thu, 9 Apr 2015 21:46:31 +0000 (14:46 -0700)]
ART: Use canonical location in dex2oat

To filter class-path dex files, use the canonical location, not
the location. That will correctly resolve relative vs absolute
paths.

Bug: 20133593
Change-Id: I894656cb6bef75cdaffb188987af0a3647c74ad6

9 years agoMerge "Fix build - the stack frame is too large."
David Srbecky [Thu, 9 Apr 2015 20:13:22 +0000 (20:13 +0000)]
Merge "Fix build - the stack frame is too large."

9 years agoFix build - the stack frame is too large.
David Srbecky [Thu, 9 Apr 2015 20:00:58 +0000 (21:00 +0100)]
Fix build - the stack frame is too large.

Change-Id: Icabad2e3ccbaa4783df6c18c60a206357398edc5

9 years agoMerge "Fix Mac compile error in debug_frame_writer.h"
David Srbecky [Thu, 9 Apr 2015 19:00:44 +0000 (19:00 +0000)]
Merge "Fix Mac compile error in debug_frame_writer.h"

9 years agoRefine erratum 843419 check for linker workaround.
Matteo Franchin [Thu, 2 Apr 2015 14:49:06 +0000 (15:49 +0100)]
Refine erratum 843419 check for linker workaround.

The check is extended to avoid patching sequences where the adrp
is followed by a load which can easily be proved to be aligned.

Change-Id: Ia5741e3d73bc143c29bf0e301f767012d7598171

9 years agoMerge "Quick: PC-relative loads from dex cache arrays on x86."
Vladimir Marko [Thu, 9 Apr 2015 18:40:37 +0000 (18:40 +0000)]
Merge "Quick: PC-relative loads from dex cache arrays on x86."

9 years agoFix Mac compile error in debug_frame_writer.h
David Srbecky [Thu, 9 Apr 2015 18:39:53 +0000 (19:39 +0100)]
Fix Mac compile error in debug_frame_writer.h

Change-Id: I1c5723348011570425cbe5cc1627cd9872020beb

9 years agoMerge "Implement CFI for Optimizing."
David Srbecky [Thu, 9 Apr 2015 17:27:31 +0000 (17:27 +0000)]
Merge "Implement CFI for Optimizing."

9 years agoMerge "[optimizing] Add RIP support for x86_64"
Roland Levillain [Thu, 9 Apr 2015 17:25:02 +0000 (17:25 +0000)]
Merge "[optimizing] Add RIP support for x86_64"

9 years agoMerge "ART: IRT refactor"
Andreas Gampe [Thu, 9 Apr 2015 17:15:22 +0000 (17:15 +0000)]
Merge "ART: IRT refactor"

9 years agoMerge "Implement CFI for JNI."
David Srbecky [Thu, 9 Apr 2015 16:47:14 +0000 (16:47 +0000)]
Merge "Implement CFI for JNI."

9 years agoMerge "x86_64: Fix the rex prefix for movzxb, movsxb, movb"
Andreas Gampe [Thu, 9 Apr 2015 16:41:55 +0000 (16:41 +0000)]
Merge "x86_64: Fix the rex prefix for movzxb, movsxb, movb"

9 years agoMerge "Fix for incorrect parse of PEXTRW instruction"
Andreas Gampe [Thu, 9 Apr 2015 16:40:40 +0000 (16:40 +0000)]
Merge "Fix for incorrect parse of PEXTRW instruction"

9 years agoART: IRT refactor
Andreas Gampe [Wed, 8 Apr 2015 17:26:16 +0000 (10:26 -0700)]
ART: IRT refactor

IRT creation might fail. Add a path that allows to bypass the aborts
and instead signal validity. Hide this path with a private constructor,
rewrite users to use a static Create method.

Bug: 20110201

Change-Id: I440499c3372cd7557eb970b70ce2c4543da520e4

9 years agoMerge "Add test cases to make sure GenDivRemLit() handles 16-bit constants correctly."
Andreas Gampe [Thu, 9 Apr 2015 16:04:55 +0000 (16:04 +0000)]
Merge "Add test cases to make sure GenDivRemLit() handles 16-bit constants correctly."

9 years agoAdd test cases to make sure GenDivRemLit() handles 16-bit
Douglas Leung [Wed, 8 Apr 2015 22:53:58 +0000 (15:53 -0700)]
Add test cases to make sure GenDivRemLit() handles 16-bit
constants correctly.

Change-Id: Idb4aee8b98dc908cb28887e96254f8c254ad7d4d

9 years agoMerge "Test DexOptStatus enum values match DexFile values."
Richard Uhler [Thu, 9 Apr 2015 15:59:02 +0000 (15:59 +0000)]
Merge "Test DexOptStatus enum values match DexFile values."

9 years agoTest DexOptStatus enum values match DexFile values.
Richard Uhler [Wed, 8 Apr 2015 20:17:29 +0000 (13:17 -0700)]
Test DexOptStatus enum values match DexFile values.

Change-Id: Id480fa3f273ff0ce3ec806749f26bfb5a995bc4a

9 years agoMerge "Implement CFI for Quick."
David Srbecky [Thu, 9 Apr 2015 15:52:20 +0000 (15:52 +0000)]
Merge "Implement CFI for Quick."

9 years agoImplement CFI for Optimizing.
David Srbecky [Tue, 7 Apr 2015 19:32:43 +0000 (20:32 +0100)]
Implement CFI for Optimizing.

CFI is necessary for stack unwinding in gdb, lldb, and libunwind.

Change-Id: I1a3480e3a4a99f48bf7e6e63c4e83a80cfee40a2

9 years ago[optimizing] Add RIP support for x86_64
Mark Mendell [Fri, 27 Mar 2015 01:07:46 +0000 (21:07 -0400)]
[optimizing] Add RIP support for x86_64

Support a constant area addressed using RIP on x86_64. Use it for FP
operations to avoid loading constants into a CPU register and moving
to a XMM register.

Change-Id: I58421759ef2a8475538876c20e696ec787015a72
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "Rename isDexOptNeededInternal and add kSelfPatchOatNeeded"
Richard Uhler [Thu, 9 Apr 2015 14:13:29 +0000 (14:13 +0000)]
Merge "Rename isDexOptNeededInternal and add kSelfPatchOatNeeded"

9 years agoMerge "Speedup div/rem by constants on x86 and x86_64"
Calin Juravle [Thu, 9 Apr 2015 12:46:58 +0000 (12:46 +0000)]
Merge "Speedup div/rem by constants on x86 and x86_64"

9 years agoSpeedup div/rem by constants on x86 and x86_64
Guillaume Sanchez [Mon, 30 Mar 2015 16:55:45 +0000 (17:55 +0100)]
Speedup div/rem by constants on x86 and x86_64

This is done using the algorithms in Hacker's Delight chapter 10.

Change-Id: I7bacefe10067569769ed31a1f7834f796fb41119

9 years agoMerge "Opt compiler: ARM64: Use TBZ and TBNZ in VisitIf."
Roland Levillain [Thu, 9 Apr 2015 11:14:45 +0000 (11:14 +0000)]
Merge "Opt compiler: ARM64: Use TBZ and TBNZ in VisitIf."

9 years agoMerge "Exercise art::arm::Thumb2Assembler::StoreToOffset for word pairs."
Roland Levillain [Thu, 9 Apr 2015 10:59:36 +0000 (10:59 +0000)]
Merge "Exercise art::arm::Thumb2Assembler::StoreToOffset for word pairs."

9 years agoQuick: PC-relative loads from dex cache arrays on x86.
Vladimir Marko [Wed, 8 Apr 2015 19:51:48 +0000 (20:51 +0100)]
Quick: PC-relative loads from dex cache arrays on x86.

Rewrite all PC-relative addressing on x86 and implement
PC-relative loads from dex cache arrays. Don't adjust the
base to point to the start of the method, let it point to
the anchor, i.e. the target of the "call +0" insn.

Change-Id: Ic22544a8bc0c5e49eb00a75154dc8f3ead816989

9 years ago[MIPS] Refactoring code for disassembler
Goran Jakovljevic [Wed, 8 Apr 2015 14:26:05 +0000 (16:26 +0200)]
[MIPS] Refactoring code for disassembler

Code for mips64 is merged with code for mips.

Change-Id: I2e3f2118c69a189787ae8e7f09adb4ee5c0d00d9

9 years agox86_64: Fix the rex prefix for movzxb, movsxb, movb
Chao-ying Fu [Tue, 7 Apr 2015 23:03:04 +0000 (16:03 -0700)]
x86_64: Fix the rex prefix for movzxb, movsxb, movb

This patch sets the rex prefix for the source byte register of
movzxb, movsxb, and movb that has the destination memory operand,
when the register is SPL, BPL, SIL, DIL.

This patch adds tests for movzxb and movsxb via Repeatrb(),
and adds the tertiary and quaternary register views for word and
byte registers on x86_64.
TODO: Support tests with memory operands.

Change-Id: I0c5c727f3dd4a75af039b87f7e57d0741e689038
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
9 years agoMerge "Quick: Clean up temp use counting."
Vladimir Marko [Wed, 8 Apr 2015 17:08:04 +0000 (17:08 +0000)]
Merge "Quick: Clean up temp use counting."

9 years agoMerge "Fix JDWP race at runtime shutdown"
Sebastien Hertz [Wed, 8 Apr 2015 16:42:38 +0000 (16:42 +0000)]
Merge "Fix JDWP race at runtime shutdown"

9 years agoMerge "[optimizing] Implement more x86/x86_64 intrinsics"
Andreas Gampe [Wed, 8 Apr 2015 16:07:41 +0000 (16:07 +0000)]
Merge "[optimizing] Implement more x86/x86_64 intrinsics"

9 years agoImplement CFI for JNI.
David Srbecky [Tue, 7 Apr 2015 19:29:48 +0000 (20:29 +0100)]
Implement CFI for JNI.

CFI is necessary for stack unwinding in gdb, lldb, and libunwind.

Change-Id: I37eb7973f99a6975034cf0e699e138c3a9aba10f

9 years agoQuick: Clean up temp use counting.
Vladimir Marko [Wed, 8 Apr 2015 09:01:01 +0000 (10:01 +0100)]
Quick: Clean up temp use counting.

For the boot image on arm64 and x86-64 we're using true
PC-relative addressing, so pc_rel_temp_ is nullptr and
CanUsePcRelDexCacheArrayLoad() returns true, but we're not
actually using the ArtMethod* so fix the AnalyzeMIR() to
take it into account.

Also don't count intrinsic invokes towards ArtMethod* uses.
To avoid repeated method inliner inquiries about whether a
method is intrinsic or special (requiring lock acquisition),
cache that information in MirMethodLoweringInfo. As part of
that cleanup, take quickened invokes into account for
suspend check elimination.

Change-Id: I5b4ec124221c0db1314c8e72675976c110ebe7ca

9 years agoImplement CFI for Quick.
David Srbecky [Tue, 7 Apr 2015 19:21:06 +0000 (20:21 +0100)]
Implement CFI for Quick.

CFI is necessary for stack unwinding in gdb, lldb, and libunwind.

Change-Id: Ic3b84c9dc91c4bae80e27cda02190f3274e95ae8

9 years agoMerge "Remove the old CFI infrastructure."
David Srbecky [Wed, 8 Apr 2015 12:30:18 +0000 (12:30 +0000)]
Merge "Remove the old CFI infrastructure."

9 years agoOpt compiler: ARM64: Use TBZ and TBNZ in VisitIf.
Alexandre Rames [Tue, 3 Feb 2015 10:28:33 +0000 (10:28 +0000)]
Opt compiler: ARM64: Use TBZ and TBNZ in VisitIf.

TBZ and TBNZ have a short range. Now that VIXL supports
veneers, we can use them safely without the danger of
running out of range.

Change-Id: Iaf77a441ccf86282c1793a2213a69a2091ca829a

9 years agoMerge "Exercise art::arm::Thumb2Assembler::StoreToOffset for words."
Roland Levillain [Wed, 8 Apr 2015 08:50:47 +0000 (08:50 +0000)]
Merge "Exercise art::arm::Thumb2Assembler::StoreToOffset for words."

9 years agoMerge "Ignore not yet loaded classes during hprof"
Sebastien Hertz [Wed, 8 Apr 2015 08:49:19 +0000 (08:49 +0000)]
Merge "Ignore not yet loaded classes during hprof"

9 years agoMerge "ART: Remove LLVM cruft"
Andreas Gampe [Wed, 8 Apr 2015 03:06:26 +0000 (03:06 +0000)]
Merge "ART: Remove LLVM cruft"

9 years agoART: Remove LLVM cruft
Andreas Gampe [Wed, 8 Apr 2015 02:58:03 +0000 (19:58 -0700)]
ART: Remove LLVM cruft

Change-Id: I133ebed6101bf12a0642ed71e13f332c0c4f14e7

9 years agoFix GenDivRemLit() for Mips.
Douglas Leung [Tue, 7 Apr 2015 20:25:56 +0000 (13:25 -0700)]
Fix GenDivRemLit() for Mips.

This bug was reported by Ingenic where the result is incorrect if
we divide a number by an unsigned 16-bit constant with its
MSB bit (bit 15) set.

Change-Id: I53d2599918cc47b1a9809160310716dca67ef243

9 years agoMerge "ART: Fix 64-bit ELF file support"
Andreas Gampe [Wed, 8 Apr 2015 00:37:23 +0000 (00:37 +0000)]
Merge "ART: Fix 64-bit ELF file support"

9 years agoART: Fix 64-bit ELF file support
Andreas Gampe [Tue, 7 Apr 2015 23:09:30 +0000 (16:09 -0700)]
ART: Fix 64-bit ELF file support

The API wasn't cross-compile-safe, 32-bit patchoat would fail for
negative delta applied to a 64-bit ELF file.

Add 64-bit ELF file output to the compilers, behind a flag, currently
off by default (preserving current behavior).

Bug: 20095017
Change-Id: I2cde7b4c7cc83413c76692d7b745868d644a604c

9 years agoMerge "Promote pointer to dex cache arrays on arm."
Vladimir Marko [Tue, 7 Apr 2015 19:34:39 +0000 (19:34 +0000)]
Merge "Promote pointer to dex cache arrays on arm."

9 years agoMerge "PC-relative loads from dex cache arrays for arm."
Vladimir Marko [Tue, 7 Apr 2015 19:34:01 +0000 (19:34 +0000)]
Merge "PC-relative loads from dex cache arrays for arm."

9 years agoRemove the old CFI infrastructure.
David Srbecky [Tue, 7 Apr 2015 18:46:22 +0000 (19:46 +0100)]
Remove the old CFI infrastructure.

Change-Id: I12a17a8a1c39ffccaa499c328ebac36e4d74dc4e

9 years agoMerge "Quick: Use PC-relative dex cache array loads for SGET/SPUT."
Vladimir Marko [Tue, 7 Apr 2015 19:01:32 +0000 (19:01 +0000)]
Merge "Quick: Use PC-relative dex cache array loads for SGET/SPUT."

9 years agoMerge "Fix CC root visiting bug"
Mathieu Chartier [Tue, 7 Apr 2015 18:24:13 +0000 (18:24 +0000)]
Merge "Fix CC root visiting bug"

9 years agoPromote pointer to dex cache arrays on arm.
Vladimir Marko [Tue, 7 Apr 2015 08:36:09 +0000 (09:36 +0100)]
Promote pointer to dex cache arrays on arm.

Do the use-count analysis on temps (ArtMethod* and the new
PC-relative temp) in Mir2Lir, rather than MIRGraph. MIRGraph
isn't really supposed to know how the ArtMethod* is used by
the backend.

Change-Id: Iaf56a46ae203eca86281b02b54f39a80fe5cc2dd

9 years agoPC-relative loads from dex cache arrays for arm.
Vladimir Marko [Mon, 6 Apr 2015 11:10:19 +0000 (12:10 +0100)]
PC-relative loads from dex cache arrays for arm.

Change-Id: Ic25df4b51a901ff1d2ca356b5eec71d4acc5d9b7

9 years agoQuick: Use PC-relative dex cache array loads for SGET/SPUT.
Vladimir Marko [Tue, 7 Apr 2015 08:56:48 +0000 (09:56 +0100)]
Quick: Use PC-relative dex cache array loads for SGET/SPUT.

Change-Id: I890284b73f69120ada5cf9b9ef4a717af3273cd2

9 years agoFix CC root visiting bug
Mathieu Chartier [Tue, 7 Apr 2015 17:39:04 +0000 (10:39 -0700)]
Fix CC root visiting bug

Also some cleanup.

Change-Id: Ia3de8f2d409770be3619ec116e8b06ecd82338fe

9 years agoMerge "ART: Print C1vis header only if visualizer enabled"
David Brazdil [Tue, 7 Apr 2015 17:33:43 +0000 (17:33 +0000)]
Merge "ART: Print C1vis header only if visualizer enabled"

9 years agoMerge "ART: Remove unused variables."
Andreas Gampe [Tue, 7 Apr 2015 17:29:21 +0000 (17:29 +0000)]
Merge "ART: Remove unused variables."

9 years agoART: Print C1vis header only if visualizer enabled
David Brazdil [Tue, 7 Apr 2015 17:09:37 +0000 (18:09 +0100)]
ART: Print C1vis header only if visualizer enabled

Setting kStringFilter currently suppresses graph dumps of non-matching
methods but their headers are still printed. This fixes the issue.

Change-Id: Ib33fb20fcca2bf409534a824e7f76f1feb85724d

9 years agoART: Remove unused variables.
Andreas Gampe [Tue, 7 Apr 2015 16:51:52 +0000 (09:51 -0700)]
ART: Remove unused variables.

Curious that neither Clang nor GCC flagged those.

Change-Id: Ie1866d8171651c768e378d829a669cc57cab1f09

9 years agoMerge "Remove fuzzer build-time dependency on core image."
Calin Juravle [Tue, 7 Apr 2015 16:03:19 +0000 (16:03 +0000)]
Merge "Remove fuzzer build-time dependency on core image."

9 years agoRemove fuzzer build-time dependency on core image.
Calin Juravle [Tue, 7 Apr 2015 11:31:39 +0000 (12:31 +0100)]
Remove fuzzer build-time dependency on core image.

Test if the image exists at runtime.

Forcing this dependency slows down development. For example, if after a
change dex2oat does not compile anymore you need to first revert to a
stable state and rebuild the core image to be able to move foreward.
Since this is a test tool, it is ok to assume that the core image has
already been built if host execution was selected.

Change-Id: Id61a960ba62bb8d1d21acb07114f72208fbc9720

9 years agoMerge "JDWP: clear exception when allocation fails"
Sebastien Hertz [Tue, 7 Apr 2015 15:16:13 +0000 (15:16 +0000)]
Merge "JDWP: clear exception when allocation fails"

9 years agoExercise art::arm::Thumb2Assembler::StoreToOffset for word pairs.
Roland Levillain [Tue, 7 Apr 2015 12:54:49 +0000 (13:54 +0100)]
Exercise art::arm::Thumb2Assembler::StoreToOffset for word pairs.

- Augment compiler/utils/arm/assembler_thumb2_test.cc.
- Ensure art::arm::Thumb2Assembler::StoreToOffset properly
  handles IP as (implicit) second source register.
- Remove the parity constraint on the first source register
  for art::arm::Thumb2Assembler::ldrd and
  art::arm::Thumb2Assembler::strd (as they are not required
  by the Thumb-2 encoding).
- Introduce additional versions of
  art::arm::Thumb2Assembler::ldrd and
  art::arm::Thumb2Assembler::strd accepting a second source
  register, which is not necessarily the one following the
  first source register, as it is allowed by the Thumb-2
  encoding.

Change-Id: I7dba168437a96a5cbb117058e9c547fb1ff5c295

9 years agoMerge "Fix address formatting in Mips64 disassembler."
David Srbecky [Tue, 7 Apr 2015 12:38:57 +0000 (12:38 +0000)]
Merge "Fix address formatting in Mips64 disassembler."

9 years agoMerge "Build 32-bit version of the disassembler as well."
David Srbecky [Tue, 7 Apr 2015 12:38:16 +0000 (12:38 +0000)]
Merge "Build 32-bit version of the disassembler as well."

9 years agoMerge "Proper fix for issue 20051601 - arm actually means thumb2."
David Srbecky [Tue, 7 Apr 2015 12:36:40 +0000 (12:36 +0000)]
Merge "Proper fix for issue 20051601 - arm actually means thumb2."

9 years agoIgnore not yet loaded classes during hprof
Sebastien Hertz [Tue, 7 Apr 2015 08:28:53 +0000 (10:28 +0200)]
Ignore not yet loaded classes during hprof

Skips classes that are no yet loaded because we cannot access its
fields nor its superclass. This CL fixes a crash observed during the
run-test 130-hprof.

Bug: 20040824
Change-Id: Ia618b6c1579d35dfd726726ca6d2ff4258d8a841

9 years agoFix for incorrect parse of PEXTRW instruction
nikolay serdjuk [Fri, 27 Mar 2015 10:32:27 +0000 (16:32 +0600)]
Fix for incorrect parse of PEXTRW instruction

The instruction PEXTRW encoded by sequence 66 0F C5 has form:
PEXTRW reg, xmm, imm8. Its reg is encoded in the REG part and
xmm is encoded in the R/M part of ModR/M byte. Since the order
is opposite to the PEXTRB and PEXTRD, we have to set 'load' to
true and 'store' leave as false.

Change-Id: I32c42ea005eec29f7bf969f275c36ffa0a95fa6d

9 years ago[optimizing] Implement more x86/x86_64 intrinsics
Mark Mendell [Fri, 3 Apr 2015 18:52:31 +0000 (14:52 -0400)]
[optimizing] Implement more x86/x86_64 intrinsics

Implement CAS and bit reverse and byte reverse intrinsics that were
missing from x86 and x86_64 implementations.

Add assembler tests and compareAndSwapLong test.

Change-Id: Iabb2ff46036645df0a91f640288ef06090a64ee3
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "Revert "ART: Fix noreturn for Mac""
Andreas Gampe [Tue, 7 Apr 2015 03:00:11 +0000 (03:00 +0000)]
Merge "Revert "ART: Fix noreturn for Mac""

9 years agoRevert "ART: Fix noreturn for Mac"
Andreas Gampe [Tue, 7 Apr 2015 02:53:04 +0000 (02:53 +0000)]
Revert "ART: Fix noreturn for Mac"

missing-noreturn was turned off for Mac for all the
other similar warnings. Restore the cleaner header
file.

This reverts commit 79dda4251d7e3a7888e326bc7a3f069d6190d194.

Change-Id: Ia25a47533ff7848ad96e0d76e7f0ea768a48f946

9 years agoMerge "ART: Turn off missing-noreturn for Mac"
Andreas Gampe [Tue, 7 Apr 2015 02:51:52 +0000 (02:51 +0000)]
Merge "ART: Turn off missing-noreturn for Mac"

9 years agoART: Turn off missing-noreturn for Mac
Andreas Gampe [Tue, 7 Apr 2015 02:50:46 +0000 (19:50 -0700)]
ART: Turn off missing-noreturn for Mac

Too much stuff unimplemented and causing warnings.

Change-Id: I43bae875f1eca3cc24e03b0e7d6fdfd2adae0cbd

9 years agoMerge "ART: Add support for "silvermont" variant"
Andreas Gampe [Tue, 7 Apr 2015 01:07:32 +0000 (01:07 +0000)]
Merge "ART: Add support for "silvermont" variant"

9 years agoMerge "ART: Fix noreturn for Mac"
Andreas Gampe [Tue, 7 Apr 2015 00:22:38 +0000 (00:22 +0000)]
Merge "ART: Fix noreturn for Mac"

9 years agoART: Fix noreturn for Mac
Andreas Gampe [Tue, 7 Apr 2015 00:17:34 +0000 (17:17 -0700)]
ART: Fix noreturn for Mac

Change-Id: I59b60340a90672a4de4d3bdf092fa504394d5892

9 years agoMerge "Add more logging for debugging possible deadlock"
Mathieu Chartier [Tue, 7 Apr 2015 00:13:31 +0000 (00:13 +0000)]
Merge "Add more logging for debugging possible deadlock"

9 years agoAdd more logging for debugging possible deadlock
Mathieu Chartier [Tue, 7 Apr 2015 00:10:58 +0000 (17:10 -0700)]
Add more logging for debugging possible deadlock

Change-Id: I4b2db54504d3ed8c2c33a110191488cab1fcb2d9

9 years agoMerge "Prevent verified method from being deleted by compiler driver."
Jeff Hao [Mon, 6 Apr 2015 23:08:41 +0000 (23:08 +0000)]
Merge "Prevent verified method from being deleted by compiler driver."

9 years agoMerge "Fix JNI compiler for mips64"
Andreas Gampe [Mon, 6 Apr 2015 22:59:53 +0000 (22:59 +0000)]
Merge "Fix JNI compiler for mips64"

9 years agoPrevent verified method from being deleted by compiler driver.
Jeff Hao [Mon, 6 Apr 2015 21:21:37 +0000 (14:21 -0700)]
Prevent verified method from being deleted by compiler driver.

The results of it will be needed by future optimizing compiler changes.

Change-Id: Ifbdf47e7564906b74193f80a4ba0459eed87c0f7

9 years agoFix JNI compiler for mips64
Goran Jakovljevic [Fri, 3 Apr 2015 13:45:21 +0000 (15:45 +0200)]
Fix JNI compiler for mips64

Fix assembly instructions in JNI stub to store the right size. Fix
callee-saves in JNI calling convention to reflect return registers.
Fix pointer size in mips64 assembler.

Change-Id: I4eccd1f56f62fa9119918192ec424e9073398bc7

9 years agoMerge "ART: Fix gtests for missing-noreturn"
Andreas Gampe [Mon, 6 Apr 2015 22:35:41 +0000 (22:35 +0000)]
Merge "ART: Fix gtests for missing-noreturn"

9 years agoART: Fix gtests for missing-noreturn
Andreas Gampe [Mon, 6 Apr 2015 22:35:02 +0000 (15:35 -0700)]
ART: Fix gtests for missing-noreturn

gtest.h isn't sufficiently annotated.

Change-Id: I3d5fac8bcdd645227bfd7886c3aa781b225fcc9c

9 years agoMerge "ART: Make unknown variant "mips64r6" go away"
Andreas Gampe [Mon, 6 Apr 2015 21:44:50 +0000 (21:44 +0000)]
Merge "ART: Make unknown variant "mips64r6" go away"