Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize shadow stack instruction sequences #928

Closed
wants to merge 51 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
534d556
add new stack pointer optimized instructions
Robbepop Feb 4, 2024
05a7f26
apply clippy suggestion
Robbepop Feb 4, 2024
874dd5f
implement execution of new instructions
Robbepop Feb 4, 2024
d697023
implement i32.add_imm + global.set fusion
Robbepop Feb 6, 2024
c0159af
only fuse for global.set with index 0
Robbepop Feb 6, 2024
d9321d1
improve comment
Robbepop Feb 6, 2024
2f84ac1
add TODO comment
Robbepop Feb 6, 2024
65c4882
apply rustfmt
Robbepop Feb 6, 2024
f8c0f57
fix intra doc link
Robbepop Feb 6, 2024
157ab4d
add global.get 0 + i32.add_imm fusion
Robbepop Feb 7, 2024
93bdbda
extract global.set with immutable input translation
Robbepop Feb 9, 2024
72c0028
improve i32_add_imm_into_global_0 constructor
Robbepop Feb 9, 2024
0bd8253
add new shadow stack opts tests
Robbepop Feb 9, 2024
d8b126b
make fuse_i32_eqz more robust
Robbepop Feb 9, 2024
bf4bf77
make cmp+branch fusion more robust
Robbepop Feb 9, 2024
672defb
remove unnecessary calls to reset_last_instr
Robbepop Feb 9, 2024
70bdd0d
improve i32_add_imm_from_global_0 constructor
Robbepop Feb 9, 2024
b889902
adjust tests
Robbepop Feb 9, 2024
38a7057
adjust tests
Robbepop Feb 9, 2024
f40b1a0
add bytecode constructor for I32AddImmInoutGlobal0
Robbepop Feb 9, 2024
cc96940
add op-code fusion for I32AddImmInoutGlobal0
Robbepop Feb 9, 2024
85b80a2
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Feb 9, 2024
d1307d1
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Feb 9, 2024
9c1d697
add test for I32AddImmIntoGlobal0 with I32Sub fusion
Robbepop Feb 11, 2024
72993e6
fix bug with shadow stack opt for i32::MIN values of i32.sub
Robbepop Feb 11, 2024
42f9936
improve shadow stack opt tests
Robbepop Feb 11, 2024
c98eeee
make shadow stack global.set opts work on large integers
Robbepop Feb 11, 2024
b46b533
always translate i{32,64}.sub as i{32,64}.add if rhs is const
Robbepop Feb 12, 2024
4f499bb
rename test
Robbepop Feb 12, 2024
d8a1fe8
adjust tests for shadow stack opts
Robbepop Feb 12, 2024
7f0690d
remove accidentally duplicated code
Robbepop Feb 12, 2024
f8cf6c9
apply clippy suggestions
Robbepop Feb 12, 2024
0a3b3a3
apply clippy suggestions (tests)
Robbepop Feb 12, 2024
d21ce29
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Feb 12, 2024
289de51
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Mar 13, 2024
f848742
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Mar 14, 2024
25c2847
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Mar 20, 2024
ab8126a
fix new tests after merge
Robbepop Mar 20, 2024
590e72f
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Mar 23, 2024
6cb3be7
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Mar 23, 2024
b0228fb
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Mar 23, 2024
2707fcf
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Mar 24, 2024
d61ba01
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Mar 25, 2024
8db0b3c
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Mar 28, 2024
15cd321
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Apr 22, 2024
c2b9c0b
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Jun 18, 2024
993728a
fix post-merge compile errors
Robbepop Jun 18, 2024
9b80c64
Merge branch 'master' into rf-shadow-stack-opt
Robbepop Jun 21, 2024
5034632
Merge branch 'main' into rf-shadow-stack-opt
Robbepop Jul 3, 2024
d021e82
fix internal doc link
Robbepop Jul 3, 2024
27264e3
Merge branch 'main' into rf-shadow-stack-opt
Robbepop Jul 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge branch 'master' into rf-shadow-stack-opt
  • Loading branch information
Robbepop authored Mar 23, 2024
commit 6cb3be72e5abee3acfeb2aef6238297d8466aca0

This merge commit was added into this branch cleanly.

There are no new changes to show, but you can still view the diff.