[PATCH] D16702: [cfi] Safe handling of unaddressable vtable pointers.

Evgeniy Stepanov via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 29 10:54:47 PST 2016


eugenis added inline comments.

================
Comment at: lib/ubsan/ubsan_type_hash_itanium.cc:212
@@ -193,3 +211,3 @@
 };
-VtablePrefix *getVtablePrefix(void *Vtable) {
+VtablePrefix *getVtablePrefix(void *Vtable, bool Safe) {
   VtablePrefix *Vptr = reinterpret_cast<VtablePrefix*>(Vtable);
----------------
pcc wrote:
> I don't think we should add a parameter to make the checking optional unless we know that it is necessary. Have you measured the perf impact on UBSan? (Note that UBSan is already calling `getDynamicTypeInfoFromVtable` on every cache miss).
Not on every cache miss. On every check failure, right before consulting the blacklist and  printing a report.



Repository:
  rL LLVM

http://reviews.llvm.org/D16702





More information about the llvm-commits mailing list