OSDN Git Service
Jeff Hao [Fri, 8 Jul 2016 20:25:21 +0000 (20:25 +0000)]
Merge \\"Revert \\"Revert \\"Optimize IMT\\"\\"\\" am:
83e4903f9f
am:
295a8a75ef
Change-Id: I7184162772b1878cab62b042de1f493a1b1d52f4
Artem Udovichenko [Fri, 8 Jul 2016 20:20:42 +0000 (20:20 +0000)]
Merge \"Revert \"Revert \"Optimize IMT\"\"\"
am:
83e4903f9f
Change-Id: I8e62c7310ad66948716d8e5a628022b4f92c7f86
Jeff Hao [Fri, 8 Jul 2016 20:06:58 +0000 (20:06 +0000)]
Merge "Revert "Revert "Optimize IMT"""
Richard Uhler [Fri, 8 Jul 2016 17:42:14 +0000 (17:42 +0000)]
Merge \\"Fix missing patchoat dependency for dex2oat test.\\" am:
dadc075149
am:
e2555d843b
Change-Id: I9643a9bcc5ac41851567a307d728f92a3a3932d1
Richard Uhler [Fri, 8 Jul 2016 17:38:44 +0000 (17:38 +0000)]
Merge \"Fix missing patchoat dependency for dex2oat test.\"
am:
dadc075149
Change-Id: Ia4a0f663f186c94ef8bcf632c6bd3285e2eae388
Aart Bik [Fri, 8 Jul 2016 17:38:39 +0000 (17:38 +0000)]
Merge \\"MIPS64: java.lang.Math.round\\" am:
b136c87854
am:
ee76f0740f
Change-Id: I000e77f536ee2a4a16d59f01e8bb361a75225995
Chris Larsen [Fri, 8 Jul 2016 17:35:12 +0000 (17:35 +0000)]
Merge \"MIPS64: java.lang.Math.round\"
am:
b136c87854
Change-Id: I13aeb94bf27ae0b888cbe6b2391c7f39288daef4
Treehugger Robot [Fri, 8 Jul 2016 17:31:52 +0000 (17:31 +0000)]
Merge "Fix missing patchoat dependency for dex2oat test."
Aart Bik [Fri, 8 Jul 2016 17:26:30 +0000 (17:26 +0000)]
Merge "MIPS64: java.lang.Math.round"
Roland Levillain [Fri, 8 Jul 2016 16:38:59 +0000 (16:38 +0000)]
Merge \\"Math Round Intrinsic Implementations For Java8.\\" am:
a548c081fe
am:
7b5da38b55
Change-Id: Ia559faecf2a1ce5e863f9c9f0e08501cd133de76
xueliang.zhong [Fri, 8 Jul 2016 16:35:27 +0000 (16:35 +0000)]
Merge \"Math Round Intrinsic Implementations For Java8.\"
am:
a548c081fe
Change-Id: I6fa34bb5386619435811c71b4c9b927249b8b06c
Roland Levillain [Fri, 8 Jul 2016 16:28:23 +0000 (16:28 +0000)]
Merge "Math Round Intrinsic Implementations For Java8."
Richard Uhler [Fri, 8 Jul 2016 16:22:33 +0000 (09:22 -0700)]
Fix missing patchoat dependency for dex2oat test.
Change-Id: I7d00e676b895da805a1e476214cb4c92d7581e2b
Test: rm -r out && m test-art-host-gtest-dex2oat_test
Test: rm -r out && m test-art-host-gtest-oat_file_assistant_test
Vladimir Marko [Fri, 8 Jul 2016 15:55:59 +0000 (15:55 +0000)]
Merge \\"ARM: Remove unnecessary VMOV from float/double-to-int.\\" am:
4a7a7d2679
am:
dae628784e
Change-Id: I348409c461e99c4bcbc2b40cfbd47d04590d4f82
Vladimir Marko [Fri, 8 Jul 2016 15:52:12 +0000 (15:52 +0000)]
Merge \"ARM: Remove unnecessary VMOV from float/double-to-int.\"
am:
4a7a7d2679
Change-Id: Ic344be7007d64a5045005c796535b8dab7c91ac1
Vladimir Marko [Fri, 8 Jul 2016 15:43:25 +0000 (15:43 +0000)]
Merge "ARM: Remove unnecessary VMOV from float/double-to-int."
Roland Levillain [Fri, 8 Jul 2016 15:30:37 +0000 (15:30 +0000)]
Merge \\"Fix the definition of THREAD_CURRENT_IBASE_OFFSET.\\" am:
5f485719b1
am:
2576d6227d
Change-Id: Ib54b6b7ede9662e33fd5c67743ff2d91fffe7a38
Roland Levillain [Fri, 8 Jul 2016 15:27:07 +0000 (15:27 +0000)]
Merge \"Fix the definition of THREAD_CURRENT_IBASE_OFFSET.\"
am:
5f485719b1
Change-Id: I826e160196ec939d5c913dab8ededb50253929c3
Roland Levillain [Fri, 8 Jul 2016 15:15:17 +0000 (15:15 +0000)]
Merge "Fix the definition of THREAD_CURRENT_IBASE_OFFSET."
Vladimir Marko [Fri, 8 Jul 2016 14:47:31 +0000 (14:47 +0000)]
Merge \\"ARM: Use 64-bit literals for LoadDImmediate().\\" am:
4d35bee020
am:
6e6fd09b7c
Change-Id: I21083adcffb8fae97e2d24ca44dfcd43ae5eb672
Vladimir Marko [Fri, 8 Jul 2016 14:43:46 +0000 (14:43 +0000)]
Merge \"ARM: Use 64-bit literals for LoadDImmediate().\"
am:
4d35bee020
Change-Id: Idda579ae8bf35ee11634db8d75e7ac70aa9d522d
Treehugger Robot [Fri, 8 Jul 2016 14:36:43 +0000 (14:36 +0000)]
Merge "ARM: Use 64-bit literals for LoadDImmediate()."
Roland Levillain [Fri, 8 Jul 2016 13:21:44 +0000 (14:21 +0100)]
Fix the definition of THREAD_CURRENT_IBASE_OFFSET.
The difference between between
art::Thread::tlsPtr_.mterp_current_ibase and
art::Thread::tlsPtr_.thread_local_objects is sizeof(size_t),
not sizeof(void*) (even if they have the same value on all
supported platforms/compilers in practice).
Test: ART host tests.
Change-Id: I70d196732499bd0cd073983de564547d08ee59ef
xueliang.zhong [Fri, 27 May 2016 17:56:13 +0000 (18:56 +0100)]
Math Round Intrinsic Implementations For Java8.
According to Java 8 API definition Math.round() performs:
Return the closest long or int to the argument,
with ties rounding to positive infinity.
Before this patch, the Math.round intrinsics were disabled,
because they followed the old definition of Math.round: floor(input+0.5).
This patch reimplement Math.round intrinsic to follow the new definition.
Change-Id: I453c01a9857a3d461b230e4d4e98c2d7bdf7a3c7
Vladimir Marko [Thu, 7 Jul 2016 14:37:02 +0000 (15:37 +0100)]
ARM: Use 64-bit literals for LoadDImmediate().
And rewrite the medium-range long/fp literal to use
MOVW+ADD+LDRD/VLDR because the old instruction sequence
was broken if the "ADD ip, pc" was not 4-byte aligned.
Test: assembler_thumb2_test has been updated. Standard
ART test suite has been run on host and Nexus 5.
Change-Id: I37c6a62aa6e77c6a9701b5a1fb4db2e666c1eae9
Nicolas Geoffray [Fri, 8 Jul 2016 13:03:38 +0000 (13:03 +0000)]
Merge \\"Implement System.arraycopy intrinsic on x86.\\" am:
2e7acaffda
am:
7bfa67d404
Change-Id: I7eaa1f52054fa789737c18f82ed32f134ede4174
Nicolas Geoffray [Fri, 8 Jul 2016 13:00:27 +0000 (13:00 +0000)]
Merge \"Implement System.arraycopy intrinsic on x86.\"
am:
2e7acaffda
Change-Id: If7581ac4c13c547afd1ffbbe4655fd5c930c3531
Nicolas Geoffray [Fri, 8 Jul 2016 12:51:01 +0000 (12:51 +0000)]
Merge "Implement System.arraycopy intrinsic on x86."
Roland Levillain [Fri, 8 Jul 2016 11:31:54 +0000 (11:31 +0000)]
Merge \\"Mark ReadBarrierJni as a direct entry point on MIPS32.\\" am:
7d14037d25
am:
e7c4e932b3
Change-Id: I3ab244847c3245979a617b6b29d997b429e5d59f
Roland Levillain [Fri, 8 Jul 2016 11:28:22 +0000 (11:28 +0000)]
Merge \"Mark ReadBarrierJni as a direct entry point on MIPS32.\"
am:
7d14037d25
Change-Id: I047cf431bbf6d69ac6fc24a73077556540d3b732
Roland Levillain [Fri, 8 Jul 2016 11:19:03 +0000 (11:19 +0000)]
Merge "Mark ReadBarrierJni as a direct entry point on MIPS32."
Bill Buzbee [Thu, 7 Jul 2016 22:04:14 +0000 (22:04 +0000)]
Merge \\"Revert \\"Revert \\"ART: Add Mterp export pc poison testing mode\\"\\"\\" am:
59313b2035
am:
08a4340053
Change-Id: I99e867dafd2dd3ccb34e14fc129752484dce858f
Bill Buzbee [Thu, 7 Jul 2016 22:00:59 +0000 (22:00 +0000)]
Merge \"Revert \"Revert \"ART: Add Mterp export pc poison testing mode\"\"\"
am:
59313b2035
Change-Id: I25cef95ff4d7714e56bd692c37d62c4100f989f5
Bill Buzbee [Thu, 7 Jul 2016 21:53:29 +0000 (21:53 +0000)]
Merge "Revert "Revert "ART: Add Mterp export pc poison testing mode"""
Richard Uhler [Thu, 7 Jul 2016 18:09:39 +0000 (18:09 +0000)]
Merge \\"Add missing dependency required for ahat-test.\\" am:
c9c5fe47ea
am:
0fc2b06bb0
Change-Id: I982f86e4cea335ad3dbc7feaa51b7f91b5a2a94f
Richard Uhler [Thu, 7 Jul 2016 18:04:50 +0000 (18:04 +0000)]
Merge \"Add missing dependency required for ahat-test.\"
am:
c9c5fe47ea
Change-Id: I1088756fe48935df229e477a52fb0b8ba2560b01
Treehugger Robot [Thu, 7 Jul 2016 17:53:56 +0000 (17:53 +0000)]
Merge "Add missing dependency required for ahat-test."
Nicolas Geoffray [Wed, 6 Jul 2016 11:09:12 +0000 (12:09 +0100)]
Implement System.arraycopy intrinsic on x86.
Also remove wrong comments when doing the raw copying.
test:run-test, 537-checker-arraycopy, 610-arraycopy
Change-Id: I2495bc03cde8ccad03c93f7722dd29bf85138525
Bill Buzbee [Thu, 7 Jul 2016 14:42:43 +0000 (14:42 +0000)]
Revert "Revert "ART: Add Mterp export pc poison testing mode""
This reverts commit
d7af522c0f03cd926b13bbef7c21a8a504969f36.
Fixes mips assembly typo: "mov" -> "move"
TEST: Previously tested arm/arm64/x86/x86_64 via test-art-host,
test-art-target plus injected error. Neglected to test mips
builds. Now those tested as well.
Change-Id: If2f9fb06973f8c1220a7d7699d79e6b9f1ce3197
Nicolas Geoffray [Thu, 7 Jul 2016 13:46:54 +0000 (13:46 +0000)]
Merge \\"Fix System.arraycopy when doing same array copying.\\" am:
9fa78522de
am:
2ecc121a29
Change-Id: Ia115828a9adfa656683d59505e322b260ffd47c6
Nicolas Geoffray [Thu, 7 Jul 2016 13:44:09 +0000 (13:44 +0000)]
Merge \"Fix System.arraycopy when doing same array copying.\"
am:
9fa78522de
Change-Id: I295b38438ee78e16135b6623d5d1437bc3225432
Treehugger Robot [Thu, 7 Jul 2016 13:38:44 +0000 (13:38 +0000)]
Merge "Fix System.arraycopy when doing same array copying."
Vladimir Marko [Thu, 7 Jul 2016 11:07:44 +0000 (12:07 +0100)]
ARM: Remove unnecessary VMOV from float/double-to-int.
Test: Run standard ART test suite on Nexus 5.
Change-Id: I780fd0cca68f89401d2a114e1022bed498d02979
Nicolas Geoffray [Thu, 7 Jul 2016 11:07:42 +0000 (12:07 +0100)]
Fix System.arraycopy when doing same array copying.
At compile time, if constant source < constant destination, and we don't
know if the arrays are the same, then we must emit code that checks
if the two arrays are the same. If so, we jump to the slow path.
test:610-arraycopy
Change-Id: Ida67993d472b0ba4056d9c21c68f6e5239421f7d
Artem Udovichenko [Thu, 30 Jun 2016 09:18:25 +0000 (09:18 +0000)]
Revert "Revert "Optimize IMT""
This reverts commit
88f288e3564d79d87c0cd8bb831ec5a791ba4861.
Change-Id: I49605d53692cbec1e2622e23ff2893fc51ed4115
Nicolas Geoffray [Thu, 7 Jul 2016 08:36:42 +0000 (08:36 +0000)]
Merge \\"Revert \\"Revert \\"Inline and optimize interface calls.\\"\\"\\" am:
f731706af1
am:
72065f1300
Change-Id: I47385f260bf30f79f0486f62af7ac93e2095d429
Nicolas Geoffray [Thu, 7 Jul 2016 08:33:41 +0000 (08:33 +0000)]
Merge \"Revert \"Revert \"Inline and optimize interface calls.\"\"\"
am:
f731706af1
Change-Id: Id0d347305f2f35f485c6131574346fcde0eea225
Nicolas Geoffray [Thu, 7 Jul 2016 08:28:47 +0000 (08:28 +0000)]
Merge "Revert "Revert "Inline and optimize interface calls."""
Bill Buzbee [Wed, 6 Jul 2016 23:55:45 +0000 (23:55 +0000)]
Merge \\"Revert \\"ART: Add Mterp export pc poison testing mode\\"\\" am:
05801f4b2b
am:
974bd6be23
Change-Id: I9b47e3e8de10bc7b53840c1dd660cc3b3acab5ee
Bill Buzbee [Wed, 6 Jul 2016 23:52:49 +0000 (23:52 +0000)]
Merge \"Revert \"ART: Add Mterp export pc poison testing mode\"\"
am:
05801f4b2b
Change-Id: I1d189ec9ab8c1839d8e737a15fa01e998f62b5fb
Bill Buzbee [Wed, 6 Jul 2016 23:31:30 +0000 (23:31 +0000)]
Merge "Revert "ART: Add Mterp export pc poison testing mode""
Bill Buzbee [Wed, 6 Jul 2016 23:28:26 +0000 (23:28 +0000)]
Revert "ART: Add Mterp export pc poison testing mode"
This reverts commit
e664cfef4d373a037dcf18637bea6b41e0624302.
Change-Id: I521dfccd6c829946c93290163bf817b8a2c368e9
Bill Buzbee [Wed, 6 Jul 2016 21:32:04 +0000 (21:32 +0000)]
Merge \\"ART: Add Mterp export pc poison testing mode\\" am:
2812ddd2de
am:
ae2469391a
Change-Id: Ie6de1084bdf0ed47e327dafb2cdd12c2f955309e
buzbee [Wed, 6 Jul 2016 21:29:21 +0000 (21:29 +0000)]
Merge \"ART: Add Mterp export pc poison testing mode\"
am:
2812ddd2de
Change-Id: I0ed6fc8c38e7df7c2d4bbfcd4949aadb3364704f
Richard Uhler [Fri, 1 Jul 2016 20:10:56 +0000 (13:10 -0700)]
Add missing dependency required for ahat-test.
Change-Id: I8f7afc97a82fadcdd2f18032900f2b8d8b2059bf
Test: rm -r out/ && m ahat-test
Test: rm -r out/ && m build-art-host
Test: rm -r out/ && m build-art-host-tests
Test: rm -r out/ && m build-art-target
Test: rm -r out/ && m build-art-target-tests
Bill Buzbee [Wed, 6 Jul 2016 21:06:06 +0000 (21:06 +0000)]
Merge "ART: Add Mterp export pc poison testing mode"
Richard Uhler [Wed, 6 Jul 2016 20:23:02 +0000 (20:23 +0000)]
Merge \\"Revert \\"Add missing dependency required for ahat-test.\\"\\" am:
072350e6a1
am:
4610e7a94d
Change-Id: I7e9afda19fe445aa466f82b515fe43a1e3cab783
Richard Uhler [Wed, 6 Jul 2016 20:18:50 +0000 (20:18 +0000)]
Merge \"Revert \"Add missing dependency required for ahat-test.\"\"
am:
072350e6a1
Change-Id: Ia49afaa89291621f14b9d43daab83c4ed065d44d
Richard Uhler [Wed, 6 Jul 2016 20:02:20 +0000 (20:02 +0000)]
Merge "Revert "Add missing dependency required for ahat-test.""
Richard Uhler [Wed, 6 Jul 2016 19:59:33 +0000 (19:59 +0000)]
Revert "Add missing dependency required for ahat-test."
This reverts commit
13f6d39da8ba6450dc861c4bfd09d21f3b403d4b.
Breaks 'build-art-target'.
https://build.chromium.org/p/client.art/builders/mips64-emulator-debug/builds/5651/steps/build%20target/logs/stdio
Change-Id: I1466f92308955604ecfcac65deff86cb581d6fdc
Richard Uhler [Wed, 6 Jul 2016 18:30:06 +0000 (18:30 +0000)]
Merge \\"Add missing dependency required for ahat-test.\\" am:
97c78733eb
am:
98f057c0d5
Change-Id: Ia7e8c4c56724031c64a84a80da2568ab6b9f0723
Richard Uhler [Wed, 6 Jul 2016 18:27:43 +0000 (18:27 +0000)]
Merge \"Add missing dependency required for ahat-test.\"
am:
97c78733eb
Change-Id: I5ab4200f4ee3c93d609e52ad7ed065b1d14925ae
Treehugger Robot [Wed, 6 Jul 2016 18:21:34 +0000 (18:21 +0000)]
Merge "Add missing dependency required for ahat-test."
buzbee [Thu, 23 Jun 2016 20:35:39 +0000 (13:35 -0700)]
ART: Add Mterp export pc poison testing mode
One of the optimizations of the Mterp assembly interpreter is
that it attempts to limit the number of times it updates the saved
dex_pc_ value stored in the shadow frame. Instead, it maintains
a pointer to the current dex instruction in a dedicated register.
However, whenever execution flow exits the immediate mterp
environment and some other part of the runtime needs to know the
current dex pc (for example - exception throws), mterp must
save - or "export" the dex_pc back into it's home location in
the shadow frame.
Forgetting to do this is a typical bug when developing mterp
instruction handlers. And, the failures show up in odd and
sometimes hard to track down ways. This CL adds a testing mode
that poisons the saved dex_pc prior to each instruction
interpretation. Thus, if any individual handler neglects to
properly export the current dex pc and then goes on to use it
we'll segfault out with an identifiable fault address: 0xdead00ff.
TEST: test-art-target (Nexus 5x, Nexus 6p), test-art-host. Verified
expected failure by artificially neglecting an EXPORT_PC.
Bug:
26572899
Change-Id: I704fbb8ece693b94341aed0ffbb51a6acfb89697
Nicolas Geoffray [Wed, 6 Jul 2016 14:18:23 +0000 (14:18 +0000)]
Revert "Revert "Inline and optimize interface calls.""
This reverts commit
19dc255bf94a4229de8627a2079ee6f0e9005e2d.
Change-Id: Ifc3a92280878d4db1b460d486137497b3456beae
Nicolas Geoffray [Wed, 6 Jul 2016 14:13:49 +0000 (14:13 +0000)]
Merge \\"Revert \\"Inline and optimize interface calls.\\"\\" am:
a5f0a1ab3f
am:
b7d0a58762
Change-Id: Ia01502477d97a4db2f2981b7ab4fa23789424ec7
Nicolas Geoffray [Wed, 6 Jul 2016 14:10:44 +0000 (14:10 +0000)]
Merge \"Revert \"Inline and optimize interface calls.\"\"
am:
a5f0a1ab3f
Change-Id: Iaf791cd9863d0bab2a0a1f2ac74cd5992183ae4b
Nicolas Geoffray [Wed, 6 Jul 2016 14:02:13 +0000 (14:02 +0000)]
Merge "Revert "Inline and optimize interface calls.""
Nicolas Geoffray [Wed, 6 Jul 2016 14:01:50 +0000 (14:01 +0000)]
Revert "Inline and optimize interface calls."
Went ahead too quickly.
This reverts commit
d9faceaa8da92f4a56c2907de949081bd42faf79.
Change-Id: I1610deaf89b38037cf2786d135a59c48b10ced0c
Nicolas Geoffray [Wed, 6 Jul 2016 13:45:59 +0000 (13:45 +0000)]
Merge \\"Inline and optimize interface calls.\\" am:
4f3438fb81
am:
82323fb2c7
Change-Id: I7034658796098ca0459fcdfe53944087633e3894
Nicolas Geoffray [Wed, 6 Jul 2016 13:43:02 +0000 (13:43 +0000)]
Merge \"Inline and optimize interface calls.\"
am:
4f3438fb81
Change-Id: I97c16779ebac5deceebfdde24c5b6d66f5d528b2
Treehugger Robot [Wed, 6 Jul 2016 13:37:49 +0000 (13:37 +0000)]
Merge "Inline and optimize interface calls."
Roland Levillain [Wed, 6 Jul 2016 13:30:43 +0000 (13:30 +0000)]
Merge \\"Fix stack alignment in x86 read barrier entry points.\\" am:
c96b0b00ad
am:
53607fbb15
Change-Id: I5cdca8aa90b41c8b51f2e127d63c1eeb0ac5d6be
Roland Levillain [Wed, 6 Jul 2016 13:27:05 +0000 (13:27 +0000)]
Merge \"Fix stack alignment in x86 read barrier entry points.\"
am:
c96b0b00ad
Change-Id: I15f2fccb7e7f9b04113ac7f81351899b59906d8b
Roland Levillain [Wed, 6 Jul 2016 13:20:52 +0000 (13:20 +0000)]
Merge "Fix stack alignment in x86 read barrier entry points."
Roland Levillain [Wed, 6 Jul 2016 12:45:52 +0000 (13:45 +0100)]
Mark ReadBarrierJni as a direct entry point on MIPS32.
The ReadBarrierJni MIPS32 entry point is a direct reference
to the native (C++) method art::ReadBarrierJni.
Test: Build ART for MIPS32.
Bug:
12687968
Change-Id: I6475855f4696690a681f69931618a055be65a00a
Nicolas Geoffray [Wed, 6 Jul 2016 09:19:23 +0000 (10:19 +0100)]
Inline and optimize interface calls.
- Support for inlining methods with invoke-interface (the
previous performance limitation is now fixed with the new
ImtConflictTable).
- Turn non inlineable invoke-interface into invoke-virtual to
avoid any potential execution of the conflict trampoline.
test:609-checker-inline-interface
Change-Id: Ibe33bc945deaada8fb78541e6e0bf034ebb52420
Vladimir Marko [Wed, 6 Jul 2016 12:23:11 +0000 (12:23 +0000)]
Merge \\"Expect spurious wake-up from futex(2)/FUTEX_WAIT call.\\" am:
94aaec9544
am:
79d44a96da
Change-Id: I034ee3b45f7fe7539dbdf19abf38827bb5b550f1
Vladimir Marko [Wed, 6 Jul 2016 12:20:11 +0000 (12:20 +0000)]
Merge \"Expect spurious wake-up from futex(2)/FUTEX_WAIT call.\"
am:
94aaec9544
Change-Id: Ib4d8108456da7b765ad5a3a081d798f9917d7b73
Vladimir Marko [Wed, 6 Jul 2016 12:12:28 +0000 (12:12 +0000)]
Merge "Expect spurious wake-up from futex(2)/FUTEX_WAIT call."
Roland Levillain [Wed, 6 Jul 2016 09:46:04 +0000 (09:46 +0000)]
Merge \\"Remove stray end of macro.\\" am:
ed22d481c1
am:
25c522cfea
Change-Id: I35e8cd133eb612268303c1951ec33ac197de00f3
Roland Levillain [Wed, 6 Jul 2016 09:43:09 +0000 (09:43 +0000)]
Merge \"Remove stray end of macro.\"
am:
ed22d481c1
Change-Id: Ie0fd2541f467d2353ef680ff5c905eae7b6f1c70
Roland Levillain [Wed, 6 Jul 2016 09:35:26 +0000 (09:35 +0000)]
Merge "Remove stray end of macro."
Roland Levillain [Tue, 5 Jul 2016 17:43:51 +0000 (18:43 +0100)]
Remove stray end of macro.
These lines used to be part of the definition of
SETUP_REFS_ONLY_CALLEE_SAVE_FRAME_PRESERVE_RTEMP2,
which has been deleted.
Test: ART target (ARM) tests.
Bug:
29259539
Change-Id: I4eda77cb739e58d387ffab61a127dc7bc24e2374
Vladimir Marko [Tue, 5 Jul 2016 16:29:55 +0000 (17:29 +0100)]
Expect spurious wake-up from futex(2)/FUTEX_WAIT call.
Test: Run standard ART test suite.
Bug:
27913630
Change-Id: I742544f7a0a7f896e47293d209a874782577e971
Alexey Frunze [Tue, 5 Jul 2016 10:20:19 +0000 (10:20 +0000)]
Merge \\"MIPS32: Fix MipsInstructionSetFeatures::FromVariant()\\" am:
74c0d1bb67
am:
d073843962
Change-Id: Iee36e8ac1e47fe2a94db9449815e1950f9994c5e
Alexey Frunze [Tue, 5 Jul 2016 10:17:40 +0000 (10:17 +0000)]
Merge \"MIPS32: Fix MipsInstructionSetFeatures::FromVariant()\"
am:
74c0d1bb67
Change-Id: Ia0d2d2a0f219bde9c8becd551b5f662d38241e6c
Treehugger Robot [Tue, 5 Jul 2016 10:10:25 +0000 (10:10 +0000)]
Merge "MIPS32: Fix MipsInstructionSetFeatures::FromVariant()"
Nicolas Geoffray [Tue, 5 Jul 2016 08:30:56 +0000 (08:30 +0000)]
Merge \\"Simplification for associative and commutative operations on constants\\" am:
f7ba875851
am:
0978cb0122
Change-Id: I653e17332d0b488e25b18215e1750d39939cb64c
Anton Kirilov [Tue, 5 Jul 2016 08:28:16 +0000 (08:28 +0000)]
Merge \"Simplification for associative and commutative operations on constants\"
am:
f7ba875851
Change-Id: I3aac15baf7dd9b5f4903fd0e4799e37036cb5a25
Nicolas Geoffray [Tue, 5 Jul 2016 08:24:46 +0000 (08:24 +0000)]
Merge "Simplification for associative and commutative operations on constants"
Nicolas Geoffray [Tue, 5 Jul 2016 08:16:22 +0000 (08:16 +0000)]
Merge \\"Never go to resolution while inspecting inlined frames.\\" am:
5aef803591
am:
5df4f129ac
Change-Id: Idbbfff0eee88f2e112bfb060bed49b81f436e1c1
Nicolas Geoffray [Tue, 5 Jul 2016 08:13:35 +0000 (08:13 +0000)]
Merge \"Never go to resolution while inspecting inlined frames.\"
am:
5aef803591
Change-Id: I8cbe7db13d2c09ea1cc0428b9a81bd4a97ed3f37
Nicolas Geoffray [Tue, 5 Jul 2016 08:07:44 +0000 (08:07 +0000)]
Merge "Never go to resolution while inspecting inlined frames."
Nicolas Geoffray [Mon, 4 Jul 2016 09:15:47 +0000 (10:15 +0100)]
Never go to resolution while inspecting inlined frames.
Instead, do a manual inspection and decoding of the invoke
with the dex cache.
Also update oatdump to dump types in the dex cache.
bug:
27858645
Change-Id: I7c0b612ee96e6865fa438c3a1d253686231337bd
test:run-test
Alexey Frunze [Mon, 4 Jul 2016 12:18:11 +0000 (12:18 +0000)]
Merge \\"MIPS32: Improve method invocation\\" am:
d80c5d2368
am:
0ca323853e
Change-Id: I2fb68a4a564dc9a065d116516b56a38742f727d7
Alexey Frunze [Mon, 4 Jul 2016 12:15:14 +0000 (12:15 +0000)]
Merge \"MIPS32: Improve method invocation\"
am:
d80c5d2368
Change-Id: I07f137a2299eb63fe4f971c789a6a7a9622bae90
Treehugger Robot [Mon, 4 Jul 2016 12:10:53 +0000 (12:10 +0000)]
Merge "MIPS32: Improve method invocation"
Richard Uhler [Fri, 1 Jul 2016 20:10:56 +0000 (13:10 -0700)]
Add missing dependency required for ahat-test.
Change-Id: Ifeb4a5ca0ba192b6ae85177cafa7d773c979379f
Test: rm -r out/ && m ahat-test
Alexey Frunze [Tue, 10 May 2016 23:08:05 +0000 (16:08 -0700)]
MIPS32: Improve method invocation
Improvements include:
- CodeGeneratorMIPS::GenerateStaticOrDirectCall() supports:
- MethodLoadKind::kDirectAddressWithFixup (via literals)
- CodePtrLocation::kCallDirectWithFixup (via literals)
- MethodLoadKind::kDexCachePcRelative
- 32-bit literals to support the above (not ready for general-
purpose applications yet because RA is not saved in leaf
methods, but is clobbered on MIPS32R2 when simulating
PC-relative addressing (MIPS32R6 is OK because it has
PC-relative addressing with the lwpc instruction))
- shorter instruction sequences for recursive static/direct
calls
Tested:
- test-art-host-gtest
- test-art-target-gtest and test-art-target-run-test-optimizing on:
- MIPS32R2 QEMU
- CI20 board
- MIPS32R6 (2nd arch) QEMU
Change-Id: Id5b137ad32d5590487fd154c9a01d3b3e7e044ff