summaryrefslogtreecommitdiff
path: root/tests/arm64
diff options
context:
space:
mode:
authorKyungwoo Lee <kyulee@microsoft.com>2016-04-26 14:41:05 -0700
committerKyungwoo Lee <kyulee@microsoft.com>2016-05-04 08:09:42 -0700
commitf63d726b01f42fbbceb497e5de6f36a8622f4000 (patch)
treed07fa64d6907d341c86fe54687eee4c13f69aca1 /tests/arm64
parentdad288b8dfc47975d00c3b44344bd02843cbd1f9 (diff)
downloadcoreclr-f63d726b01f42fbbceb497e5de6f36a8622f4000.tar.gz
coreclr-f63d726b01f42fbbceb497e5de6f36a8622f4000.tar.bz2
coreclr-f63d726b01f42fbbceb497e5de6f36a8622f4000.zip
ARM64: Enable Tail Call with Vararg
Fixes https://github.com/dotnet/coreclr/issues/4475 I've run into `IMPL_LIMITATION("varags + CEE_JMP doesn't work yet")` in importer.cpp. This change enables ARM64 tail call path same as other targets. 1. Similar to amd64 `genFnEpilog`, I made the similar code under `!FEATURE_FASTTAILCALL`. Since `EC_FUNC_TOKEN_INDIR` is not defined for arm64, I've made NYI for such case. 2. Added two pseudo branch instructions 'b_tail' and 'br_tail' which form jmp instruction encodings but follow call instruction semantics since they are used for tail-call. 3. `GenJmpMethod` is enabled. Code is slightly changed to reflect correct float argument handlings and multi-reg support.
Diffstat (limited to 'tests/arm64')
-rw-r--r--tests/arm64/Tests.lst14
1 files changed, 7 insertions, 7 deletions
diff --git a/tests/arm64/Tests.lst b/tests/arm64/Tests.lst
index 028300eedc..8a43f8b779 100644
--- a/tests/arm64/Tests.lst
+++ b/tests/arm64/Tests.lst
@@ -11659,7 +11659,7 @@ RelativePath=JIT\jit64\mcc\interop\mcc_i03\mcc_i03.cmd
WorkingDir=JIT\jit64\mcc\interop\mcc_i03
Expected=0
MaxAllowedDurationSeconds=600
-Categories=Pri0;EXPECTED_FAIL
+Categories=Pri0;EXPECTED_PASS
HostStyle=0
[mcc_i04.cmd_1696]
RelativePath=JIT\jit64\mcc\interop\mcc_i04\mcc_i04.cmd
@@ -11715,7 +11715,7 @@ RelativePath=JIT\jit64\mcc\interop\mcc_i13\mcc_i13.cmd
WorkingDir=JIT\jit64\mcc\interop\mcc_i13
Expected=0
MaxAllowedDurationSeconds=600
-Categories=Pri0;EXPECTED_FAIL;ISSUE_2989
+Categories=Pri0;EXPECTED_PASS
HostStyle=0
[mcc_i14.cmd_1704]
RelativePath=JIT\jit64\mcc\interop\mcc_i14\mcc_i14.cmd
@@ -11771,7 +11771,7 @@ RelativePath=JIT\jit64\mcc\interop\mcc_i33\mcc_i33.cmd
WorkingDir=JIT\jit64\mcc\interop\mcc_i33
Expected=0
MaxAllowedDurationSeconds=600
-Categories=Pri0;EXPECTED_FAIL;ISSUE_2989
+Categories=Pri0;EXPECTED_PASS
HostStyle=0
[mcc_i34.cmd_1712]
RelativePath=JIT\jit64\mcc\interop\mcc_i34\mcc_i34.cmd
@@ -11827,7 +11827,7 @@ RelativePath=JIT\jit64\mcc\interop\mcc_i53\mcc_i53.cmd
WorkingDir=JIT\jit64\mcc\interop\mcc_i53
Expected=0
MaxAllowedDurationSeconds=600
-Categories=Pri0;EXPECTED_FAIL;ISSUE_2989
+Categories=Pri0;EXPECTED_PASS
HostStyle=0
[mcc_i54.cmd_1720]
RelativePath=JIT\jit64\mcc\interop\mcc_i54\mcc_i54.cmd
@@ -11883,7 +11883,7 @@ RelativePath=JIT\jit64\mcc\interop\mcc_i63\mcc_i63.cmd
WorkingDir=JIT\jit64\mcc\interop\mcc_i63
Expected=0
MaxAllowedDurationSeconds=600
-Categories=Pri0;EXPECTED_FAIL;ISSUE_2989
+Categories=Pri0;EXPECTED_PASS
HostStyle=0
[mcc_i64.cmd_1728]
RelativePath=JIT\jit64\mcc\interop\mcc_i64\mcc_i64.cmd
@@ -11939,7 +11939,7 @@ RelativePath=JIT\jit64\mcc\interop\mcc_i73\mcc_i73.cmd
WorkingDir=JIT\jit64\mcc\interop\mcc_i73
Expected=0
MaxAllowedDurationSeconds=600
-Categories=Pri0;EXPECTED_FAIL;ISSUE_2989
+Categories=Pri0;EXPECTED_PASS
HostStyle=0
[mcc_i74.cmd_1736]
RelativePath=JIT\jit64\mcc\interop\mcc_i74\mcc_i74.cmd
@@ -11995,7 +11995,7 @@ RelativePath=JIT\jit64\mcc\interop\mcc_i83\mcc_i83.cmd
WorkingDir=JIT\jit64\mcc\interop\mcc_i83
Expected=0
MaxAllowedDurationSeconds=600
-Categories=Pri0;EXPECTED_FAIL;ISSUE_2989
+Categories=Pri0;EXPECTED_PASS
HostStyle=0
[mcc_i84.cmd_1744]
RelativePath=JIT\jit64\mcc\interop\mcc_i84\mcc_i84.cmd