OSDN Git Service

android-x86/art.git
10 years agoMerge "Use LIRSlowPath for intrinsics, improve String.indexOf()."
Vladimir Marko [Thu, 13 Mar 2014 16:00:35 +0000 (16:00 +0000)]
Merge "Use LIRSlowPath for intrinsics, improve String.indexOf()."

10 years agoUse LIRSlowPath for intrinsics, improve String.indexOf().
Vladimir Marko [Thu, 13 Mar 2014 14:11:28 +0000 (14:11 +0000)]
Use LIRSlowPath for intrinsics, improve String.indexOf().

Rewrite intrinsic launchpads to use the LIRSlowPath.
Improve String.indexOf for constant chars by avoiding
the check for code points over 0xFFFF.

Change-Id: I7fd5583214c5b4ab9c38ee36c5d6f003dd6345a8

10 years agoMerge "Bump up stack overflow region for 64bit."
Ian Rogers [Thu, 13 Mar 2014 15:19:04 +0000 (15:19 +0000)]
Merge "Bump up stack overflow region for 64bit."

10 years agoMerge "ART's intrinsic for String.indexOf use the incorrect register"
Bill Buzbee [Thu, 13 Mar 2014 13:33:19 +0000 (13:33 +0000)]
Merge "ART's intrinsic for String.indexOf use the incorrect register"

10 years agoMerge "Add dex2oat --print-pass-names and --disable-passes= options."
Vladimir Marko [Thu, 13 Mar 2014 12:10:49 +0000 (12:10 +0000)]
Merge "Add dex2oat --print-pass-names and --disable-passes= options."

10 years agoMerge "Move inline method detection to runtime."
Vladimir Marko [Thu, 13 Mar 2014 10:33:35 +0000 (10:33 +0000)]
Merge "Move inline method detection to runtime."

10 years agoMerge "Fix non-{arm, x86} builds."
Nicolas Geoffray [Thu, 13 Mar 2014 10:30:13 +0000 (10:30 +0000)]
Merge "Fix non-{arm, x86} builds."

10 years agoFix non-{arm, x86} builds.
Nicolas Geoffray [Thu, 13 Mar 2014 10:28:41 +0000 (10:28 +0000)]
Fix non-{arm, x86} builds.

Change-Id: If4c13775f8e1fd0fd26b4a731f3011c77b0bfed1

10 years agoMerge "Fix virt-specifiers outside class definition errors."
Nicolas Geoffray [Thu, 13 Mar 2014 09:59:19 +0000 (09:59 +0000)]
Merge "Fix virt-specifiers outside class definition errors."

10 years agoFix virt-specifiers outside class definition errors.
Nicolas Geoffray [Thu, 13 Mar 2014 09:50:25 +0000 (09:50 +0000)]
Fix virt-specifiers outside class definition errors.

Change-Id: Iab341e12e7a978aff6bc35117e9b15f3b2c2cedd

10 years agoMerge "More code generation for the optimizing compiler."
Nicolas Geoffray [Thu, 13 Mar 2014 09:24:22 +0000 (09:24 +0000)]
Merge "More code generation for the optimizing compiler."

10 years agoMore code generation for the optimizing compiler.
Nicolas Geoffray [Tue, 11 Mar 2014 17:53:17 +0000 (17:53 +0000)]
More code generation for the optimizing compiler.

- Add HReturn instruction
- Generate code for locals/if/return
- Setup infrastructure for register allocation. Currently
  emulate a stack.

Change-Id: Ib28c2dba80f6c526177ed9a7b09c0689ac8122fb

10 years agoMerge "Add command line support for enabling the optimizing compiler."
Nicolas Geoffray [Thu, 13 Mar 2014 09:12:59 +0000 (09:12 +0000)]
Merge "Add command line support for enabling the optimizing compiler."

10 years agoAdd command line support for enabling the optimizing compiler.
Nicolas Geoffray [Fri, 7 Mar 2014 15:28:39 +0000 (15:28 +0000)]
Add command line support for enabling the optimizing compiler.

Also run tests with the optimizing compiler enabled when
the file art/USE_OPTIMIZING_COMPILER is present.

Change-Id: Ibc33eed62a43547bc3b9fe786d014c0d81b5add8

10 years agoART's intrinsic for String.indexOf use the incorrect register
Yevgeny Rouban [Thu, 13 Mar 2014 05:15:58 +0000 (12:15 +0700)]
ART's intrinsic for String.indexOf use the incorrect register

ART's intrinsic for String.indexOf of x86 platform use the incorrect register
to compare start with the string length. It should be fixed.

Change-Id: I22986b4d4b23f62b4bb97baab9fe43152d12145e
Signed-off-by: Vladimir Ivanov <vladimir.a.ivanov@intel.com>
Signed-off-by: Yevgeny Rouban <yevgeny.y.rouban@intel.com>
10 years agoBump up stack overflow region for 64bit.
Ian Rogers [Thu, 13 Mar 2014 06:35:11 +0000 (23:35 -0700)]
Bump up stack overflow region for 64bit.

Change-Id: Ia57538ae4ae2d13c5c570a8cbdf3f7703b568c87

10 years agoMerge "Fix type of constant to be long."
Ian Rogers [Thu, 13 Mar 2014 01:54:32 +0000 (01:54 +0000)]
Merge "Fix type of constant to be long."

10 years agoFix type of constant to be long.
Ian Rogers [Thu, 13 Mar 2014 01:40:08 +0000 (18:40 -0700)]
Fix type of constant to be long.

Change-Id: Ie6bf60ccfd0517b6e07c7e4461f58c84b4a51fe4

10 years agoMerge "Work-around stack overflow issues."
Andreas Gampe [Thu, 13 Mar 2014 00:02:07 +0000 (00:02 +0000)]
Merge "Work-around stack overflow issues."

10 years agoWork-around stack overflow issues.
Ian Rogers [Wed, 12 Mar 2014 23:23:09 +0000 (16:23 -0700)]
Work-around stack overflow issues.

Change-Id: I06693a53469f1f2cccc956bff5d53f04aed5f62d

10 years agoMerge "Fixing structure of native frame for Generic JNI"
Andreas Gampe [Wed, 12 Mar 2014 22:20:00 +0000 (22:20 +0000)]
Merge "Fixing structure of native frame for Generic JNI"

10 years agoFixing structure of native frame for Generic JNI
Andreas Gampe [Mon, 10 Mar 2014 20:37:40 +0000 (13:37 -0700)]
Fixing structure of native frame for Generic JNI

This changes the layout of the callee-save frame used in generic
JNI to be consistent with the JNI compiler, that is, the SIRT is
inline (above the method reference). Now the location of the
"this" object is consistent.

Change-Id: Ibad0882680712cb640b4c70ada0229ef7cf4e62c

10 years agoMerge "Fix tests for 64b"
Andreas Gampe [Wed, 12 Mar 2014 22:14:25 +0000 (22:14 +0000)]
Merge "Fix tests for 64b"

10 years agoMerge "Improve use of CHECK macros."
Ian Rogers [Wed, 12 Mar 2014 22:01:53 +0000 (22:01 +0000)]
Merge "Improve use of CHECK macros."

10 years agoMerge "Fix oatdump for apps."
Dave Allison [Wed, 12 Mar 2014 21:50:13 +0000 (21:50 +0000)]
Merge "Fix oatdump for apps."

10 years agoImprove use of CHECK macros.
Ian Rogers [Wed, 12 Mar 2014 21:32:27 +0000 (14:32 -0700)]
Improve use of CHECK macros.

Motivated by a bogus compiler warning for debug with O2, switch from
CHECK(x < y) to the recommended CHECK_LT(x, y). Fix bug in
RosAlloc::Initialize where an assignment was being performed within
a DCHECK.

Change-Id: Iaf466849ae79ae1497162e81a3e092bf13109aa9

10 years agoFix tests for 64b
Andreas Gampe [Wed, 12 Mar 2014 21:11:40 +0000 (14:11 -0700)]
Fix tests for 64b

These tests make assumptions about pointer sizes.

Change-Id: Idfd410144393d716ae176a6e9a51c5b414e0888e

10 years agoMerge "Implement proxy support for x86-64."
Ian Rogers [Wed, 12 Mar 2014 19:18:10 +0000 (19:18 +0000)]
Merge "Implement proxy support for x86-64."

10 years agoImplement proxy support for x86-64.
Ian Rogers [Wed, 12 Mar 2014 19:11:54 +0000 (12:11 -0700)]
Implement proxy support for x86-64.

Change-Id: I91490a38347fdee413a191412f07b883654d4229

10 years agoMerge "Set default dex2oat instruction set for x86-64 and ARM64."
Ian Rogers [Wed, 12 Mar 2014 19:07:11 +0000 (19:07 +0000)]
Merge "Set default dex2oat instruction set for x86-64 and ARM64."

10 years agoSet default dex2oat instruction set for x86-64 and ARM64.
Ian Rogers [Wed, 12 Mar 2014 18:51:02 +0000 (11:51 -0700)]
Set default dex2oat instruction set for x86-64 and ARM64.

Change-Id: I43062dfadb8a4f51304fd06f0105d6af81cf0331

10 years agoMerge "Fixed and refactored 64b host build"
Andreas Gampe [Wed, 12 Mar 2014 18:36:39 +0000 (18:36 +0000)]
Merge "Fixed and refactored 64b host build"

10 years agoFix oatdump for apps.
Dave Allison [Wed, 12 Mar 2014 18:05:39 +0000 (11:05 -0700)]
Fix oatdump for apps.

This fixes the assertion failure for the interpreter to interpreter bridge offset
when dumping an app.

Bug: 13433669
Change-Id: Ic405ef7e43b849573a27db2ffa570e87b80c6af7

10 years agoFixed and refactored 64b host build
Andreas Gampe [Wed, 12 Mar 2014 17:59:26 +0000 (10:59 -0700)]
Fixed and refactored 64b host build

Add a global variable ART_HOST_ARCH in build/Android.common.mk that
will be set to x86 or x86_64 depending on BUILD_HOST_64bit. This is
then used as the instruction set for dex2oat.

Change-Id: Icec8ef9139f780314a3ff325a729750e65d6d8da

10 years agoMove inline method detection to runtime.
Vladimir Marko [Wed, 12 Mar 2014 15:42:41 +0000 (15:42 +0000)]
Move inline method detection to runtime.

The debugger needs this for selective deoptimization.

Change-Id: I8100000449b56e619288fb05d41ea6f02b53b334

10 years agoAdd dex2oat --print-pass-names and --disable-passes= options.
Chao-ying Fu [Tue, 11 Mar 2014 21:57:19 +0000 (14:57 -0700)]
Add dex2oat --print-pass-names and --disable-passes= options.

Add --print-pass-names to print a list of pass names.
Add --disable-passes= to disable one ore more passes
separated by comma.
Ex: Using --disable-passes=UseCount,BBOptimizations can disable UseCount
and BBOptimizations passes.

Change-Id: I0dffaf10547afdcca78a20d8e0e6b358bfb2ee8c
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
10 years agoMerge "Test Method.getModifiers() result for proxy methods"
Brian Carlstrom [Wed, 12 Mar 2014 15:58:55 +0000 (15:58 +0000)]
Merge "Test Method.getModifiers() result for proxy methods"

10 years agoTest Method.getModifiers() result for proxy methods
Brian Carlstrom [Wed, 12 Mar 2014 15:42:34 +0000 (08:42 -0700)]
Test Method.getModifiers() result for proxy methods

Change-Id: I2ba3be80ea21c5cfc0e2b9463270e34622c8c92b

10 years agoMerge "A few 64bit fixes."
Ian Rogers [Wed, 12 Mar 2014 15:42:04 +0000 (15:42 +0000)]
Merge "A few 64bit fixes."

10 years agoA few 64bit fixes.
Ian Rogers [Wed, 12 Mar 2014 08:02:21 +0000 (01:02 -0700)]
A few 64bit fixes.

Change-Id: I1fe189d638b9cb5127b897da6cecdad6902db930

10 years agoMerge "Remove spurious duplicate line of code"
Ian Rogers [Wed, 12 Mar 2014 05:04:36 +0000 (05:04 +0000)]
Merge "Remove spurious duplicate line of code"

10 years agoMerge "Always reset CFI state."
Ian Rogers [Wed, 12 Mar 2014 04:56:00 +0000 (04:56 +0000)]
Merge "Always reset CFI state."

10 years agoAlways reset CFI state.
Ian Rogers [Tue, 11 Mar 2014 23:29:07 +0000 (16:29 -0700)]
Always reset CFI state.

.cfi_startproc simple may do even less than .cfi_startproc, so don't rely on
it. Instead, use regular .cfi_startporc and always set up the expected entry
state.

Change-Id: I6d3e8b8e4a07621bc99c062359a109eb76f85184

10 years agoRemove spurious duplicate line of code
buzbee [Tue, 11 Mar 2014 23:05:14 +0000 (16:05 -0700)]
Remove spurious duplicate line of code

This CL removes a duplicate line of code which appears to have
been intended for removal during a cleanup, but wasn't.  It would
not have affected correctness, rather it uselessly performed the
same store twice.

Bug originally reported by M Mendell.

Change-Id: If4333a29f32b6bdb944b67aa560d856611041ff6

10 years agoMerge "Put the post zygote non-moving space next to the malloc space."
Hiroshi Yamauchi [Tue, 11 Mar 2014 21:47:18 +0000 (21:47 +0000)]
Merge "Put the post zygote non-moving space next to the malloc space."

10 years agoPut the post zygote non-moving space next to the malloc space.
Hiroshi Yamauchi [Tue, 11 Mar 2014 19:19:04 +0000 (12:19 -0700)]
Put the post zygote non-moving space next to the malloc space.

This change fixes the following problem with the GSS collector: if the
post zygote non-moving space happens to be located after the bump
pointer spaces, the bump pointer space is treated wrongfully as an
immune space. The reasons are 1) the immune space is represented by a
simple address range and 2) the GSS collector treats the post zygote
non-moving space as an immune space at a bump pointer space only
collection.

In addition, this change makes it a reality that all the non-moving
spaces are adjacent, which we tend to assume in the code (eg. the
notion of the immune space represented by a simple address range.)
This should help avoid potential confusions in the future.

Fix a DCHECK failure where usable_size isn't set properly when
-XX:UseTLAB is used.

Change-Id: I585920e433744a390f87e9a25bef6114b2a4623f

10 years agoMerge "Ensure functions start with clean CFA state."
Ian Rogers [Tue, 11 Mar 2014 18:44:00 +0000 (18:44 +0000)]
Merge "Ensure functions start with clean CFA state."

10 years agoEnsure functions start with clean CFA state.
Ian Rogers [Tue, 11 Mar 2014 18:30:20 +0000 (11:30 -0700)]
Ensure functions start with clean CFA state.

.cfi_startproc doesn't reset CFA state and so delivering exceptions and the
like can leave the CFA with an incorrect offset. Reset the state in the
DEFINE_FUNCTION macro.
Also fix using test/run-test with --gdb for the target.

Change-Id: I4c03768e118ef1e06d34fedce856919e6ecba0c4

10 years agoMerge "Fix BitVector::SetInitialBits()."
Vladimir Marko [Tue, 11 Mar 2014 13:49:19 +0000 (13:49 +0000)]
Merge "Fix BitVector::SetInitialBits()."

10 years agoFix BitVector::SetInitialBits().
Vladimir Marko [Tue, 11 Mar 2014 12:42:25 +0000 (12:42 +0000)]
Fix BitVector::SetInitialBits().

Change-Id: Iad3699d76ad69536aa4810329f5863bc995f6551

10 years agoMerge "Avoid Cache*LoweringInfo pass when there's no GET/PUT/INVOKE."
Vladimir Marko [Tue, 11 Mar 2014 11:28:49 +0000 (11:28 +0000)]
Merge "Avoid Cache*LoweringInfo pass when there's no GET/PUT/INVOKE."

10 years agoAvoid Cache*LoweringInfo pass when there's no GET/PUT/INVOKE.
Vladimir Marko [Thu, 6 Mar 2014 15:18:04 +0000 (15:18 +0000)]
Avoid Cache*LoweringInfo pass when there's no GET/PUT/INVOKE.

Add new data flow flags indicating instance/static field
access. Record merged flags of all insns and use them to skip
the CacheFieldLoweringInfo pass if the method uses no fields
and the CacheMethodLoweringInfo pass if it has no invokes.

Change-Id: I36a36b438ca9b0f104a7baddc0497d736495cc3c

10 years agoMerge "Disable host clang only if WITHOUT_HOST_CLANG is set"
Ying Wang [Tue, 11 Mar 2014 02:03:26 +0000 (02:03 +0000)]
Merge "Disable host clang only if WITHOUT_HOST_CLANG is set"

10 years agoDisable host clang only if WITHOUT_HOST_CLANG is set
Ying Wang [Tue, 11 Mar 2014 01:27:10 +0000 (18:27 -0700)]
Disable host clang only if WITHOUT_HOST_CLANG is set

Bug: 13402154
Change-Id: Ib915e31106aeb2adf64f8fa5d008b34debc205d7

10 years agoMerge "Unify 64bit int constant definitions."
Ian Rogers [Tue, 11 Mar 2014 01:06:50 +0000 (01:06 +0000)]
Merge "Unify 64bit int constant definitions."

10 years agoUnify 64bit int constant definitions.
Ian Rogers [Mon, 10 Mar 2014 23:18:37 +0000 (16:18 -0700)]
Unify 64bit int constant definitions.

LL and ULL prefixes are word size dependent, use the INT64_C and UINT64_C
macros instead.

Change-Id: I5b70027651898814fc0b3e9e22a18a1047e76cb9

10 years agoMerge "Fix LIR generation for long arithmetic operation"
Ian Rogers [Mon, 10 Mar 2014 22:55:12 +0000 (22:55 +0000)]
Merge "Fix LIR generation for long arithmetic operation"

10 years agoMerge "Fix old stack frame size check"
Andreas Gampe [Mon, 10 Mar 2014 22:17:23 +0000 (22:17 +0000)]
Merge "Fix old stack frame size check"

10 years agoFix old stack frame size check
Andreas Gampe [Mon, 10 Mar 2014 21:18:35 +0000 (14:18 -0700)]
Fix old stack frame size check

The test underestimates the frame size for JNI frames, as not enough
overhead is accounted for.

Cherry-picked from commit 291088a2983ff954c137dddcc2ba7cb1c4cc95d2

Change-Id: I6ad96bc9b8eaecd6c888b91b3ffcfc4aeddc5eb8

10 years agoMerge "Don't always allocate constructor newInstance as non movable."
Mathieu Chartier [Mon, 10 Mar 2014 20:34:09 +0000 (20:34 +0000)]
Merge "Don't always allocate constructor newInstance as non movable."

10 years agoDon't always allocate constructor newInstance as non movable.
Mathieu Chartier [Mon, 10 Mar 2014 20:26:27 +0000 (13:26 -0700)]
Don't always allocate constructor newInstance as non movable.

We now only allocate these objects as non movable if the class is a
non movable class (currently fields or methods).

Change-Id: I26700272fceb277e00f25ff3078cef6951296b9d

10 years agoMerge "LongToFp result storage fixed"
Ian Rogers [Mon, 10 Mar 2014 19:19:15 +0000 (19:19 +0000)]
Merge "LongToFp result storage fixed"

10 years agoMerge "AArch64: Add ARM64 Disassembler"
Ian Rogers [Mon, 10 Mar 2014 18:48:31 +0000 (18:48 +0000)]
Merge "AArch64: Add ARM64 Disassembler"

10 years agoMerge "ARM: Inline codegen for long-to-float on ARM."
Ian Rogers [Mon, 10 Mar 2014 18:46:07 +0000 (18:46 +0000)]
Merge "ARM: Inline codegen for long-to-float on ARM."

10 years agoMerge "ARM: Remove duplicated instructions; add vcvt, vmla, vmls disassembler."
Ian Rogers [Mon, 10 Mar 2014 18:32:06 +0000 (18:32 +0000)]
Merge "ARM: Remove duplicated instructions; add vcvt, vmla, vmls disassembler."

10 years agoAArch64: Add ARM64 Disassembler
Serban Constantinescu [Thu, 27 Feb 2014 15:36:47 +0000 (15:36 +0000)]
AArch64: Add ARM64 Disassembler

This patch adds disassembler support for ARM64 based on VIXL.

Change-Id: Ic7f5e197350809632145d932dbae8f6c16aebd13
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
10 years agoMerge "Add timing split for RevokeAllThreadLocalBuffers."
Mathieu Chartier [Mon, 10 Mar 2014 17:28:50 +0000 (17:28 +0000)]
Merge "Add timing split for RevokeAllThreadLocalBuffers."

10 years agoAdd timing split for RevokeAllThreadLocalBuffers.
Mathieu Chartier [Mon, 10 Mar 2014 16:28:23 +0000 (09:28 -0700)]
Add timing split for RevokeAllThreadLocalBuffers.

This is part of the pause and should be accounted for.

Change-Id: I3165324de810e8fab02719098977402a18013da1

10 years agoMerge "More JNI compiler tests and small fix"
Andreas Gampe [Mon, 10 Mar 2014 16:19:08 +0000 (16:19 +0000)]
Merge "More JNI compiler tests and small fix"

10 years agoMore JNI compiler tests and small fix
Andreas Gampe [Fri, 7 Mar 2014 21:03:19 +0000 (13:03 -0800)]
More JNI compiler tests and small fix

Add checks for alignment, floats, and maximum number of parameters
Fixed x86_64 ABI wrong interpretation (floats not widened in registers)

Change-Id: I6c09af4914b7675ac0275ce21003e317ca44a403

10 years agoARM: Remove duplicated instructions; add vcvt, vmla, vmls disassembler.
Zheng Xu [Thu, 27 Feb 2014 13:30:55 +0000 (13:30 +0000)]
ARM: Remove duplicated instructions; add vcvt, vmla, vmls disassembler.

Remove kThumb2VcvtID in the assembler which was duplicated.
Add vcvt, vmla, vmls in the disassembler.

Change-Id: I14cc39375c922c9917274d8dcfcb515e888fdf26

10 years agoARM: Inline codegen for long-to-float on ARM.
Zheng Xu [Mon, 10 Mar 2014 10:43:02 +0000 (10:43 +0000)]
ARM: Inline codegen for long-to-float on ARM.

long-to-double-to-float using vfp instructions should be faster than the
function provided by toolchain.

Change-Id: I7ff809bca6665f0c1a0d7e6db98d570ce86b7c66

10 years agoMerge "Fix lint errors."
Nicolas Geoffray [Mon, 10 Mar 2014 12:03:57 +0000 (12:03 +0000)]
Merge "Fix lint errors."

10 years agoFix lint errors.
Nicolas Geoffray [Mon, 10 Mar 2014 12:00:43 +0000 (12:00 +0000)]
Fix lint errors.

Change-Id: Ibefa43522ec68ed2a13bd034005d6f424e92957c

10 years agoMerge "Add register support to the optimizing compiler."
Nicolas Geoffray [Mon, 10 Mar 2014 11:42:04 +0000 (11:42 +0000)]
Merge "Add register support to the optimizing compiler."

10 years agoAdd register support to the optimizing compiler.
Nicolas Geoffray [Tue, 4 Mar 2014 14:46:47 +0000 (14:46 +0000)]
Add register support to the optimizing compiler.

Also make if take an input and build the use list for instructions.

Change-Id: I1938cee7dce5bd4c66b259fa2b431d2c79b3cf82

10 years agoMerge "New header fix for gcc 4.7 build."
Nicolas Geoffray [Mon, 10 Mar 2014 11:39:17 +0000 (11:39 +0000)]
Merge "New header fix for gcc 4.7 build."

10 years agoMerge "Cache method lowering info in mir graph."
Vladimir Marko [Mon, 10 Mar 2014 11:30:45 +0000 (11:30 +0000)]
Merge "Cache method lowering info in mir graph."

10 years agoNew header fix for gcc 4.7 build.
Nicolas Geoffray [Mon, 10 Mar 2014 11:27:57 +0000 (11:27 +0000)]
New header fix for gcc 4.7 build.

Change-Id: I09b49368c19d3bfb3a81d8e23b0dacf596d3bda7

10 years agoMerge "Add includes to fix gcc 4.7 build."
Nicolas Geoffray [Mon, 10 Mar 2014 11:22:34 +0000 (11:22 +0000)]
Merge "Add includes to fix gcc 4.7 build."

10 years agoAdd includes to fix gcc 4.7 build.
Nicolas Geoffray [Mon, 10 Mar 2014 11:12:54 +0000 (11:12 +0000)]
Add includes to fix gcc 4.7 build.

Change-Id: Idf84f156047270b81c5d10a55a3a1c96b415cddc

10 years agoCache method lowering info in mir graph.
Vladimir Marko [Thu, 23 Jan 2014 15:51:58 +0000 (15:51 +0000)]
Cache method lowering info in mir graph.

This should enable easy inlining checks. It should also
improve compilation time of methods that call the same
methods over and over - it is exactly such methods that
tend to exceed our 100ms time limit.

Change-Id: If01cd18e039071a74a1444570283c153429c9cd4

10 years agoMerge "Support WITHOUT_CLANG builds"
Brian Carlstrom [Sun, 9 Mar 2014 22:29:31 +0000 (22:29 +0000)]
Merge "Support WITHOUT_CLANG builds"

10 years agoSupport WITHOUT_CLANG builds
Brian Carlstrom [Sun, 9 Mar 2014 21:05:04 +0000 (14:05 -0700)]
Support WITHOUT_CLANG builds

(cherry picked from commit c9f7723cdb39f9791775166ec1942e456086ad3c)

Change-Id: I9443e73a07b81038452c694a2f138faecdeff500

10 years agoMerge "Work around arm64 host prebuilt differences."
Ian Rogers [Sun, 9 Mar 2014 07:50:14 +0000 (07:50 +0000)]
Merge "Work around arm64 host prebuilt differences."

10 years agoWork around arm64 host prebuilt differences.
Ian Rogers [Sun, 9 Mar 2014 07:48:23 +0000 (23:48 -0800)]
Work around arm64 host prebuilt differences.

Change-Id: I345c994b06cc513f67270907f3877ad78dbadcc7

10 years agoMerge "JNI down call fixes."
Andreas Gampe [Sun, 9 Mar 2014 02:19:58 +0000 (02:19 +0000)]
Merge "JNI down call fixes."

10 years agoJNI down call fixes.
Ian Rogers [Sat, 8 Mar 2014 23:21:04 +0000 (15:21 -0800)]
JNI down call fixes.

Ensure SIRT isn't accessed via quick callee save frame.
Some tidying of code.

Change-Id: I8fec3e89aa6d2e86789c60a07550db2e92478ca7

10 years agoMerge "Revert "Revert "Make clang the default compiler on host."""
Ian Rogers [Sun, 9 Mar 2014 00:09:05 +0000 (00:09 +0000)]
Merge "Revert "Revert "Make clang the default compiler on host."""

10 years agoRevert "Revert "Make clang the default compiler on host.""
Ian Rogers [Sat, 8 Mar 2014 23:37:07 +0000 (23:37 +0000)]
Revert "Revert "Make clang the default compiler on host.""

This reverts commit d54f3a6219bca6ae018f4395fa0f1254bd4459be.

Change-Id: Id96bb52a0d599f8848010d1589bdf0f70fc7124b

10 years agoMerge "Revert "Make clang the default compiler on host.""
Ian Rogers [Sat, 8 Mar 2014 07:51:20 +0000 (07:51 +0000)]
Merge "Revert "Make clang the default compiler on host.""

10 years agoRevert "Make clang the default compiler on host."
Ian Rogers [Sat, 8 Mar 2014 07:50:13 +0000 (07:50 +0000)]
Revert "Make clang the default compiler on host."

This reverts commit 87f8b4cf0c1d6aab3eb5d1e99cc4e7cf175ef772.

Change-Id: I91a513042f0f9cf66288a296ad4a3b5da7830c7b

10 years agoMerge "Make clang the default compiler on host."
Ian Rogers [Sat, 8 Mar 2014 07:11:56 +0000 (07:11 +0000)]
Merge "Make clang the default compiler on host."

10 years agoMake clang the default compiler on host.
Ian Rogers [Fri, 7 Mar 2014 22:49:39 +0000 (14:49 -0800)]
Make clang the default compiler on host.

Motivation, GCC's compiler warnings are inferior to clang's. -Wthread-safety is
not supported by GCC starting with version 4.7. As this change only effects the
host, performance issues are an impact on host building and testing alone.
Fix clang gtest building on host with BUILD_HOST_64bit.
Fix clang build regressions caused by unused fields.
Fix x86-64 regression caused by requirement to fire-up quick compiler even in an
interpret-only environment. Long-term this code doesn't belong in the quick
compiler.

Change-Id: Ifc2b10177f40d0724cbbf8dab9653ac03cdd1cee

10 years agoMerge "Fix tests to pass with VerifyObject."
Mathieu Chartier [Sat, 8 Mar 2014 00:33:30 +0000 (00:33 +0000)]
Merge "Fix tests to pass with VerifyObject."

10 years agoFix tests to pass with VerifyObject.
Mathieu Chartier [Fri, 7 Mar 2014 23:00:39 +0000 (15:00 -0800)]
Fix tests to pass with VerifyObject.

A SIRT ref with a null class was causing object verification problems
in space_test.

Change-Id: I95cfc3da5e0fec0155387f75612b0a3f26f6d3c9

10 years agoMerge "Bump oat version due to InstructionSet enum renumbering in change:"
Brian Carlstrom [Fri, 7 Mar 2014 23:10:44 +0000 (23:10 +0000)]
Merge "Bump oat version due to InstructionSet enum renumbering in change:"

10 years agoBump oat version due to InstructionSet enum renumbering in change:
Brian Carlstrom [Fri, 7 Mar 2014 22:36:27 +0000 (14:36 -0800)]
Bump oat version due to InstructionSet enum renumbering in change:

commit ed8dd492e43cbaaa435c4892447072c84dbaf2dc
Author: Serban Constantinescu <serban.constantinescu@arm.com>
Date:   Tue Feb 11 14:15:10 2014 +0000

    AArch64: Add ARM64 Assembler

    This patch adds the ARM64 Assembler and ManagedRegister backend.
    The implementation of the Arm64Assembler class is based on VIXL (a
    programmatic A64 Assembler - see external/vixl ).

    Change-Id: I842fd574637a953c19631eedf26f6c70d9ed7f9e
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Change-Id: I9e689b0a3586d996135f2c12265704ee139c9e4f

10 years agoMerge "Use GetEntryPointFromQuickCompiledCode instead of GetQuickOatCodeOffset"
Brian Carlstrom [Fri, 7 Mar 2014 22:31:59 +0000 (22:31 +0000)]
Merge "Use GetEntryPointFromQuickCompiledCode instead of GetQuickOatCodeOffset"

10 years agoMerge "Make use of profiling information for dex2oat"
Dave Allison [Fri, 7 Mar 2014 22:21:12 +0000 (22:21 +0000)]
Merge "Make use of profiling information for dex2oat"