OSDN Git Service
Vladimir Marko [Tue, 10 Feb 2015 19:31:23 +0000 (19:31 +0000)]
am
0525d6aa: Merge "Fix HasSameSignatureWithDifferentClassLoaders()."
* commit '
0525d6aa15cb9db70e26c01f7e7a695bae377268':
Fix HasSameSignatureWithDifferentClassLoaders().
Vladimir Marko [Tue, 10 Feb 2015 19:25:13 +0000 (19:25 +0000)]
Merge "Fix HasSameSignatureWithDifferentClassLoaders()."
Jeff Hao [Tue, 10 Feb 2015 18:56:35 +0000 (18:56 +0000)]
am
53b36a26: Merge "Handle variable size of methods properly between 32 and 64 bit."
* commit '
53b36a26925e898b5f7cd3fad1d6a133eda62b4b':
Handle variable size of methods properly between 32 and 64 bit.
Jeff Hao [Tue, 10 Feb 2015 18:56:32 +0000 (18:56 +0000)]
am
69c37c3b: Merge "Revert "Revert "Allow preopted apps to have sharpened calls for non-x86 architectures."""
* commit '
69c37c3b5bc868003115898a3d1754604bb6db96':
Revert "Revert "Allow preopted apps to have sharpened calls for non-x86 architectures.""
Jeff Hao [Tue, 10 Feb 2015 18:47:42 +0000 (18:47 +0000)]
Merge "Handle variable size of methods properly between 32 and 64 bit."
Jeff Hao [Tue, 10 Feb 2015 18:47:32 +0000 (18:47 +0000)]
Merge "Revert "Revert "Allow preopted apps to have sharpened calls for non-x86 architectures."""
Vladimir Marko [Tue, 10 Feb 2015 18:22:57 +0000 (18:22 +0000)]
Fix HasSameSignatureWithDifferentClassLoaders().
Add a missing handle and make sure that the handle's
Get() is sequenced after the call that can cause GC.
Change-Id: I3c0479650c40ceb803bfbf658238aeea8e4b0a1a
Vladimir Marko [Tue, 10 Feb 2015 12:16:50 +0000 (12:16 +0000)]
am
4ba86c42: Merge "ART: Remove MIRGraph::dex_pc_to_block_map_"
* commit '
4ba86c428f839cb75f5838b8327e893694377590':
ART: Remove MIRGraph::dex_pc_to_block_map_
Vladimir Marko [Tue, 10 Feb 2015 12:09:55 +0000 (12:09 +0000)]
Merge "ART: Remove MIRGraph::dex_pc_to_block_map_"
Nicolas Geoffray [Tue, 10 Feb 2015 01:54:20 +0000 (01:54 +0000)]
am
b276338f: Merge "Fix a compilation error for Mips64."
* commit '
b276338fa8b9c7a3a75bf0187308aa5b6c4c720c':
Fix a compilation error for Mips64.
Nicolas Geoffray [Tue, 10 Feb 2015 01:48:25 +0000 (01:48 +0000)]
Merge "Fix a compilation error for Mips64."
Douglas Leung [Mon, 9 Feb 2015 23:22:26 +0000 (15:22 -0800)]
Fix a compilation error for Mips64.
Change-Id: I4f35750c4b840fce18c467995787e92bc38a7812
Chao-ying Fu [Wed, 12 Nov 2014 00:48:40 +0000 (16:48 -0800)]
ART: Remove MIRGraph::dex_pc_to_block_map_
This patch removes MIRGraph::dex_pc_to_block_map_, adds a local
variable dex_pc_to_block_map inside MIRGraph::InlineMethod(), and
updates several functions to pass dex_pc_to_block_map.
The goal is to limit the scope of dex_pc_to_block_map and
the usage of FindBlock, so that various compiler optimizations
cannot rely on dex pc to look up basic blocks to avoid
duplicated dex pc issues.
Also, this patch changes quick targets to use successor blocks
for switch case target generation at Mir2Lir::InstallSwitchTables().
Change-Id: I9f571efebd2706b4e1606279bd61f3b406ecd1c4
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Andreas Gampe [Mon, 9 Feb 2015 21:16:51 +0000 (21:16 +0000)]
am
391b87ee: Merge "ART: Arm intrinsics for Optimizing compiler"
* commit '
391b87ee8d939b60385fde9c48fda8a334ab9ae3':
ART: Arm intrinsics for Optimizing compiler
Andreas Gampe [Mon, 9 Feb 2015 21:09:41 +0000 (21:09 +0000)]
Merge "ART: Arm intrinsics for Optimizing compiler"
Andreas Gampe [Thu, 29 Jan 2015 17:56:07 +0000 (09:56 -0800)]
ART: Arm intrinsics for Optimizing compiler
Add arm32 intrinsics to the optimizing compiler.
Change-Id: If4aeedbf560862074d8ee08ca4484b666d6b9bf0
Mingyao Yang [Mon, 9 Feb 2015 19:57:00 +0000 (19:57 +0000)]
am
0aac8671: Merge "Improve bce so that more bounds checks can be eliminated."
* commit '
0aac867161c4207aace8ae0d0b2abe02bfb8c3d9':
Improve bce so that more bounds checks can be eliminated.
Mingyao Yang [Mon, 9 Feb 2015 19:50:25 +0000 (19:50 +0000)]
Merge "Improve bce so that more bounds checks can be eliminated."
Mingyao Yang [Sat, 31 Jan 2015 00:41:29 +0000 (16:41 -0800)]
Improve bce so that more bounds checks can be eliminated.
For pattern like "int[] array = new int[size+1]", we record this range
for size:
[-1, array.length-1]
This can eliminate more bounds checks.
Also simplify overflow/underflow handling and make it more solid.
Enhance instruction simplifier such that if array is a result of
NewArray with a constant size, replace array.length with that constant.
Plan to move all bce gtests to checker in another change.
Change-Id: Ibe7cc7940b68fb6465dc3e0ff3ebdb0fd6487aa9
Calin Juravle [Mon, 9 Feb 2015 18:49:46 +0000 (18:49 +0000)]
am
2a3611fe: Merge "Fix null check tests"
* commit '
2a3611feeb12bd73ccdbb4692f9ca3705f925d56':
Fix null check tests
Calin Juravle [Mon, 9 Feb 2015 18:43:23 +0000 (18:43 +0000)]
Merge "Fix null check tests"
Calin Juravle [Mon, 9 Feb 2015 18:22:09 +0000 (18:22 +0000)]
Fix null check tests
Change-Id: Iafd3b1f58ed7ce45350b4b3aa493bafc63ade179
Nicolas Geoffray [Sun, 8 Feb 2015 12:03:26 +0000 (12:03 +0000)]
am
62b5f0dd: Merge "Optimize leaf methods."
* commit '
62b5f0dd5f201c71da6b50936f4f720acbad091f':
Optimize leaf methods.
Nicolas Geoffray [Sun, 8 Feb 2015 11:58:40 +0000 (11:58 +0000)]
Merge "Optimize leaf methods."
Hiroshi Yamauchi [Fri, 6 Feb 2015 23:36:34 +0000 (23:36 +0000)]
am
c282c119: Merge "Fix gcstress tests."
* commit '
c282c119bbbe55562407debcf24e0540bf71de04':
Fix gcstress tests.
Christopher Ferris [Fri, 6 Feb 2015 23:36:33 +0000 (23:36 +0000)]
am
a2ae59e0: Merge "Support map data in the backtrace data structure."
* commit '
a2ae59e0fe942981d2ef7ad9196fe29d2aee26be':
Support map data in the backtrace data structure.
Hiroshi Yamauchi [Fri, 6 Feb 2015 23:32:16 +0000 (23:32 +0000)]
Merge "Fix gcstress tests."
Christopher Ferris [Fri, 6 Feb 2015 23:29:10 +0000 (23:29 +0000)]
Merge "Support map data in the backtrace data structure."
Hiroshi Yamauchi [Fri, 6 Feb 2015 23:21:08 +0000 (15:21 -0800)]
Fix gcstress tests.
Bug:
19295410
Change-Id: I15db7c1f9c78b632106beab6a6c97a2b3c37f110
Christopher Ferris [Fri, 6 Feb 2015 21:18:58 +0000 (13:18 -0800)]
Support map data in the backtrace data structure.
The backtrace data structure used to keep a pointer to the map data. Now
the code has the map data embedded in the structure and no pointers.
Bug:
19028453
Change-Id: If7088a73f3c6bf1f3bc8cdd2bb4b62e7cab831c0
Nicolas Geoffray [Fri, 6 Feb 2015 17:47:16 +0000 (17:47 +0000)]
am
076018ad: Merge "x64 goodness."
* commit '
076018addcb0f27d1a4ed9d1967a28bd5fb21230':
x64 goodness.
Nicolas Geoffray [Fri, 6 Feb 2015 17:41:14 +0000 (17:41 +0000)]
Merge "x64 goodness."
Nicolas Geoffray [Tue, 27 Jan 2015 08:17:54 +0000 (08:17 +0000)]
x64 goodness.
- Use test instead of cmp when comparing against 0.
- Make it possible to use lea for add.
- Use xor instead of mov when loading 0.
Change-Id: Ide95c4e2d9b773e952412892f2df6869600c324e
Nicolas Geoffray [Fri, 6 Feb 2015 14:35:25 +0000 (14:35 +0000)]
Optimize leaf methods.
Avoid suspend checks and stack changes when not needed.
Change-Id: I0fdb31e8c631e99091b818874a558c9aa04b1628
Nicolas Geoffray [Fri, 6 Feb 2015 10:07:56 +0000 (10:07 +0000)]
am
0f2433bf: Merge "Opt Compiler: ARM64: Enable Callee-saved register, as defined by AAPCS64."
* commit '
0f2433bfcb02a662fe739e8e2b068abc2958e4c1':
Opt Compiler: ARM64: Enable Callee-saved register, as defined by AAPCS64.
Nicolas Geoffray [Fri, 6 Feb 2015 09:34:47 +0000 (09:34 +0000)]
Merge "Opt Compiler: ARM64: Enable Callee-saved register, as defined by AAPCS64."
Sebastien Hertz [Fri, 6 Feb 2015 06:20:50 +0000 (06:20 +0000)]
am
b991d334: Merge "Read JDWP options from runtime"
* commit '
b991d334e294cb9fb75bd1c36e2435171c084cd1':
Read JDWP options from runtime
Sebastien Hertz [Fri, 6 Feb 2015 06:15:45 +0000 (06:15 +0000)]
Merge "Read JDWP options from runtime"
Jeff Hao [Tue, 3 Feb 2015 23:08:39 +0000 (15:08 -0800)]
Handle variable size of methods properly between 32 and 64 bit.
Bug:
19100762
Change-Id: I62358905fa882284d0201ed3c1e97e1286ccec5f
Igor Murashkin [Thu, 5 Feb 2015 20:40:43 +0000 (20:40 +0000)]
am
61fdf5bc: Merge "art: Fix broken cmdline_parser_test"
* commit '
61fdf5bca503c30ba1e4dcaf333a8d3299f3bde6':
art: Fix broken cmdline_parser_test
Igor Murashkin [Thu, 5 Feb 2015 20:34:47 +0000 (20:34 +0000)]
Merge "art: Fix broken cmdline_parser_test"
David Brazdil [Thu, 5 Feb 2015 20:17:08 +0000 (20:17 +0000)]
am
ca9a2685: Merge "ART: Fix crash when timing method failing to build"
* commit '
ca9a26859d2ca8e106316dd5f16b60a325f0533c':
ART: Fix crash when timing method failing to build
Serban Constantinescu [Wed, 28 Jan 2015 11:57:05 +0000 (11:57 +0000)]
Opt Compiler: ARM64: Enable Callee-saved register, as defined by AAPCS64.
For now we block kQuickSuspendRegister - x19, since Quick and the runtime
use this as a suspend counter register.
Change-Id: I090d386670e81e7924e4aa9a3864ef30d0580a30
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Jeff Hao [Tue, 27 Jan 2015 19:22:04 +0000 (11:22 -0800)]
Revert "Revert "Allow preopted apps to have sharpened calls for non-x86 architectures.""
Should really say it allows pre-linked calls instead of sharpened calls.
Bug:
19100762
Change-Id: Ia2045a9eda92255e87a7f6187de18d6370b8f060
Igor Murashkin [Thu, 5 Feb 2015 19:22:45 +0000 (11:22 -0800)]
art: Fix broken cmdline_parser_test
Bug:
19274810
Change-Id: I28df72dced9bdbbe0684836e9a18334994183421
David Brazdil [Thu, 5 Feb 2015 18:10:57 +0000 (18:10 +0000)]
Merge "ART: Fix crash when timing method failing to build"
David Brazdil [Thu, 5 Feb 2015 11:34:02 +0000 (11:34 +0000)]
ART: Fix crash when timing method failing to build
PassInfoPrinter previously required that AfterPass is always called
before the timing results are printed, which was not the case when
a method compilation failed either in Builder or SsaBuilder.
Change-Id: I3686bba6869402a62eec884f59fd872d5674e5a5
Sebastien Hertz [Thu, 5 Feb 2015 15:30:58 +0000 (16:30 +0100)]
Read JDWP options from runtime
Allocates JDWP::JdwpOptions on the heap and copies parsed options to
avoid the need to include jdwp/jdwp.h into runtime.h file.
Also does some minor cleanup and removes the old JDWP options parsing
code that became dead code after we move it to the new command-line
parser.
Bug:
19275792
Change-Id: I71901c89fbf2cc3c1901a089e2a98b4326c6ee70
Nicolas Geoffray [Thu, 5 Feb 2015 15:22:40 +0000 (15:22 +0000)]
am
24898d44: Merge "Disable test, it fails on target and read-barrier config."
* commit '
24898d447640c3a45e6fc9f404b049eddc5a2709':
Disable test, it fails on target and read-barrier config.
Sebastien Hertz [Thu, 5 Feb 2015 15:22:39 +0000 (15:22 +0000)]
am
911b4be5: Merge "Fix transaction aborting"
* commit '
911b4be50c379d052dd9e5f9b59ce91df1340453':
Fix transaction aborting
Nicolas Geoffray [Thu, 5 Feb 2015 10:31:57 +0000 (10:31 +0000)]
Merge "Disable test, it fails on target and read-barrier config."
Nicolas Geoffray [Thu, 5 Feb 2015 10:14:10 +0000 (10:14 +0000)]
Disable test, it fails on target and read-barrier config.
Change-Id: Ib1ae28b1e81a1355196c32c43765a6f5466ca728
Sebastien Hertz [Thu, 5 Feb 2015 08:19:21 +0000 (08:19 +0000)]
Merge "Fix transaction aborting"
Sebastien Hertz [Tue, 3 Feb 2015 10:58:06 +0000 (11:58 +0100)]
Fix transaction aborting
During compilation, a java.lang.InternalError is used to indicate
that class initialization failed and the enclosing transaction
should be aborted and the changes rolled back. However there is
nothing preventing the code executed from a class initializer from
catching that exception (like catching Throwable and ignore it).
Therefore we may return from the class initializer with no pending
exception, even if the transaction was aborted, and not rollback
the changes properly.
To fix this, we now rely on the new Transaction::aborted_ field to
know whether a transaction aborted. When returning from the class
initializer without pending exception, we now check wether we aborted
the enclosing transaction. If that's the case, we set the status of
the class to kStatusError and throw a new java.lang.InternalError
with the original abort message.
This CL also contains some cleanup:
- Renames Transaction::Abort to Transaction::Rollback which is less
ambiguous and more reflect what is done.
- Moves the code throwing the java.lang.InternalError exception into
the Transaction::ThrowInternalError method so we do not duplicate
code. Now we may abort transaction more than once (because we may
have caught the java.lang.InternalError then execute code causing
new transaction abort), we only keep the first abort message to
throw the exception.
- Updates transaction_test with more cases and more checks.
- Bumps oat version to force recompilation with this fix.
Bug:
19202032
Change-Id: Iedc6969528a68bbdf3123146e990df4dbc57834b
Mathieu Chartier [Thu, 5 Feb 2015 02:49:15 +0000 (02:49 +0000)]
am
7e6a918e: Merge "Clear thread local freed bits in RosAlloc::Run::InspectAllSlots"
* commit '
7e6a918ecfbe786c060bce0eeddd55c4c70f819d':
Clear thread local freed bits in RosAlloc::Run::InspectAllSlots
Mathieu Chartier [Thu, 5 Feb 2015 02:45:25 +0000 (02:45 +0000)]
Merge "Clear thread local freed bits in RosAlloc::Run::InspectAllSlots"
Igor Murashkin [Thu, 5 Feb 2015 02:24:24 +0000 (02:24 +0000)]
am
19929654: Merge "art: Try to fix parsed_options_test on the build server"
* commit '
19929654ddf3bce1b89db92a9b7fb47d6e91e2f8':
art: Try to fix parsed_options_test on the build server
Igor Murashkin [Thu, 5 Feb 2015 02:24:22 +0000 (02:24 +0000)]
am
edf45678: Merge "Fix broken volantis build"
* commit '
edf45678f133ce51d7aff43be68d9be3936ffca2':
Fix broken volantis build
Mathieu Chartier [Thu, 5 Feb 2015 01:46:29 +0000 (17:46 -0800)]
Clear thread local freed bits in RosAlloc::Run::InspectAllSlots
Previously we didn't take these bits into consideration. This could
cause RosAlloc::Run::InspectAllSlots to inspect recently freed
allocations as allocated.
Bug:
19193521
Change-Id: I56b3c089e2a36098423261cda623fc834069f832
Igor Murashkin [Thu, 5 Feb 2015 01:35:28 +0000 (01:35 +0000)]
Merge "art: Try to fix parsed_options_test on the build server"
Igor Murashkin [Thu, 5 Feb 2015 01:30:43 +0000 (17:30 -0800)]
art: Try to fix parsed_options_test on the build server
(It works fine locally because environment variables are defined
differently)
Also some minor cleanup elsewhere pointed out in the previous code
review.
Change-Id: I80650d2be6ce467b838db85eb130a0020d7c1480
Igor Murashkin [Wed, 4 Feb 2015 23:35:52 +0000 (23:35 +0000)]
Merge "Fix broken volantis build"
Igor Murashkin [Wed, 4 Feb 2015 23:11:27 +0000 (15:11 -0800)]
Fix broken volantis build
Change-Id: Iedc1a94fd1ec4224b605b984c11cfcc8c1c510e3
Igor Murashkin [Wed, 4 Feb 2015 21:52:36 +0000 (21:52 +0000)]
am
1bb6cb0b: Merge "art: Refactor RuntimeOptions/ParsedOptions"
* commit '
1bb6cb0b7e10698f12213f7a4fabc845057d9ab9':
art: Refactor RuntimeOptions/ParsedOptions
Igor Murashkin [Wed, 4 Feb 2015 21:45:13 +0000 (21:45 +0000)]
Merge "art: Refactor RuntimeOptions/ParsedOptions"
Igor Murashkin [Mon, 26 Jan 2015 18:55:53 +0000 (10:55 -0800)]
art: Refactor RuntimeOptions/ParsedOptions
Refactor the RuntimeOptions to be a
type-safe map (VariantMap, see runtime_options.h) and the ParsedOptions
to delegate the parsing to CmdlineParser (see cmdline/cmdline_parser.h).
This is the start of a command line parsing refactor, and may include
more in the future (dex2oat, patchoat, etc).
For more details of the command line parsing generator usage see cmdline/README.md
Change-Id: Ic67c6bca5e1f33bf2ec60e2e3ff8c366bab91563
Andreas Gampe [Wed, 4 Feb 2015 21:28:00 +0000 (21:28 +0000)]
am
a8fb460f: Merge "ART: Fix old run scripts"
* commit '
a8fb460f0a5c96881c433f9586bdf1f705c97d35':
ART: Fix old run scripts
Andreas Gampe [Wed, 4 Feb 2015 21:20:25 +0000 (21:20 +0000)]
Merge "ART: Fix old run scripts"
Andreas Gampe [Wed, 4 Feb 2015 02:26:55 +0000 (18:26 -0800)]
ART: Fix old run scripts
The run scripts had not been updated when the central command script
was unified, so they were always choosing target mode.
Also update the run scripts so they abort when wrong options are
used.
Also strip superfluous whitespace from commands.
Change-Id: I13cc59f43734a86062fc3ce5ff4ea308c301d4d3
Mathieu Chartier [Wed, 4 Feb 2015 21:12:19 +0000 (21:12 +0000)]
am
f30c00fc: Merge "Fix incorrect static const"
* commit '
f30c00fc436264014338744f9902346f0642df3b':
Fix incorrect static const
Mathieu Chartier [Wed, 4 Feb 2015 20:54:11 +0000 (20:54 +0000)]
Merge "Fix incorrect static const"
Mathieu Chartier [Wed, 4 Feb 2015 20:52:34 +0000 (12:52 -0800)]
Fix incorrect static const
Bug:
19265183
Change-Id: I573df60fe90952246d2126ced010f2bdac006bca
Andreas Gampe [Wed, 4 Feb 2015 19:26:41 +0000 (19:26 +0000)]
am
7d318624: Merge "ART: Pass Options should be strings instead of integers"
* commit '
7d3186247cd382c4f7cf8093961795e8565b00e0':
ART: Pass Options should be strings instead of integers
Andreas Gampe [Wed, 4 Feb 2015 19:21:04 +0000 (19:21 +0000)]
Merge "ART: Pass Options should be strings instead of integers"
Mathieu Chartier [Wed, 4 Feb 2015 19:15:49 +0000 (19:15 +0000)]
am
c470aefe: Merge "Fix occasional long ThreadSuspendSleep"
* commit '
c470aefe5abb9ab0b209c7c99139734efe97b177':
Fix occasional long ThreadSuspendSleep
Mathieu Chartier [Wed, 4 Feb 2015 19:07:24 +0000 (19:07 +0000)]
Merge "Fix occasional long ThreadSuspendSleep"
Nicolas Geoffray [Wed, 4 Feb 2015 15:43:39 +0000 (15:43 +0000)]
am
a4ddb549: Merge "Fix a bug in the inliner."
* commit '
a4ddb5493e2426488074cfeccf1b1e779d5385ee':
Fix a bug in the inliner.
Nicolas Geoffray [Wed, 4 Feb 2015 15:43:38 +0000 (15:43 +0000)]
am
a6919983: Merge "ART: Dump environment to cfg file."
* commit '
a6919983bfc7e2c1eb69a4408f940146a2b78d59':
ART: Dump environment to cfg file.
David Brazdil [Wed, 4 Feb 2015 15:43:37 +0000 (15:43 +0000)]
am
c2024144: Merge "Create HGraph outside Builder, print timings"
* commit '
c2024144da54504d819869dc928ce4ac975634d4':
Create HGraph outside Builder, print timings
Nicolas Geoffray [Wed, 4 Feb 2015 15:43:36 +0000 (15:43 +0000)]
am
53150eb4: Merge "Fix a bug in combination of intrinsics and kNoOutputOverlap."
* commit '
53150eb4fb5c3bbcb0138b8dccb481726299f6ab':
Fix a bug in combination of intrinsics and kNoOutputOverlap.
Nicolas Geoffray [Wed, 4 Feb 2015 15:43:35 +0000 (15:43 +0000)]
am
f4b24f7e: Merge "ART: Change x86 long param ABI (Quick/JNI/Opt)"
* commit '
f4b24f7ea507ff41db39154a1e6a681a582e224a':
ART: Change x86 long param ABI (Quick/JNI/Opt)
Nicolas Geoffray [Wed, 4 Feb 2015 15:43:35 +0000 (15:43 +0000)]
am
6bc17805: Merge "Fix test after register allocator changes."
* commit '
6bc17805d2df2678de186e3b4c3e2f959a48555f':
Fix test after register allocator changes.
Nicolas Geoffray [Wed, 4 Feb 2015 15:43:33 +0000 (15:43 +0000)]
am
b73e4447: Merge "Finally implement Location::kNoOutputOverlap."
* commit '
b73e4447736996f7cc8b193d7e3f5c38d5739d22':
Finally implement Location::kNoOutputOverlap.
Nicolas Geoffray [Wed, 4 Feb 2015 15:28:41 +0000 (15:28 +0000)]
Merge "Fix a bug in the inliner."
Nicolas Geoffray [Wed, 4 Feb 2015 14:52:20 +0000 (14:52 +0000)]
Fix a bug in the inliner.
Code did not work in the presence of multiple returns.
Spotted by Mark P. Mendell.
Change-Id: I237050a0d79c0cfaa479e9b886f7450879e84713
Nicolas Geoffray [Wed, 4 Feb 2015 14:02:24 +0000 (14:02 +0000)]
Merge "ART: Dump environment to cfg file."
Zheng Xu [Fri, 9 Jan 2015 06:40:47 +0000 (14:40 +0800)]
ART: Dump environment to cfg file.
Environment shows additional dependency and instructions with environment
should usually be a safepoint as well.
Change-Id: I04606624e6ea212ab1dc7502cdb87b5d5d0e3ac2
David Brazdil [Wed, 4 Feb 2015 13:51:17 +0000 (13:51 +0000)]
Merge "Create HGraph outside Builder, print timings"
David Brazdil [Fri, 23 Jan 2015 14:39:08 +0000 (14:39 +0000)]
Create HGraph outside Builder, print timings
This patch refactors the way HGraph objects are created, moving the
instantiation out of the Builder class and creating the CodeGenerator
earlier. The patch uses this to build a single interface for printing
timings info and dumping the CFG.
Change-Id: I2eb63eabf28e2d0f5cdc7affaa690c3a4b1bdd21
Nicolas Geoffray [Wed, 4 Feb 2015 10:58:28 +0000 (10:58 +0000)]
Merge "Fix a bug in combination of intrinsics and kNoOutputOverlap."
Nicolas Geoffray [Wed, 4 Feb 2015 10:44:23 +0000 (10:44 +0000)]
Fix a bug in combination of intrinsics and kNoOutputOverlap.
In case we need to go in the slow path for an intrinsic call,
we can't have the output be the same as the input: the current
liveness analysis considers the input to be live at the point of the call.
Change-Id: I5cbdc7f50dd06b4fefcbd3c213274fa645bd3fa0
Nicolas Geoffray [Wed, 4 Feb 2015 09:45:14 +0000 (09:45 +0000)]
Merge "ART: Change x86 long param ABI (Quick/JNI/Opt)"
Nicolas Geoffray [Wed, 4 Feb 2015 09:39:31 +0000 (09:39 +0000)]
Merge "Fix test after register allocator changes."
Nicolas Geoffray [Wed, 4 Feb 2015 09:38:49 +0000 (09:38 +0000)]
Fix test after register allocator changes.
Change-Id: I22b8faf7926d33ab19033deaba77001d164abd2a
Nicolas Geoffray [Wed, 4 Feb 2015 09:13:32 +0000 (09:13 +0000)]
Merge "Finally implement Location::kNoOutputOverlap."
Nicolas Geoffray [Wed, 28 Jan 2015 10:20:37 +0000 (10:20 +0000)]
Finally implement Location::kNoOutputOverlap.
The [i, i + 1) interval scheme we chose for representing
lifetime positions is not optimal for doing this optimization.
It however doesn't prevent recognizing a non-split interval
during the TryAllocateFreeReg phase, and try to re-use
its inputs' registers.
Change-Id: I80a2823b0048d3310becfc5f5fb7b1230dfd8201
Mathieu Chartier [Tue, 3 Feb 2015 22:26:46 +0000 (14:26 -0800)]
Fix occasional long ThreadSuspendSleep
Since usleep can wait much longer than the specified us, we use
sched_yield instead for more predictable behavior.
Bug:
18379850
Change-Id: I729212251db1e86e470240b7a042bbf2d4e981cd
Hiroshi Yamauchi [Tue, 3 Feb 2015 23:43:21 +0000 (23:43 +0000)]
am
69d69ea4: Merge "ART: checkpoint mechanism optimization"
* commit '
69d69ea40fe64ff2e70daffc365a2fffe5964fcc':
ART: checkpoint mechanism optimization
Hiroshi Yamauchi [Tue, 3 Feb 2015 23:39:13 +0000 (23:39 +0000)]
Merge "ART: checkpoint mechanism optimization"
Jean-Philippe Halimi [Tue, 20 Jan 2015 09:52:43 +0000 (10:52 +0100)]
ART: Pass Options should be strings instead of integers
This patch modifies the pass options to handle string
values as well as integers. This will allow for more
verbose pass customization.
Change-Id: Iaf9507ceaae2cef317a23f0783404bacfdcad023
Signed-off-by: Jean-Philippe Halimi <jean-philippe.halimi@intel.com>