OSDN Git Service
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
Ian Rogers [Wed, 22 Oct 2014 19:10:23 +0000 (19:10 +0000)]
Merge "Tidy 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
Vladimir Marko [Wed, 22 Oct 2014 15:22:43 +0000 (15:22 +0000)]
Merge "X86 Long Min/Max: Avoid calling SRegToVReg with -1"
Calin Juravle [Wed, 22 Oct 2014 15:00:43 +0000 (15:00 +0000)]
Merge "Fix make file comment"
Calin Juravle [Wed, 22 Oct 2014 14:54:34 +0000 (15:54 +0100)]
Fix make file comment
Change-Id: I2b2261aea00b934411979dbca1e00d5a75030407
Calin Juravle [Wed, 22 Oct 2014 14:57:06 +0000 (14:57 +0000)]
Merge "Minor 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
Calin Juravle [Wed, 22 Oct 2014 14:21:21 +0000 (14:21 +0000)]
Merge "Add 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
Nicolas Geoffray [Wed, 22 Oct 2014 14:12:42 +0000 (14:12 +0000)]
Merge "Fix typo in Makefile."
Nicolas Geoffray [Wed, 22 Oct 2014 14:08:03 +0000 (15:08 +0100)]
Fix typo in Makefile.
Change-Id: I9133804eff8ce8e785f8551488daee1f19036952
Nicolas Geoffray [Wed, 22 Oct 2014 13:50:22 +0000 (13:50 +0000)]
Merge "Implement 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
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>
Sebastien Hertz [Wed, 22 Oct 2014 12:59:46 +0000 (12:59 +0000)]
Merge "Fixed debugger for threads attached from JNI"
Nicolas Geoffray [Wed, 22 Oct 2014 09:33:12 +0000 (09:33 +0000)]
Merge "Fix 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
Roland Levillain [Wed, 22 Oct 2014 09:16:53 +0000 (09:16 +0000)]
Merge "Various 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
Andreas Gampe [Wed, 22 Oct 2014 08:02:44 +0000 (08:02 +0000)]
Merge "ART: 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
Andreas Gampe [Wed, 22 Oct 2014 05:43:58 +0000 (05:43 +0000)]
Merge "ART: 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
Ian Rogers [Wed, 22 Oct 2014 03:44:26 +0000 (03:44 +0000)]
Merge "Fix 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
Hiroshi Yamauchi [Tue, 21 Oct 2014 23:23:16 +0000 (23:23 +0000)]
Merge "Fix 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
Ian Rogers [Tue, 21 Oct 2014 22:54:50 +0000 (22:54 +0000)]
Merge "Avoid 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
Ian Rogers [Tue, 21 Oct 2014 22:05:16 +0000 (22:05 +0000)]
Merge "Const-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
Andreas Gampe [Tue, 21 Oct 2014 17:23:32 +0000 (17:23 +0000)]
Merge "ART: 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
Andreas Gampe [Tue, 21 Oct 2014 17:02:25 +0000 (17:02 +0000)]
Merge "ART: 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
Nicolas Geoffray [Tue, 21 Oct 2014 16:14:40 +0000 (16:14 +0000)]
Merge "Fix 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
Nicolas Geoffray [Tue, 21 Oct 2014 15:56:36 +0000 (15:56 +0000)]
Merge "Fix 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
Nicolas Geoffray [Tue, 21 Oct 2014 15:36:47 +0000 (15:36 +0000)]
Merge "Fix 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
Nicolas Geoffray [Tue, 21 Oct 2014 15:05:44 +0000 (15:05 +0000)]
Merge "Implement 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
Ian Rogers [Tue, 21 Oct 2014 14:57:14 +0000 (14:57 +0000)]
Merge "Enable 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
Elliott Hughes [Tue, 21 Oct 2014 14:44:51 +0000 (14:44 +0000)]
Merge "Clarify 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
Roland Levillain [Tue, 21 Oct 2014 13:34:59 +0000 (13:34 +0000)]
Merge "Constant folding on unary operations 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."
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
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
Nicolas Geoffray [Tue, 21 Oct 2014 10:48:42 +0000 (10:48 +0000)]
Merge "Remove 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
Vladimir Marko [Tue, 21 Oct 2014 09:18:53 +0000 (09:18 +0000)]
Merge "Shut down FaultManager after shutting down threads."
Nicolas Geoffray [Tue, 21 Oct 2014 09:03:00 +0000 (09:03 +0000)]
Merge "Support 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
Dmitriy Ivanov [Tue, 21 Oct 2014 01:23:28 +0000 (01:23 +0000)]
Merge "Link 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
Ian Rogers [Mon, 20 Oct 2014 23:09:30 +0000 (23:09 +0000)]
Merge "Refactor 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
Hiroshi Yamauchi [Mon, 20 Oct 2014 17:18:50 +0000 (17:18 +0000)]
Merge "Rosalloc should print unreachable page map type"
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
Calin Juravle [Mon, 20 Oct 2014 16:59:09 +0000 (16:59 +0000)]
Merge "Add 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
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>
Roland Levillain [Mon, 20 Oct 2014 09:37:45 +0000 (09:37 +0000)]
Merge "Have HInstruction::StrictlyDominates compute strict dominance."
Roland Levillain [Mon, 20 Oct 2014 09:34:08 +0000 (09:34 +0000)]
Merge "Revert "Revert "Introduce a class to implement optimization passes."""
Nicolas Geoffray [Fri, 17 Oct 2014 17:04:42 +0000 (17:04 +0000)]
Merge "Just depend on TARGET_CORE_DEX_FILES."
Nicolas Geoffray [Fri, 17 Oct 2014 17:03:56 +0000 (17:03 +0000)]
Merge "Rename arm64 `Register` to `XRegister`."
Nicolas Geoffray [Fri, 17 Oct 2014 16:53:05 +0000 (16:53 +0000)]
Merge "Rework arm64 register codes and fix Arm64ManagedRegister tests."
Vladimir Marko [Fri, 17 Oct 2014 16:41:24 +0000 (16:41 +0000)]
Merge "Quick: In GVN, apply modifications early if outside loop."
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
Roland Levillain [Mon, 13 Oct 2014 15:10:27 +0000 (16:10 +0100)]
Have HInstruction::StrictlyDominates compute strict dominance.
Change-Id: I3a4fa133268615fb4ce54a0bcb43e0c2458cc865
Roland Levillain [Fri, 17 Oct 2014 16:02:00 +0000 (17:02 +0100)]
Revert "Revert "Introduce a class to implement optimization passes.""
This reverts commit
1ddbf6d4b37979a9f11a203c12befd5ae8b65df4.
Change-Id: I110a14668d1564ee0604dc958b91394b40da89fc
Chih-Hung Hsieh [Fri, 17 Oct 2014 15:48:06 +0000 (15:48 +0000)]
Merge "Add -no-integrated-as at local level."
Vladimir Marko [Tue, 30 Sep 2014 17:09:14 +0000 (18:09 +0100)]
Quick: In GVN, apply modifications early if outside loop.
To improve GVN performance, apply modifications to blocks
outside loops during the initial convergence phase. During
the post processing phase, apply modifications only to the
blocks belonging to loops.
Also clean up the check whether to run the LVN and add the
capability to limit the maximum number of nested loops we
allow the GVN to process.
Change-Id: Ie7f1254f91a442397c06a325d5d314d8f58e5012
Alexandre Rames [Fri, 17 Oct 2014 13:35:27 +0000 (14:35 +0100)]
Rename arm64 `Register` to `XRegister`.
This will avoid naming conflicts in the arm64 port of
the optimizing compiler.
Change-Id: Ie736ddd2ddbd2e299058256de28bad5d41c57d6f
Alexandre Rames [Fri, 17 Oct 2014 13:35:27 +0000 (14:35 +0100)]
Rework arm64 register codes and fix Arm64ManagedRegister tests.
Change-Id: I81ce3bc8a212c9c35be3a41b182ada87b32391ec
Piotr Jastrzebski [Fri, 17 Oct 2014 12:14:13 +0000 (12:14 +0000)]
Merge "Fix error message to match the code."
Piotr Jastrzebski [Fri, 17 Oct 2014 11:40:38 +0000 (12:40 +0100)]
Fix error message to match the code.
The code checks that curr_opt > option_count
but error message says that curr_opt >= option_count.
Change-Id: I19cd077e2383ad9a368e324a1e35cc98170a40a4
Calin Juravle [Fri, 17 Oct 2014 10:48:06 +0000 (10:48 +0000)]
Merge "Add multiplication for integral types"
Calin Juravle [Tue, 7 Oct 2014 19:23:36 +0000 (20:23 +0100)]
Add multiplication for integral types
This also fixes an issue where we could allocate a pair register even if
one of its parts was already blocked.
Change-Id: I4869175933409add2a56f1ccfb369c3d3dd3cb01
Nicolas Geoffray [Fri, 17 Oct 2014 09:53:38 +0000 (09:53 +0000)]
Merge "Fix dex2oat cross-compilation."
Nicolas Geoffray [Fri, 17 Oct 2014 09:35:00 +0000 (09:35 +0000)]
Merge "Disable some instruction set tests due to Linux kernel bugs."
Nicolas Geoffray [Fri, 17 Oct 2014 09:32:58 +0000 (10:32 +0100)]
Fix dex2oat cross-compilation.
The instruction set features was not correctly set when it was not
given in the command line.
Change-Id: I649cc077e7bbc830d281ae59af43e59fd0541c1b
Ian Rogers [Fri, 17 Oct 2014 09:07:35 +0000 (02:07 -0700)]
Disable some instruction set tests due to Linux kernel bugs.
Linux kernels are misreporting CPU features via /proc/cpuinfo and AT_HWCAP.
Change-Id: I422ae0bb674517897bfe9b069d37d4d24736f1d1
Ian Rogers [Fri, 17 Oct 2014 08:59:02 +0000 (08:59 +0000)]
Merge "x86 build fix."
Ian Rogers [Fri, 17 Oct 2014 08:18:08 +0000 (01:18 -0700)]
x86 build fix.
Remove -fkeep-inline-functions from debug builds, having it there causes
missing dependencies when we include system/core headers for the target on x86.
Change-Id: Ice5c6f0469f604efb58dfacf2ab6bb3183429850
Brian Carlstrom [Fri, 17 Oct 2014 07:37:06 +0000 (07:37 +0000)]
Merge "Tracking change to make Class.getDeclaredFields/Methods public"
Piotr Jastrzebski [Fri, 17 Oct 2014 07:36:44 +0000 (07:36 +0000)]
Merge "Stop using |instance_| in Runtime::InitNativeMethods."
Ian Rogers [Fri, 17 Oct 2014 06:44:37 +0000 (06:44 +0000)]
Merge "Fix Mac build."
Ian Rogers [Fri, 17 Oct 2014 06:05:10 +0000 (23:05 -0700)]
Fix Mac build.
Not sure how this built on Linux, the correct type is siginfo_t and
we use that correctly elsewhere.
Change-Id: I44ddc77e11558337342c1448553a16c7db231a66
Brian Carlstrom [Fri, 17 Oct 2014 05:02:23 +0000 (22:02 -0700)]
Tracking change to make Class.getDeclaredFields/Methods public
(cherry picked from commit
d8bef73723ea2d101b36e857968bc15d0887dcee)
Bug:
17375269
Change-Id: I8a810b4f21eb5a94883415cf7ecc4df273d72688
Brian Carlstrom [Fri, 17 Oct 2014 04:45:00 +0000 (04:45 +0000)]
Merge "Some additional verbose logging for DexFile_defineClassNative"
Brian Carlstrom [Fri, 17 Oct 2014 04:44:57 +0000 (04:44 +0000)]
Merge "Renumber 122-missing-classes to 124-missing-classes"
Ian Rogers [Fri, 17 Oct 2014 04:37:54 +0000 (04:37 +0000)]
Merge "Some code clean-up."
Ian Rogers [Fri, 17 Oct 2014 03:31:53 +0000 (20:31 -0700)]
Some code clean-up.
Change-Id: I4b745fd5298cd61c793e3b57514b48347bd66c0e
Brian Carlstrom [Fri, 17 Oct 2014 02:12:28 +0000 (19:12 -0700)]
Some additional verbose logging for DexFile_defineClassNative
Change-Id: I6a86352e9eecf4cc5b529feb784e6cd5e8ec0a45
Igor Murashkin [Fri, 17 Oct 2014 03:13:06 +0000 (03:13 +0000)]
Merge "dex2oat: Add a --compile-pic option"