Commit Graph

34 Commits

Author SHA1 Message Date
topjohnwu
9b0c41f313 Add control flow tests 2018-12-17 23:07:48 -05:00
topjohnwu
0b54ecebac Add statistics and SQLite3 scripts 2018-12-17 04:53:33 -05:00
topjohnwu
199b9a8e75 Update building method 2018-12-17 03:58:37 -05:00
topjohnwu
129e29b9d2 Properly support unknown src pointers 2018-12-17 03:16:05 -05:00
topjohnwu
63556e10f3 Better organization code 2018-12-16 20:44:57 -05:00
topjohnwu
5f8177c832 Optimize original address pointers 2018-12-16 19:11:44 -05:00
topjohnwu
1416cbd78f Support unknown pointers 2018-12-16 18:39:37 -05:00
topjohnwu
e776b6825b Simplify functions 2018-12-16 05:32:45 -05:00
topjohnwu
b09901beb2 Support non-zero first GEP index 2018-12-16 05:19:18 -05:00
topjohnwu
8f8fedd758 Support sensitive struct pass by pointer 2018-12-16 05:04:19 -05:00
topjohnwu
e1c3d1cb94 Use commit and restore to support pass by pointer 2018-12-15 21:33:24 -05:00
topjohnwu
d952734e0c Skip struct on stack that passes reference to functions 2018-12-15 20:14:54 -05:00
topjohnwu
da6e5ebedb Rewrite runtime __sm_alloca
Change safe memory alloca behavior: directly return memory address instead of returning index
2018-12-15 14:31:34 -05:00
topjohnwu
03f49c2022 Optimizations: no more unnecessary loads 2018-12-14 19:05:59 -05:00
topjohnwu
e1dd408c4a Fix the case when structs have multiple function pointer members 2018-12-14 12:11:00 -05:00
topjohnwu
a619a9b3d7 Add test case for multiple function pointers in struct 2018-12-14 02:27:44 -05:00
topjohnwu
2f431010b0 Minor adjustments 2018-12-14 02:22:55 -05:00
topjohnwu
2aa2095768 Test stack maintenance 2018-12-14 01:43:29 -05:00
topjohnwu
00efcfb8cb Update runtime alloca 2018-12-14 01:25:40 -05:00
topjohnwu
78723a366e Rename function names and cleanups 2018-12-14 01:15:11 -05:00
topjohnwu
daa4f17969 Support function pointer in structs 2018-12-14 01:12:28 -05:00
topjohnwu
64d9a69808 Zero function call overhead store/load swap 2018-12-13 17:19:45 -05:00
topjohnwu
a8328ec53e Only remove if all usage is removed 2018-12-13 16:33:19 -05:00
topjohnwu
8647802ebe Add stack maintenance 2018-12-13 16:24:19 -05:00
Po-Jen Lai
5e15fc093e modify run.sh to make it work on linux 2018-12-13 21:13:22 +00:00
topjohnwu
1c6ac53365 Update tests 2018-12-13 15:31:58 -05:00
topjohnwu
d3e32fbdb1 Change runtime from C++ to C 2018-12-13 15:14:30 -05:00
John Wu
da766d6149
Update README.md 2018-12-06 07:23:02 -05:00
topjohnwu
5d9c1fa159 Simple CPS + Memory Separation runtime library done 2018-12-06 07:10:38 -05:00
topjohnwu
e635817fb8 Add POC test function injection 2018-12-06 03:37:10 -05:00
topjohnwu
10717e3d1c Add simple tests scripts and code 2018-12-06 01:01:40 -05:00
topjohnwu
c6e8eca5b5 Register pass as "cpi" 2018-12-06 00:59:32 -05:00
topjohnwu
848163c388 Upload base structure 2018-11-30 17:50:05 -05:00
topjohnwu
2b5370c292 Initial commit 2018-11-30 16:53:16 -05:00