yiranwang added a comment. some more explanation of last comment. For most architecture sizeof(function) is 4*sizeof(void *), but it is 6*sizeof(void*) on AARCH64/LINUX, which does not sound so great as there are padding of 2*sizeof(void*) bytes. http://reviews.llvm.org/D12247