Research Article

Fine-Grained Control-Flow Integrity Based on Points-to Analysis for CPS

Listing 6

LLVM bitcode for a C++ virtual call.
1 %class.Test = type i64 (...),...}
2 %1=bitcast %tp to i64 (%class.Test)
3 %2=load i64 (%class.Test) %1
4 %3=getelementptr i64 (%class.Test) %2, 1
5 %4=load i64 (%class.Test) %3
6 call i64 %4 (%class.Test %bp)