ykjit / yk

yk packages
https://ykjit.github.io/yk/
Other
29 stars 7 forks source link

Less shadowstack #1295

Closed ptersilie closed 2 months ago

ptersilie commented 2 months ago

Requires https://github.com/ykjit/ykllvm/pull/181.

We no longer adjust the shadowstack for external functions as there's no need to do so. While this doesn't have a measurable performance gain, it does clean up the IR quite a bit. So this

%1 = ptr_add shadowstack, 16
*shadowstack = %1
call external_func()
*shadowstack = %orig_shadowstack

turns into

call external_func()

The change broke a few tests which this commit fixes.

ptersilie commented 2 months ago

I've added another unrelated commit that adds two new tests. These should have gone into the side-tracing PR but I forgot to add them back then.

ptersilie commented 2 months ago

Ok to squash and rebase?

ltratt commented 2 months ago

Please squash.

ptersilie commented 2 months ago

Squashed and rebased.