[llvm-commits] [poolalloc] r133686 - in /poolalloc/trunk: lib/AssistDS/TypeChecks.cpp runtime/DynamicTypeChecks/TypeRuntime.cpp
Arushi Aggarwal
aggarwa4 at illinois.edu
Wed Jun 22 22:28:17 PDT 2011
Author: aggarwa4
Date: Thu Jun 23 00:28:17 2011
New Revision: 133686
URL: http://llvm.org/viewvc/llvm-project?rev=133686&view=rev
Log:
Add a tag to getTypeTag.
Modified:
poolalloc/trunk/lib/AssistDS/TypeChecks.cpp
poolalloc/trunk/runtime/DynamicTypeChecks/TypeRuntime.cpp
Modified: poolalloc/trunk/lib/AssistDS/TypeChecks.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/AssistDS/TypeChecks.cpp?rev=133686&r1=133685&r2=133686&view=diff
==============================================================================
--- poolalloc/trunk/lib/AssistDS/TypeChecks.cpp (original)
+++ poolalloc/trunk/lib/AssistDS/TypeChecks.cpp Thu Jun 23 00:28:17 2011
@@ -189,6 +189,7 @@
VoidPtrTy, /*ptr*/
Int64Ty, /*size*/
TypeTagPtrTy, /*dest for type tag*/
+ Int32Ty, /*tag*/
NULL);
checkTypeInst = M.getOrInsertFunction("checkType",
VoidTy,
@@ -1766,6 +1767,7 @@
Args1.push_back(BCI);
Args1.push_back(getSizeConstant(LI.getType()));
Args1.push_back(AI);
+ Args1.push_back(getTagCounter());
CallInst *getTypeCall = CallInst::Create(getTypeTag, Args1.begin(), Args1.end(), "", &LI);
if(TrackAllLoads) {
std::vector<Value *> Args;
Modified: poolalloc/trunk/runtime/DynamicTypeChecks/TypeRuntime.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/runtime/DynamicTypeChecks/TypeRuntime.cpp?rev=133686&r1=133685&r2=133686&view=diff
==============================================================================
--- poolalloc/trunk/runtime/DynamicTypeChecks/TypeRuntime.cpp (original)
+++ poolalloc/trunk/runtime/DynamicTypeChecks/TypeRuntime.cpp Thu Jun 23 00:28:17 2011
@@ -64,7 +64,7 @@
void compareNumber(uint64_t NumArgsPassed, uint64_t ArgAccessed, uint32_t tag);
void compareTypeAndNumber(uint64_t NumArgsPassed, uint64_t ArgAccessed, uint8_t TypeAccessed, void *MD, uint32_t tag) ;
void checkVAArgType(void *va_list, TypeTagTy TypeAccessed, uint32_t tag) ;
- void getTypeTag(void *ptr, uint64_t size, TypeTagTy *dest) ;
+ void getTypeTag(void *ptr, uint64_t size, TypeTagTy *dest, uint32_t tag) ;
void checkType(TypeTagTy typeNumber, uint64_t size, TypeTagTy *metadata, void *ptr, uint32_t tag);
void trackInitInst(void *ptr, uint64_t size, uint32_t tag) ;
void trackUnInitInst(void *ptr, uint64_t size, uint32_t tag) ;
@@ -212,7 +212,7 @@
* For loads, return the metadata(for size bytes) stored at the ptr
* Store it in dest
*/
-void getTypeTag(void *ptr, uint64_t size, TypeTagTy *dest) {
+void getTypeTag(void *ptr, uint64_t size, TypeTagTy *dest, uint32_t tag) {
uintptr_t p = maskAddress(ptr);
assert(p + size < SIZE);
More information about the llvm-commits
mailing list