OSDN Git Service
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
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"
Ian Rogers [Fri, 17 Oct 2014 02:29:32 +0000 (02:29 +0000)]
Merge "Make ART compile with GCC -O0 again."
Ian Rogers [Wed, 15 Oct 2014 00:41:57 +0000 (17:41 -0700)]
Make ART compile with GCC -O0 again.
Tidy up InstructionSetFeatures so that it has a type hierarchy dependent on
architecture.
Add to instruction_set_test to warn when InstructionSetFeatures don't agree
with ones from system properties, AT_HWCAP and /proc/cpuinfo.
Clean-up class linker entry point logic to not return entry points but to
test whether the passed code is the particular entrypoint. This works around
image trampolines that replicate entrypoints.
Bug:
17993736
Change-Id: I5f4b49e88c3b02a79f9bee04f83395146ed7be23
Mathieu Chartier [Fri, 17 Oct 2014 02:17:11 +0000 (02:17 +0000)]
Merge "Add way to ensure we are at the front of the sigaction chain"
Mathieu Chartier [Wed, 15 Oct 2014 23:59:47 +0000 (16:59 -0700)]
Add way to ensure we are at the front of the sigaction chain
Calling this after jni_on_load fixes the unity apps. This is
not exactly correct since we may already have the following chain.
Start up:
Us -> debuggerd
After app goes in front:
App -> us -> debuggerd
After we put ourself back at the front:
Us -> app -> us -> app -> .... stack overflow.
Bug:
17620677
Change-Id: I9183997e3d5ebd51c320b5d51425be5142e938f3
(cherry picked from commit
1f24296c7c8a6501ee2388c0d20b48f471b48660)
Brian Carlstrom [Fri, 17 Oct 2014 01:58:56 +0000 (18:58 -0700)]
Renumber 122-missing-classes to 124-missing-classes
Change-Id: I733bdb455c5453d03784ba25a691f2a4e48bda6a
Igor Murashkin [Fri, 17 Oct 2014 01:36:16 +0000 (18:36 -0700)]
dex2oat: Add a --compile-pic option
Change-Id: I80e03613e3b6ac079bcbc7e068bbaae760c364c9
Chih-Hung Hsieh [Thu, 16 Oct 2014 19:14:02 +0000 (12:14 -0700)]
Add -no-integrated-as at local level.
Later we will enable integrated-as as default at the global level.
BUG:
17820427
BUG:
17443165
Change-Id: Idbbeccb7f725a63530c65e33723d1328c80443b3
Mathieu Chartier [Thu, 16 Oct 2014 22:20:00 +0000 (22:20 +0000)]
Merge "Add OOME try catch around gc-thrash dive logic"
Ian Rogers [Thu, 16 Oct 2014 19:26:54 +0000 (19:26 +0000)]
Merge "Remove test dependencies on phony targets."
Vladimir Marko [Thu, 16 Oct 2014 18:02:25 +0000 (18:02 +0000)]
Merge "Quick: Avoid node iteration for passes that don't need it."
Vladimir Marko [Thu, 16 Oct 2014 18:01:00 +0000 (18:01 +0000)]
Merge "Quick: Handle kMirOpNullCheck in LVN/GVN."
Mathieu Chartier [Thu, 16 Oct 2014 17:01:39 +0000 (10:01 -0700)]
Add OOME try catch around gc-thrash dive logic
Bug:
17962200
Change-Id: I4ed1f7ac2b07795b5e30ccb5b322cbe47e237ba8
Nicolas Geoffray [Thu, 16 Oct 2014 14:20:58 +0000 (14:20 +0000)]
Merge "Don't use assembler classes in code_generator.h."
Nicolas Geoffray [Thu, 16 Oct 2014 10:12:52 +0000 (11:12 +0100)]
Don't use assembler classes in code_generator.h.
The arm64 backend uses its own assembler and does not share
the same classes as the other backends. To avoid conflicts
or unnecessary mappings, just don't use those classes in the
shared part of the code generator.
Change-Id: I9e5fa40c1021d2e83a4ef14c52cd1ccd03f2f73d
Roland Levillain [Thu, 16 Oct 2014 13:26:29 +0000 (13:26 +0000)]
Merge "Implement default traversals in CFG & SSA graph checkers."
Roland Levillain [Thu, 16 Oct 2014 13:12:56 +0000 (13:12 +0000)]
Merge "Improve art::SSAChecker::VisitInstruction."
Roland Levillain [Thu, 16 Oct 2014 12:59:34 +0000 (12:59 +0000)]
Merge "Do not remove NullChecks & BoundsChecks in HDeadCodeElimination."
Roland Levillain [Thu, 16 Oct 2014 12:51:34 +0000 (12:51 +0000)]
Merge "Turn constant conditional jumps into unconditional jumps."
Vladimir Marko [Thu, 16 Oct 2014 12:38:44 +0000 (13:38 +0100)]
Quick: Handle kMirOpNullCheck in LVN/GVN.
Change-Id: I0274e98cc61ccd1dbe0bd3e50deeb7d62bd1cb22
Vladimir Marko [Thu, 16 Oct 2014 11:29:59 +0000 (11:29 +0000)]
Merge "Quick: Improve the BBCombine pass."
Piotr Jastrzebski [Thu, 16 Oct 2014 10:04:27 +0000 (11:04 +0100)]
Stop using |instance_| in Runtime::InitNativeMethods.
Runtime::InitNativeMethods is a member function so we
don't need to use |instance_| to call Runtime methods there.
I believe that this call uses |instance_| instead of |this|
because it was originally in a static Runtime::Create method.
It was originally called 'instance_->InitLibraries();' and was
moved to Runtime::Start which is a member function here:
http://ag/#/c/133053/6/src/runtime.cc
and since then it was further moved and renamed but it kept using |instance_|
even though use of |this| seems more appropriate.
Change-Id: I79b9d23873272ba2f124e285602f1b2683c2f27f
Vladimir Marko [Thu, 16 Oct 2014 08:58:35 +0000 (08:58 +0000)]
Merge "Rewrite null check elimination to work on dalvik regs."
Maxim Kazantsev [Thu, 16 Oct 2014 03:55:47 +0000 (10:55 +0700)]
Rosalloc should print unreachable page map type
When rosalloc receives unexpected page map type, it is not
printed in error message because it has 'byte' type. When printed
to LOG(FATAL), it is interpreted as symbol (usually unprintable).
This patch allows to see unexpected page map types as integers.
Change-Id: Ic9d472f933862f4e2671904277990d8a83bc4c89
Jeff Hao [Thu, 16 Oct 2014 00:25:14 +0000 (00:25 +0000)]
Merge "Store exiting thread ids and names while tracing to output later."
Mathieu Chartier [Wed, 15 Oct 2014 21:46:25 +0000 (21:46 +0000)]
Merge "Add more logging to finalization test"