[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