macaw/x86/tests/x64
Tristan Ravitch 6a4f406c68 Revisit handling of tail calls
It turns out that we have to be more conservative with tail call identification,
as incorrectly identifying a block as the target of a tail call (instead of a
branch) can cause other branch classifiers to fail if that block is the target
of another jump.

Ultimately, we will need to give up some tail call recognition (since they are
in general indistinguishable from jumps), and instead only identify known call
targets as tail call candidates.

With additional global analysis we could do better.

Fixes #294
2022-06-27 15:02:43 -07:00
..
.gitignore Handle bitwise operations on stack offset abstract values (#136) 2020-05-28 14:04:06 -04:00
inner_loop_31.exe Revisit handling of tail calls 2022-06-27 15:02:43 -07:00
inner_loop_31.exe.expected Revisit handling of tail calls 2022-06-27 15:02:43 -07:00
inner_loop_31.s Revisit handling of tail calls 2022-06-27 15:02:43 -07:00
Makefile Segment register updates; stack offset calculation. 2019-09-20 13:58:05 -07:00
test-bitmask-rsp.exe Handle bitwise operations on stack offset abstract values (#136) 2020-05-28 14:04:06 -04:00
test-bitmask-rsp.exe.expected Revisit handling of tail calls 2022-06-27 15:02:43 -07:00
test-bitmask-rsp.s Handle bitwise operations on stack offset abstract values (#136) 2020-05-28 14:04:06 -04:00
test-conditional.c Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-conditional.exe Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-conditional.exe.expected Add test case for object jump table. 2018-07-20 18:16:52 -07:00
test-conditional.s Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-direct-calls.c Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-direct-calls.exe Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-direct-calls.exe.expected Add test case for object jump table. 2018-07-20 18:16:52 -07:00
test-direct-calls.s Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-imul.c x86: Fix a bug affecting imul (and add a test case) 2018-10-24 10:23:51 -07:00
test-imul.exe x86: Fix a bug affecting imul (and add a test case) 2018-10-24 10:23:51 -07:00
test-imul.exe.expected x86: Fix a bug affecting imul (and add a test case) 2018-10-24 10:23:51 -07:00
test-imul.s x86: Fix a bug affecting imul (and add a test case) 2018-10-24 10:23:51 -07:00
test-indirect-call.c Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-indirect-call.exe Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-indirect-call.exe.expected Add test case for object jump table. 2018-07-20 18:16:52 -07:00
test-indirect-call.s Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-jump-into-instruction.c regression tests for splitting blocks mid-instruction 2018-01-26 14:09:01 -08:00
test-jump-into-instruction.exe regression tests for splitting blocks mid-instruction 2018-01-26 14:09:01 -08:00
test-jump-into-instruction.exe.expected Add test case for object jump table. 2018-07-20 18:16:52 -07:00
test-jump-into-instruction.s regression tests for splitting blocks mid-instruction 2018-01-26 14:09:01 -08:00
test-jumptable.c Add testcase for non-zero index jumptable. 2019-12-04 14:31:45 -08:00
test-jumptable.o Add testcase for non-zero index jumptable. 2019-12-04 14:31:45 -08:00
test-jumptable.o.expected Add testcase for non-zero index jumptable. 2019-12-04 14:31:45 -08:00
test-just-exit.c Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-just-exit.exe Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-just-exit.exe.expected Add test case for object jump table. 2018-07-20 18:16:52 -07:00
test-just-exit.s Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-plt.c Add test-plt test case, and fix discovery to use trust symbols. 2018-12-04 00:04:23 -08:00
test-plt.exe Add test-plt test case, and fix discovery to use trust symbols. 2018-12-04 00:04:23 -08:00
test-plt.exe.expected Revisit handling of tail calls 2022-06-27 15:02:43 -07:00
test-tail-call.c Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-tail-call.exe Add x86 specific code. 2017-09-27 15:54:43 -07:00
test-tail-call.exe.expected Revisit handling of tail calls 2022-06-27 15:02:43 -07:00
test-tail-call.s Add x86 specific code. 2017-09-27 15:54:43 -07:00
util.h Add x86 specific code. 2017-09-27 15:54:43 -07:00