[vmkit-commits] [vmkit] r120287 - in /vmkit/trunk: ./ autoconf/ include/mvm/GC/ include/mvm/Threads/ lib/J3/Compiler/ lib/J3/VMCore/ lib/Mvm/CommonThread/ lib/Mvm/Compiler/ lib/Mvm/GCMmap2/ mmtk/ mmtk/config/copyms/ mmtk/config/marksweep/ mmtk/inline/ mmtk/java/ mmtk/mmtk-j3/ tools/j3/ tools/vmkit/

Nicolas Geoffray nicolas.geoffray at lip6.fr
Mon Nov 29 03:11:37 PST 2010


Author: geoffray
Date: Mon Nov 29 05:11:36 2010
New Revision: 120287

URL: http://llvm.org/viewvc/llvm-project?rev=120287&view=rev
Log:
- Refactoring on the interface between VMKit and MMTk: now that LLVM supports llc -ccpgen=function well, everything is generated by the build process.
- Document and make the object header more flexible.
- Fix a bug in overflowThinLock where the number of times to lock was off by one.


Added:
    vmkit/trunk/mmtk/inline/
    vmkit/trunk/mmtk/inline/InlineMethods.cpp
    vmkit/trunk/mmtk/inline/Makefile
Removed:
    vmkit/trunk/mmtk/config/copyms/MMTkInline.inc
    vmkit/trunk/mmtk/config/copyms/Selected.java
    vmkit/trunk/mmtk/config/marksweep/MMTkInline.inc
    vmkit/trunk/mmtk/config/marksweep/Selected.java
    vmkit/trunk/mmtk/java/build.xml.in
Modified:
    vmkit/trunk/Makefile.config.in
    vmkit/trunk/Makefile.rules
    vmkit/trunk/autoconf/configure.ac
    vmkit/trunk/configure
    vmkit/trunk/include/mvm/GC/GC.h
    vmkit/trunk/include/mvm/Threads/ObjectLocks.h
    vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp
    vmkit/trunk/lib/J3/VMCore/JavaObject.cpp
    vmkit/trunk/lib/Mvm/CommonThread/ObjectLocks.cpp
    vmkit/trunk/lib/Mvm/Compiler/JIT.cpp
    vmkit/trunk/lib/Mvm/GCMmap2/ObjectHeader.h
    vmkit/trunk/mmtk/Makefile
    vmkit/trunk/mmtk/config/copyms/ObjectHeader.h
    vmkit/trunk/mmtk/config/marksweep/ObjectHeader.h
    vmkit/trunk/mmtk/mmtk-j3/VM.cpp
    vmkit/trunk/tools/j3/Makefile
    vmkit/trunk/tools/vmkit/Makefile

Modified: vmkit/trunk/Makefile.config.in
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.config.in?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/Makefile.config.in (original)
+++ vmkit/trunk/Makefile.config.in Mon Nov 29 05:11:36 2010
@@ -10,6 +10,7 @@
 GC_MMAP2 = @GC_MMAP2@
 GC_MMTK = @GC_MMTK@
 MMTK_PLAN = @MMTK_PLAN@
+MMTK_PLAN_HEADER = @MMTK_PLAN_HEADER@
 ISOLATE_BUILD = @ISOLATE_BUILD@
 SERVICE_BUILD = @SERVICE_BUILD@
 SINGLE_BUILD = @SINGLE_BUILD@

Modified: vmkit/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.rules?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/Makefile.rules (original)
+++ vmkit/trunk/Makefile.rules Mon Nov 29 05:11:36 2010
@@ -138,7 +138,7 @@
 	$(Verb) $(LOPT) -load=$(LibDir)/MMTKMagic$(SHLIBEXT) -std-compile-opts -LowerJavaRT -f $(JARNAME).bc -o $(JARNAME)-optimized.bc
 	$(Verb) $(LLVMLD) -r -o $(LibDir)/FinalMMTk.bc $(LibDir)/MMTKAlloc.bc $(JARNAME)-optimized.bc $(LibDir)/MMTKRuntime.bc
 	$(Verb) $(LOPT) -std-compile-opts $(LibDir)/FinalMMTk.bc -o $(LibDir)/FinalMMTk.bc
-	#$(Verb) $(LLC) -march=cpp -cppgen=function -cppfor=gcmalloc $(LibDir)/FinalMMTk.bc -o $(PROJ_SRC_ROOT)/mmtk/config/$(MMTK_PLAN)/MMTkInline.inc
+	$(Verb) $(LLC) -march=cpp -cppgen=function -cppfor=gcmalloc $(LibDir)/FinalMMTk.bc -o $(PROJ_SRC_ROOT)/mmtk/inline/MMTkInline.inc
 endif
 
 endif

Modified: vmkit/trunk/autoconf/configure.ac
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/autoconf/configure.ac?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/autoconf/configure.ac (original)
+++ vmkit/trunk/autoconf/configure.ac Mon Nov 29 05:11:36 2010
@@ -223,8 +223,8 @@
 AC_ARG_WITH(mmtk-plan,
        [AS_HELP_STRING(--with-mmtk-plan=something,
            [MMTk plan type ('marksweep')])],
-       [[MMTK_PLAN=$withval]],
-       [[MMTK_PLAN=marksweep]]
+       [[MMTK_PLAN_HEADER=$withval]],
+       [[MMTK_PLAN_HEADER=marksweep]]
 )
 
 if test "x$gc" = "xboehm";  then
@@ -247,7 +247,7 @@
     AC_SUBST(GC_BOEHM, [0])
     AC_SUBST(GC_MMTK, [1])
     GC_LIBS=MMTk
-    GC_FLAGS="-I\$(PROJ_SRC_ROOT)/lib/Mvm/MMTk -DWITH_MMTK -I\$(PROJ_SRC_ROOT)/mmtk/config/\$(MMTK_PLAN)"
+    GC_FLAGS="-I\$(PROJ_SRC_ROOT)/lib/Mvm/MMTk -DWITH_MMTK -I\$(PROJ_SRC_ROOT)/mmtk/config/\$(MMTK_PLAN_HEADER)"
   else
     GC_LIBS=GCMmap2
     if test "x$gc" = "xmulti-mmap"; then
@@ -265,10 +265,24 @@
     AC_SUBST(GC_MMTK, [0])
   fi
 fi
+
+
+if test "x$MMTK_PLAN_HEADER" = "xmarksweep";  then
+  MMTK_PLAN=org.mmtk.plan.marksweep.MS
+else
+  if test "x$MMTK_PLAN_HEADER" = "xcopyms";  then
+  MMTK_PLAN=org.mmtk.plan.copyms.CopyMS
+  else 
+    if test "x$MMTK_PLAN_HEADER" != "x";  then
+      error Unknown or unsupported MMTK plan
+    fi
+  fi
+fi
   
 AC_SUBST([GC_FLAGS])
 AC_SUBST([GC_LIBS])
 AC_SUBST([MMTK_PLAN])
+AC_SUBST([MMTK_PLAN_HEADER])
 
 dnl **************************************************************************
 dnl Virtual Machine type
@@ -625,7 +639,7 @@
 AC_CONFIG_FILES(Makefile.config)
 AC_CONFIG_FILES([lib/J3/Classpath/Classpath.h])
 AC_CONFIG_FILES([tools/llcj/LinkPaths.h])
-AC_CONFIG_FILES([mmtk/java/build.xml])
+AC_CONFIG_FILES([mmtk/java/src/org/j3/config/Selected.java])
 
 dnl Do special configuration of Makefiles
 AC_CONFIG_MAKEFILE(Makefile)

Modified: vmkit/trunk/configure
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/configure?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/configure (original)
+++ vmkit/trunk/configure Mon Nov 29 05:11:36 2010
@@ -641,6 +641,7 @@
 ISOLATE_BUILD
 SERVICE_BUILD
 SINGLE_BUILD
+MMTK_PLAN_HEADER
 MMTK_PLAN
 GC_LIBS
 GC_FLAGS
@@ -3860,9 +3861,9 @@
 
 # Check whether --with-mmtk-plan was given.
 if test "${with_mmtk_plan+set}" = set; then :
-  withval=$with_mmtk_plan; MMTK_PLAN=$withval
+  withval=$with_mmtk_plan; MMTK_PLAN_HEADER=$withval
 else
-  MMTK_PLAN=marksweep
+  MMTK_PLAN_HEADER=marksweep
 
 fi
 
@@ -3897,7 +3898,7 @@
     GC_MMTK=1
 
     GC_LIBS=MMTk
-    GC_FLAGS="-I\$(PROJ_SRC_ROOT)/lib/Mvm/MMTk -DWITH_MMTK -I\$(PROJ_SRC_ROOT)/mmtk/config/\$(MMTK_PLAN)"
+    GC_FLAGS="-I\$(PROJ_SRC_ROOT)/lib/Mvm/MMTk -DWITH_MMTK -I\$(PROJ_SRC_ROOT)/mmtk/config/\$(MMTK_PLAN_HEADER)"
   else
     GC_LIBS=GCMmap2
     if test "x$gc" = "xmulti-mmap"; then
@@ -3926,6 +3927,20 @@
 fi
 
 
+if test "x$MMTK_PLAN_HEADER" = "xmarksweep";  then
+  MMTK_PLAN=org.mmtk.plan.marksweep.MS
+else
+  if test "x$MMTK_PLAN_HEADER" = "xcopyms";  then
+  MMTK_PLAN=org.mmtk.plan.copyms.CopyMS
+  else
+    if test "x$MMTK_PLAN_HEADER" != "x";  then
+      error Unknown or unsupported MMTK plan
+    fi
+  fi
+fi
+
+
+
 
 
 
@@ -6133,7 +6148,7 @@
 
 ac_config_files="$ac_config_files tools/llcj/LinkPaths.h"
 
-ac_config_files="$ac_config_files mmtk/java/build.xml"
+ac_config_files="$ac_config_files mmtk/java/src/org/j3/config/Selected.java"
 
 
 ac_config_commands="$ac_config_commands Makefile"
@@ -6842,7 +6857,7 @@
     "Makefile.config") CONFIG_FILES="$CONFIG_FILES Makefile.config" ;;
     "lib/J3/Classpath/Classpath.h") CONFIG_FILES="$CONFIG_FILES lib/J3/Classpath/Classpath.h" ;;
     "tools/llcj/LinkPaths.h") CONFIG_FILES="$CONFIG_FILES tools/llcj/LinkPaths.h" ;;
-    "mmtk/java/build.xml") CONFIG_FILES="$CONFIG_FILES mmtk/java/build.xml" ;;
+    "mmtk/java/src/org/j3/config/Selected.java") CONFIG_FILES="$CONFIG_FILES mmtk/java/src/org/j3/config/Selected.java" ;;
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
     "lib/Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS lib/Makefile" ;;
 

Modified: vmkit/trunk/include/mvm/GC/GC.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/mvm/GC/GC.h?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/include/mvm/GC/GC.h (original)
+++ vmkit/trunk/include/mvm/GC/GC.h Mon Nov 29 05:11:36 2010
@@ -12,6 +12,7 @@
 #define MVM_GC_H
 
 #include <stdint.h>
+#include "ObjectHeader.h"
 
 struct VirtualTable;
 
@@ -34,4 +35,9 @@
   }
 };
 
+namespace mvm {
+  static const uint32_t HashBits = 8;
+  static const uint64_t GCBitMask = ((1 << GCBits) - 1);
+}
+
 #endif

Modified: vmkit/trunk/include/mvm/Threads/ObjectLocks.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/mvm/Threads/ObjectLocks.h?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/include/mvm/Threads/ObjectLocks.h (original)
+++ vmkit/trunk/include/mvm/Threads/ObjectLocks.h Mon Nov 29 05:11:36 2010
@@ -12,6 +12,7 @@
 
 #include "ObjectHeader.h"
 #include "mvm/Allocator.h"
+#include "mvm/GC/GC.h"
 #include "mvm/Threads/Cond.h"
 #include "mvm/Threads/Locks.h"
 #include "mvm/Threads/Thread.h"
@@ -152,13 +153,30 @@
 
 class ThinLock {
 public:
+  
+  // The header of an object that has a thin lock implementation is like the
+  // following:
+  //
+  //    x      xxx xxxx xxxx        xxxx xxxx xxxx        xxxx xxxx
+  //    ^      ^^^ ^^^^ ^^^^        ^^^^ ^^^^ ^^^^        ^^^^ ^^^^
+  //    1           11                    12                  8
+  // fat lock    thread id       thin lock count + hash     GC bits
+
+  static const uint64_t FatMask = 1 << ((sizeof(size_t) << 3) - 1);
+
+  static const uint32_t NonLockBits = HashBits + GCBits;
+  static const uint64_t NonLockBitsMask = ((1 << NonLockBits) - 1);
+
+  static const uint64_t ThinCountMask = ~(FatMask + Thread::IDMask + NonLockBitsMask);
+  static const uint64_t ThinCountShift = NonLockBits;
+  static const uint64_t ThinCountAdd = 1 << NonLockBits;
 
   /// initialise - Initialise the value of the lock.
   ///
   static void removeFatLock(FatLock* fatLock, LockSystem& table);
 
   /// overflowThinlock - Change the lock of this object to a fat lock because
-  /// we have reached 0xFF locks.
+  /// we have reached the maximum number of locks.
   static void overflowThinLock(gc* object, LockSystem& table);
  
   /// changeToFatlock - Change the lock of this object to a fat lock. The lock

Modified: vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp Mon Nov 29 05:11:36 2010
@@ -603,7 +603,7 @@
   Value* lock = new LoadInst(lockPtr, "", currentBlock);
   lock = new PtrToIntInst(lock, intrinsics->pointerSizeType, "", currentBlock);
   Value* NonLockBitsMask = ConstantInt::get(intrinsics->pointerSizeType,
-                                            mvm::NonLockBitsMask);
+                                            mvm::ThinLock::NonLockBitsMask);
 
   lock = BinaryOperator::CreateAnd(lock, NonLockBitsMask, "", currentBlock);
 
@@ -653,7 +653,7 @@
                             "", currentBlock);
   Value* lock = new LoadInst(lockPtr, "", currentBlock);
   Value* NonLockBitsMask = ConstantInt::get(
-      intrinsics->pointerSizeType, mvm::NonLockBitsMask);
+      intrinsics->pointerSizeType, mvm::ThinLock::NonLockBitsMask);
 
   Value* lockedMask = BinaryOperator::CreateAnd(
       lock, NonLockBitsMask, "", currentBlock);

Modified: vmkit/trunk/lib/J3/VMCore/JavaObject.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaObject.cpp?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaObject.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaObject.cpp Mon Nov 29 05:11:36 2010
@@ -23,21 +23,25 @@
 
 static const int hashCodeIncrement = mvm::GCBitMask + 1;
 uint16_t JavaObject::hashCodeGenerator = hashCodeIncrement;
+static const uint64_t HashMask = ((1 << mvm::HashBits) - 1) << mvm::GCBits;
+
 
 /// hashCode - Return the hash code of this object.
 uint32_t JavaObject::hashCode(JavaObject* self) {
   llvm_gcroot(self, 0);
   if (!mvm::MovesObject) return (uint32_t)(long)self;
+  assert(HashMask != 0);
+  assert(mvm::HashBits != 0);
 
   uintptr_t header = self->header;
   uintptr_t GCBits = header & mvm::GCBitMask;
-  uintptr_t val = header & mvm::HashMask;
+  uintptr_t val = header & HashMask;
   if (val != 0) {
     return val ^ (uintptr_t)getClass(self);
   }
   val = hashCodeGenerator;
   hashCodeGenerator += hashCodeIncrement;
-  val = val % mvm::HashMask;
+  val = val & HashMask;
   if (val == 0) {
     // It is possible that in the same time, a thread is in this method and
     // gets the same hash code value than this thread. This is fine.
@@ -45,19 +49,19 @@
     hashCodeGenerator += hashCodeIncrement;
   }
   assert(val > mvm::GCBitMask);
-  assert(val <= mvm::HashMask);
+  assert(val <= HashMask);
 
   do {
     header = self->header;
-    if ((header & mvm::HashMask) != 0) break;
+    if ((header & HashMask) != 0) break;
     uintptr_t newHeader = header | val;
-    assert((newHeader & ~mvm::HashMask) == header);
+    assert((newHeader & ~HashMask) == header);
     __sync_val_compare_and_swap(&(self->header), header, newHeader);
   } while (true);
 
-  assert((self->header & mvm::HashMask) != 0);
+  assert((self->header & HashMask) != 0);
   assert(GCBits == (self->header & mvm::GCBitMask));
-  return (self->header & mvm::HashMask) ^ (uintptr_t)getClass(self);
+  return (self->header & HashMask) ^ (uintptr_t)getClass(self);
 }
 
 

Modified: vmkit/trunk/lib/Mvm/CommonThread/ObjectLocks.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/CommonThread/ObjectLocks.cpp?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/CommonThread/ObjectLocks.cpp (original)
+++ vmkit/trunk/lib/Mvm/CommonThread/ObjectLocks.cpp Mon Nov 29 05:11:36 2010
@@ -27,7 +27,8 @@
   llvm_gcroot(object, 0);
   FatLock* obj = table.allocate(object);
   uintptr_t ID = obj->getID();
-  obj->acquireAll(object, (ThinCountMask >> ThinCountShift) + 1);
+  // 1 because we start at 0, and 1 for this lock request.
+  obj->acquireAll(object, (ThinCountMask >> ThinCountShift) + 2);
   uintptr_t oldValue = 0;
   uintptr_t newValue = 0;
   uintptr_t yieldedValue = 0;
@@ -266,7 +267,7 @@
 }
 
 uintptr_t FatLock::getID() {
-  return (index << mvm::NonLockBits) | mvm::FatMask;
+  return (index << ThinLock::NonLockBits) | ThinLock::FatMask;
 }
 
 void FatLock::release(gc* obj, LockSystem& table) {
@@ -300,8 +301,8 @@
     internalLock.unlock();
     return false;
   }
-  assert(obj->header & FatMask);
-  assert((obj->header & ~NonLockBitsMask) == getID());
+  assert(obj->header & ThinLock::FatMask);
+  assert((obj->header & ~ThinLock::NonLockBitsMask) == getID());
   return true;
 }
 
@@ -315,6 +316,7 @@
 }
   
 LockSystem::LockSystem(mvm::BumpPtrAllocator& all) : allocator(all) {
+  assert(ThinLock::ThinCountMask > 0);
   LockTable = (FatLock* **)
     allocator.Allocate(GlobalSize * sizeof(FatLock**), "Global LockTable");
   LockTable[0] = (FatLock**)
@@ -368,8 +370,8 @@
 
 
 FatLock* LockSystem::getFatLockFromID(uintptr_t ID) {
-  if (ID & mvm::FatMask) {
-    uint32_t index = (ID & ~mvm::FatMask) >> mvm::NonLockBits;
+  if (ID & ThinLock::FatMask) {
+    uint32_t index = (ID & ~ThinLock::FatMask) >> ThinLock::NonLockBits;
     FatLock* res = getLock(index);
     return res;
   } else {

Modified: vmkit/trunk/lib/Mvm/Compiler/JIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Compiler/JIT.cpp?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Compiler/JIT.cpp (original)
+++ vmkit/trunk/lib/Mvm/Compiler/JIT.cpp Mon Nov 29 05:11:36 2010
@@ -71,12 +71,6 @@
   namespace llvm_runtime {
     #include "LLVMRuntime.inc"
   }
-  
-#ifdef WITH_MMTK
-  namespace mmtk_runtime {
-    #include "MMTkInline.inc"
-  }
-#endif
   void linkVmkitGC();
 }
 
@@ -193,26 +187,22 @@
   module->setDataLayout(MvmModule::globalModule->getDataLayout());
   module->setTargetTriple(MvmModule::globalModule->getTargetTriple());
   LLVMContext& Context = module->getContext();
-  
-#ifdef WITH_MMTK
-  static const char* MMTkSymbol =
-    "JnJVM_org_j3_bindings_Bindings_gcmalloc__"
-    "ILorg_vmmagic_unboxed_ObjectReference_2";
-  if (dlsym(SELF_HANDLE, MMTkSymbol)) {
-    // If we have found MMTk, read the gcmalloc function.
-    mvm::mmtk_runtime::makeLLVMFunction(module);
-  }
-#endif
+
+  typedef void (*init_inline_t)(llvm::Module* module); 
+  static const char* MMTkSymbol = "MMTk_InlineMethods";
+  init_inline_t init_inline =
+      (init_inline_t)(uintptr_t)dlsym(SELF_HANDLE, MMTkSymbol);
+  if (init_inline != NULL) init_inline(module);
+
   mvm::llvm_runtime::makeLLVMModuleContents(module);
-  
-  
+
   // Type declaration
   ptrType = PointerType::getUnqual(Type::getInt8Ty(Context));
   ptr32Type = PointerType::getUnqual(Type::getInt32Ty(Context));
   ptrPtrType = PointerType::getUnqual(ptrType);
   pointerSizeType = module->getPointerSize() == Module::Pointer32 ?
     Type::getInt32Ty(Context) : Type::getInt64Ty(Context);
-  
+
   // Constant declaration
   constantLongMinusOne = ConstantInt::get(Type::getInt64Ty(Context), (uint64_t)-1);
   constantLongZero = ConstantInt::get(Type::getInt64Ty(Context), 0);
@@ -264,9 +254,7 @@
   constantPtrLogSize = 
     ConstantInt::get(Type::getInt32Ty(Context), sizeof(void*) == 8 ? 3 : 2);
   arrayPtrType = PointerType::getUnqual(ArrayType::get(Type::getInt8Ty(Context), 0));
-
-
-    
+  
   printFloatLLVM = module->getFunction("printFloat");
   printDoubleLLVM = module->getFunction("printDouble");
   printLongLLVM = module->getFunction("printLong");

Modified: vmkit/trunk/lib/Mvm/GCMmap2/ObjectHeader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/GCMmap2/ObjectHeader.h?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/GCMmap2/ObjectHeader.h (original)
+++ vmkit/trunk/lib/Mvm/GCMmap2/ObjectHeader.h Mon Nov 29 05:11:36 2010
@@ -13,24 +13,8 @@
 #include <stdint.h>
 
 namespace mvm {
-#if (__WORDSIZE == 64)
-  static const uint64_t FatMask = 0x8000000000000000;
-#else
-  static const uint64_t FatMask = 0x80000000;
-#endif
-
-  static const uint64_t ThinCountMask = 0xFF000;
-  static const uint64_t ThinCountShift = 12;
-  static const uint64_t ThinCountAdd = 0x1000;
-
-  static const uint64_t NonLockBitsMask = 0xFFF;
-  static const uint64_t HashMask = 0xFFC;
-  static const uint64_t GCBitMask = 0x3;
-
   static const uint32_t GCBits = 2;
-  static const uint32_t HashBits = 10;
-  static const uint32_t NonLockBits = 12;
-
+  static const uint64_t GCBitMask = 0x3;
   static const bool MovesObject = false;
 }
 

Modified: vmkit/trunk/mmtk/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/Makefile?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/mmtk/Makefile (original)
+++ vmkit/trunk/mmtk/Makefile Mon Nov 29 05:11:36 2010
@@ -8,7 +8,7 @@
 ##===----------------------------------------------------------------------===##
 LEVEL = ..
 
-DIRS = magic mmtk-j3 mmtk-alloc java
+DIRS = magic mmtk-j3 mmtk-alloc java inline
 EXTRA_DIST = config/marksweep
 
 include $(LEVEL)/Makefile.config

Removed: vmkit/trunk/mmtk/config/copyms/MMTkInline.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/config/copyms/MMTkInline.inc?rev=120286&view=auto
==============================================================================
--- vmkit/trunk/mmtk/config/copyms/MMTkInline.inc (original)
+++ vmkit/trunk/mmtk/config/copyms/MMTkInline.inc (removed)
@@ -1,521 +0,0 @@
-// Generated by llvm2cpp - DO NOT MODIFY!
-
-
-Function* makeLLVMFunction(Module *mod) {
-
-// Type Definitions
-PointerType* PointerTy_0 = PointerType::get(IntegerType::get(mod->getContext(), 8), 0);
-
-std::vector<const Type*>FuncTy_1_args;
-FuncTy_1_args.push_back(IntegerType::get(mod->getContext(), 32));
-FuncTy_1_args.push_back(PointerTy_0);
-FunctionType* FuncTy_1 = FunctionType::get(
- /*Result=*/PointerTy_0,
- /*Params=*/FuncTy_1_args,
- /*isVarArg=*/false);
-
-std::vector<const Type*>FuncTy_3_args;
-FuncTy_3_args.push_back(IntegerType::get(mod->getContext(), 32));
-FunctionType* FuncTy_3 = FunctionType::get(
- /*Result=*/PointerTy_0,
- /*Params=*/FuncTy_3_args,
- /*isVarArg=*/false);
-
-PointerType* PointerTy_2 = PointerType::get(FuncTy_3, 0);
-
-std::vector<const Type*>StructTy_struct_mvm__MutatorThread_fields;
-std::vector<const Type*>StructTy_struct_mvm__Thread_fields;
-std::vector<const Type*>StructTy_struct_mvm__CircularBase_fields;
-std::vector<const Type*>FuncTy_7_args;
-FunctionType* FuncTy_7 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 32),
- /*Params=*/FuncTy_7_args,
- /*isVarArg=*/true);
-
-PointerType* PointerTy_6 = PointerType::get(FuncTy_7, 0);
-
-PointerType* PointerTy_5 = PointerType::get(PointerTy_6, 0);
-
-StructTy_struct_mvm__CircularBase_fields.push_back(PointerTy_5);
-PATypeHolder StructTy_struct_mvm__CircularBase_fwd = OpaqueType::get(mod->getContext());
-PointerType* PointerTy_8 = PointerType::get(StructTy_struct_mvm__CircularBase_fwd, 0);
-
-StructTy_struct_mvm__CircularBase_fields.push_back(PointerTy_8);
-StructTy_struct_mvm__CircularBase_fields.push_back(PointerTy_8);
-StructType* StructTy_struct_mvm__CircularBase = StructType::get(mod->getContext(), StructTy_struct_mvm__CircularBase_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::CircularBase", StructTy_struct_mvm__CircularBase);
-cast<OpaqueType>(StructTy_struct_mvm__CircularBase_fwd.get())->refineAbstractTypeTo(StructTy_struct_mvm__CircularBase);
-StructTy_struct_mvm__CircularBase = cast<StructType>(StructTy_struct_mvm__CircularBase_fwd.get());
-
-
-StructTy_struct_mvm__Thread_fields.push_back(StructTy_struct_mvm__CircularBase);
-StructTy_struct_mvm__Thread_fields.push_back(IntegerType::get(mod->getContext(), 32));
-std::vector<const Type*>StructTy_struct_mvm__VirtualMachine_fields;
-StructTy_struct_mvm__VirtualMachine_fields.push_back(PointerTy_5);
-std::vector<const Type*>StructTy_struct_mvm__BumpPtrAllocator_fields;
-std::vector<const Type*>StructTy_struct_mvm__SpinLock_fields;
-StructTy_struct_mvm__SpinLock_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct_mvm__SpinLock = StructType::get(mod->getContext(), StructTy_struct_mvm__SpinLock_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::SpinLock", StructTy_struct_mvm__SpinLock);
-
-StructTy_struct_mvm__BumpPtrAllocator_fields.push_back(StructTy_struct_mvm__SpinLock);
-std::vector<const Type*>StructTy_struct_llvm__BumpPtrAllocator_fields;
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(IntegerType::get(mod->getContext(), 32));
-std::vector<const Type*>StructTy_struct_llvm__SlabAllocator_fields;
-StructTy_struct_llvm__SlabAllocator_fields.push_back(PointerTy_5);
-StructType* StructTy_struct_llvm__SlabAllocator = StructType::get(mod->getContext(), StructTy_struct_llvm__SlabAllocator_fields, /*isPacked=*/false);
-mod->addTypeName("struct.llvm::SlabAllocator", StructTy_struct_llvm__SlabAllocator);
-
-PointerType* PointerTy_11 = PointerType::get(StructTy_struct_llvm__SlabAllocator, 0);
-
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(PointerTy_11);
-std::vector<const Type*>StructTy_struct_llvm__MemSlab_fields;
-StructTy_struct_llvm__MemSlab_fields.push_back(IntegerType::get(mod->getContext(), 32));
-PATypeHolder PointerTy_12_fwd = OpaqueType::get(mod->getContext());
-StructTy_struct_llvm__MemSlab_fields.push_back(PointerTy_12_fwd);
-StructType* StructTy_struct_llvm__MemSlab = StructType::get(mod->getContext(), StructTy_struct_llvm__MemSlab_fields, /*isPacked=*/false);
-mod->addTypeName("struct.llvm::MemSlab", StructTy_struct_llvm__MemSlab);
-
-PointerType* PointerTy_12 = PointerType::get(StructTy_struct_llvm__MemSlab, 0);
-cast<OpaqueType>(PointerTy_12_fwd.get())->refineAbstractTypeTo(PointerTy_12);
-PointerTy_12 = cast<PointerType>(PointerTy_12_fwd.get());
-
-
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(PointerTy_12);
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(PointerTy_0);
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(PointerTy_0);
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct_llvm__BumpPtrAllocator = StructType::get(mod->getContext(), StructTy_struct_llvm__BumpPtrAllocator_fields, /*isPacked=*/false);
-mod->addTypeName("struct.llvm::BumpPtrAllocator", StructTy_struct_llvm__BumpPtrAllocator);
-
-StructTy_struct_mvm__BumpPtrAllocator_fields.push_back(StructTy_struct_llvm__BumpPtrAllocator);
-StructType* StructTy_struct_mvm__BumpPtrAllocator = StructType::get(mod->getContext(), StructTy_struct_mvm__BumpPtrAllocator_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::BumpPtrAllocator", StructTy_struct_mvm__BumpPtrAllocator);
-
-PointerType* PointerTy_10 = PointerType::get(StructTy_struct_mvm__BumpPtrAllocator, 0);
-
-StructTy_struct_mvm__VirtualMachine_fields.push_back(PointerTy_10);
-PATypeHolder StructTy_struct_mvm__Thread_fwd = OpaqueType::get(mod->getContext());
-PointerType* PointerTy_13 = PointerType::get(StructTy_struct_mvm__Thread_fwd, 0);
-
-StructTy_struct_mvm__VirtualMachine_fields.push_back(PointerTy_13);
-StructTy_struct_mvm__VirtualMachine_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct_mvm__VirtualMachine_fields.push_back(StructTy_struct_mvm__SpinLock);
-std::vector<const Type*>StructTy_struct_mvm__CooperativeCollectionRV_fields;
-std::vector<const Type*>StructTy_struct_mvm__CollectionRV_fields;
-StructTy_struct_mvm__CollectionRV_fields.push_back(PointerTy_5);
-std::vector<const Type*>StructTy_struct_mvm__LockNormal_fields;
-std::vector<const Type*>StructTy_struct_mvm__Lock_fields;
-StructTy_struct_mvm__Lock_fields.push_back(PointerTy_5);
-StructTy_struct_mvm__Lock_fields.push_back(PointerTy_13);
-std::vector<const Type*>StructTy_union_pthread_mutex_t_fields;
-std::vector<const Type*>StructTy_struct__1__pthread_mutex_s_fields;
-StructTy_struct__1__pthread_mutex_s_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__1__pthread_mutex_s_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__1__pthread_mutex_s_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__1__pthread_mutex_s_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__1__pthread_mutex_s_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__1__pthread_mutex_s_fields.push_back(StructTy_struct_mvm__SpinLock);
-StructType* StructTy_struct__1__pthread_mutex_s = StructType::get(mod->getContext(), StructTy_struct__1__pthread_mutex_s_fields, /*isPacked=*/false);
-mod->addTypeName("struct..1__pthread_mutex_s", StructTy_struct__1__pthread_mutex_s);
-
-StructTy_union_pthread_mutex_t_fields.push_back(StructTy_struct__1__pthread_mutex_s);
-StructType* StructTy_union_pthread_mutex_t = StructType::get(mod->getContext(), StructTy_union_pthread_mutex_t_fields, /*isPacked=*/false);
-mod->addTypeName("union.pthread_mutex_t", StructTy_union_pthread_mutex_t);
-
-StructTy_struct_mvm__Lock_fields.push_back(StructTy_union_pthread_mutex_t);
-StructType* StructTy_struct_mvm__Lock = StructType::get(mod->getContext(), StructTy_struct_mvm__Lock_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::Lock", StructTy_struct_mvm__Lock);
-
-StructTy_struct_mvm__LockNormal_fields.push_back(StructTy_struct_mvm__Lock);
-StructType* StructTy_struct_mvm__LockNormal = StructType::get(mod->getContext(), StructTy_struct_mvm__LockNormal_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::LockNormal", StructTy_struct_mvm__LockNormal);
-
-StructTy_struct_mvm__CollectionRV_fields.push_back(StructTy_struct_mvm__LockNormal);
-std::vector<const Type*>StructTy_struct_mvm__Cond_fields;
-std::vector<const Type*>StructTy_union_pthread_cond_t_fields;
-std::vector<const Type*>StructTy_struct__2__13_fields;
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 64));
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 64));
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 64));
-StructTy_struct__2__13_fields.push_back(PointerTy_0);
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct__2__13 = StructType::get(mod->getContext(), StructTy_struct__2__13_fields, /*isPacked=*/false);
-mod->addTypeName("struct..2._13", StructTy_struct__2__13);
-
-StructTy_union_pthread_cond_t_fields.push_back(StructTy_struct__2__13);
-ArrayType* ArrayTy_14 = ArrayType::get(IntegerType::get(mod->getContext(), 32), 1);
-
-StructTy_union_pthread_cond_t_fields.push_back(ArrayTy_14);
-StructType* StructTy_union_pthread_cond_t = StructType::get(mod->getContext(), StructTy_union_pthread_cond_t_fields, /*isPacked=*/false);
-mod->addTypeName("union.pthread_cond_t", StructTy_union_pthread_cond_t);
-
-StructTy_struct_mvm__Cond_fields.push_back(StructTy_union_pthread_cond_t);
-StructType* StructTy_struct_mvm__Cond = StructType::get(mod->getContext(), StructTy_struct_mvm__Cond_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::Cond", StructTy_struct_mvm__Cond);
-
-StructTy_struct_mvm__CollectionRV_fields.push_back(StructTy_struct_mvm__Cond);
-StructTy_struct_mvm__CollectionRV_fields.push_back(StructTy_struct_mvm__Cond);
-StructTy_struct_mvm__CollectionRV_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct_mvm__CollectionRV = StructType::get(mod->getContext(), StructTy_struct_mvm__CollectionRV_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::CollectionRV", StructTy_struct_mvm__CollectionRV);
-
-StructTy_struct_mvm__CooperativeCollectionRV_fields.push_back(StructTy_struct_mvm__CollectionRV);
-StructType* StructTy_struct_mvm__CooperativeCollectionRV = StructType::get(mod->getContext(), StructTy_struct_mvm__CooperativeCollectionRV_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::CooperativeCollectionRV", StructTy_struct_mvm__CooperativeCollectionRV);
-
-StructTy_struct_mvm__VirtualMachine_fields.push_back(StructTy_struct_mvm__CooperativeCollectionRV);
-std::vector<const Type*>StructTy_struct_mvm__FunctionMap_fields;
-std::vector<const Type*>StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields;
-std::vector<const Type*>StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields;
-std::vector<const Type*>StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false__fields;
-std::vector<const Type*>StructTy_struct___gnu_cxx__new_allocator_gc___fields;
-StructTy_struct___gnu_cxx__new_allocator_gc___fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructType* StructTy_struct___gnu_cxx__new_allocator_gc__ = StructType::get(mod->getContext(), StructTy_struct___gnu_cxx__new_allocator_gc___fields, /*isPacked=*/true);
-mod->addTypeName("struct.__gnu_cxx::new_allocator<gc*>", StructTy_struct___gnu_cxx__new_allocator_gc__);
-
-StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false__fields.push_back(StructTy_struct___gnu_cxx__new_allocator_gc__);
-std::vector<const Type*>StructTy_struct_std___Rb_tree_node_base_fields;
-StructTy_struct_std___Rb_tree_node_base_fields.push_back(IntegerType::get(mod->getContext(), 32));
-PATypeHolder StructTy_struct_std___Rb_tree_node_base_fwd = OpaqueType::get(mod->getContext());
-PointerType* PointerTy_15 = PointerType::get(StructTy_struct_std___Rb_tree_node_base_fwd, 0);
-
-StructTy_struct_std___Rb_tree_node_base_fields.push_back(PointerTy_15);
-StructTy_struct_std___Rb_tree_node_base_fields.push_back(PointerTy_15);
-StructTy_struct_std___Rb_tree_node_base_fields.push_back(PointerTy_15);
-StructType* StructTy_struct_std___Rb_tree_node_base = StructType::get(mod->getContext(), StructTy_struct_std___Rb_tree_node_base_fields, /*isPacked=*/false);
-mod->addTypeName("struct.std::_Rb_tree_node_base", StructTy_struct_std___Rb_tree_node_base);
-cast<OpaqueType>(StructTy_struct_std___Rb_tree_node_base_fwd.get())->refineAbstractTypeTo(StructTy_struct_std___Rb_tree_node_base);
-StructTy_struct_std___Rb_tree_node_base = cast<StructType>(StructTy_struct_std___Rb_tree_node_base_fwd.get());
-
-
-StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false__fields.push_back(StructTy_struct_std___Rb_tree_node_base);
-StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false__fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false_ = StructType::get(mod->getContext(), StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false__fields, /*isPacked=*/false);
-mod->addTypeName("struct.std::_Rb_tree<const char,std::pair<const char, j3::ClassPrimitive*>,std::_Select1st<std::pair<const char, j3::ClassPrimitive*> >,std::less<const char>,std::allocator<std::pair<const char, j3::ClassPrimitive*> > >::_Rb_tree_impl<std::less<const char>,false>", StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false_);
-
-StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields.push_back(StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false_);
-StructType* StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______ = StructType::get(mod->getContext(), StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields, /*isPacked=*/false);
-mod->addTypeName("struct.std::_Rb_tree<const char,std::pair<const char, j3::ClassPrimitive*>,std::_Select1st<std::pair<const char, j3::ClassPrimitive*> >,std::less<const char>,std::allocator<std::pair<const char, j3::ClassPrimitive*> > >", StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______);
-
-StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields.push_back(StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______);
-StructType* StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______ = StructType::get(mod->getContext(), StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields, /*isPacked=*/false);
-mod->addTypeName("struct.std::map<const char,j3::ClassPrimitive*,std::less<const char>,std::allocator<std::pair<const char, j3::ClassPrimitive*> > >", StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______);
-
-StructTy_struct_mvm__FunctionMap_fields.push_back(StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______);
-StructTy_struct_mvm__FunctionMap_fields.push_back(StructTy_struct_mvm__SpinLock);
-StructType* StructTy_struct_mvm__FunctionMap = StructType::get(mod->getContext(), StructTy_struct_mvm__FunctionMap_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::FunctionMap", StructTy_struct_mvm__FunctionMap);
-
-StructTy_struct_mvm__VirtualMachine_fields.push_back(StructTy_struct_mvm__FunctionMap);
-StructType* StructTy_struct_mvm__VirtualMachine = StructType::get(mod->getContext(), StructTy_struct_mvm__VirtualMachine_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::VirtualMachine", StructTy_struct_mvm__VirtualMachine);
-
-PointerType* PointerTy_9 = PointerType::get(StructTy_struct_mvm__VirtualMachine, 0);
-
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_9);
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_0);
-StructTy_struct_mvm__Thread_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_struct_mvm__Thread_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_struct_mvm__Thread_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_0);
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_0);
-std::vector<const Type*>FuncTy_17_args;
-FuncTy_17_args.push_back(PointerTy_13);
-FunctionType* FuncTy_17 = FunctionType::get(
- /*Result=*/Type::getVoidTy(mod->getContext()),
- /*Params=*/FuncTy_17_args,
- /*isVarArg=*/false);
-
-PointerType* PointerTy_16 = PointerType::get(FuncTy_17, 0);
-
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_16);
-std::vector<const Type*>StructTy_struct_mvm__KnownFrame_fields;
-StructTy_struct_mvm__KnownFrame_fields.push_back(PointerTy_0);
-StructTy_struct_mvm__KnownFrame_fields.push_back(PointerTy_0);
-PATypeHolder PointerTy_18_fwd = OpaqueType::get(mod->getContext());
-StructTy_struct_mvm__KnownFrame_fields.push_back(PointerTy_18_fwd);
-StructType* StructTy_struct_mvm__KnownFrame = StructType::get(mod->getContext(), StructTy_struct_mvm__KnownFrame_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::KnownFrame", StructTy_struct_mvm__KnownFrame);
-
-PointerType* PointerTy_18 = PointerType::get(StructTy_struct_mvm__KnownFrame, 0);
-cast<OpaqueType>(PointerTy_18_fwd.get())->refineAbstractTypeTo(PointerTy_18);
-PointerTy_18 = cast<PointerType>(PointerTy_18_fwd.get());
-
-
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_18);
-std::vector<const Type*>StructTy_struct_mvm__ExceptionBuffer_fields;
-PATypeHolder PointerTy_19_fwd = OpaqueType::get(mod->getContext());
-StructTy_struct_mvm__ExceptionBuffer_fields.push_back(PointerTy_19_fwd);
-std::vector<const Type*>StructTy_struct___jmp_buf_tag_fields;
-ArrayType* ArrayTy_21 = ArrayType::get(IntegerType::get(mod->getContext(), 32), 6);
-
-StructTy_struct___jmp_buf_tag_fields.push_back(ArrayTy_21);
-StructTy_struct___jmp_buf_tag_fields.push_back(IntegerType::get(mod->getContext(), 32));
-std::vector<const Type*>StructTy_struct___sigset_t_fields;
-ArrayType* ArrayTy_22 = ArrayType::get(IntegerType::get(mod->getContext(), 32), 32);
-
-StructTy_struct___sigset_t_fields.push_back(ArrayTy_22);
-StructType* StructTy_struct___sigset_t = StructType::get(mod->getContext(), StructTy_struct___sigset_t_fields, /*isPacked=*/false);
-mod->addTypeName("struct.__sigset_t", StructTy_struct___sigset_t);
-
-StructTy_struct___jmp_buf_tag_fields.push_back(StructTy_struct___sigset_t);
-StructType* StructTy_struct___jmp_buf_tag = StructType::get(mod->getContext(), StructTy_struct___jmp_buf_tag_fields, /*isPacked=*/false);
-mod->addTypeName("struct.__jmp_buf_tag", StructTy_struct___jmp_buf_tag);
-
-ArrayType* ArrayTy_20 = ArrayType::get(StructTy_struct___jmp_buf_tag, 1);
-
-StructTy_struct_mvm__ExceptionBuffer_fields.push_back(ArrayTy_20);
-StructType* StructTy_struct_mvm__ExceptionBuffer = StructType::get(mod->getContext(), StructTy_struct_mvm__ExceptionBuffer_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::ExceptionBuffer", StructTy_struct_mvm__ExceptionBuffer);
-
-PointerType* PointerTy_19 = PointerType::get(StructTy_struct_mvm__ExceptionBuffer, 0);
-cast<OpaqueType>(PointerTy_19_fwd.get())->refineAbstractTypeTo(PointerTy_19);
-PointerTy_19 = cast<PointerType>(PointerTy_19_fwd.get());
-
-
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_19);
-StructType* StructTy_struct_mvm__Thread = StructType::get(mod->getContext(), StructTy_struct_mvm__Thread_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::Thread", StructTy_struct_mvm__Thread);
-cast<OpaqueType>(StructTy_struct_mvm__Thread_fwd.get())->refineAbstractTypeTo(StructTy_struct_mvm__Thread);
-StructTy_struct_mvm__Thread = cast<StructType>(StructTy_struct_mvm__Thread_fwd.get());
-
-
-StructTy_struct_mvm__MutatorThread_fields.push_back(StructTy_struct_mvm__Thread);
-std::vector<const Type*>StructTy_struct_mvm__ThreadAllocator_fields;
-StructTy_struct_mvm__ThreadAllocator_fields.push_back(StructTy_struct_llvm__BumpPtrAllocator);
-StructType* StructTy_struct_mvm__ThreadAllocator = StructType::get(mod->getContext(), StructTy_struct_mvm__ThreadAllocator_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::ThreadAllocator", StructTy_struct_mvm__ThreadAllocator);
-
-StructTy_struct_mvm__MutatorThread_fields.push_back(StructTy_struct_mvm__ThreadAllocator);
-StructTy_struct_mvm__MutatorThread_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct_mvm__MutatorThread_fields.push_back(PointerTy_16);
-StructType* StructTy_struct_mvm__MutatorThread = StructType::get(mod->getContext(), StructTy_struct_mvm__MutatorThread_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::MutatorThread", StructTy_struct_mvm__MutatorThread);
-
-PointerType* PointerTy_4 = PointerType::get(StructTy_struct_mvm__MutatorThread, 0);
-
-PointerType* PointerTy_23 = PointerType::get(IntegerType::get(mod->getContext(), 32), 0);
-
-std::vector<const Type*>StructTy_struct_j3__JavaObject_fields;
-std::vector<const Type*>StructTy_struct_gc_fields;
-std::vector<const Type*>StructTy_struct_gcRoot_fields;
-StructTy_struct_gcRoot_fields.push_back(PointerTy_5);
-StructTy_struct_gcRoot_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct_gcRoot = StructType::get(mod->getContext(), StructTy_struct_gcRoot_fields, /*isPacked=*/false);
-mod->addTypeName("struct.gcRoot", StructTy_struct_gcRoot);
-
-StructTy_struct_gc_fields.push_back(StructTy_struct_gcRoot);
-StructType* StructTy_struct_gc = StructType::get(mod->getContext(), StructTy_struct_gc_fields, /*isPacked=*/false);
-mod->addTypeName("struct.gc", StructTy_struct_gc);
-
-StructTy_struct_j3__JavaObject_fields.push_back(StructTy_struct_gc);
-StructType* StructTy_struct_j3__JavaObject = StructType::get(mod->getContext(), StructTy_struct_j3__JavaObject_fields, /*isPacked=*/false);
-mod->addTypeName("struct.j3::JavaObject", StructTy_struct_j3__JavaObject);
-
-PointerType* PointerTy_24 = PointerType::get(StructTy_struct_j3__JavaObject, 0);
-
-std::vector<const Type*>StructTy_JavaObject_fields;
-ArrayType* ArrayTy_VT = ArrayType::get(PointerTy_6, 0);
-mod->addTypeName("VT", ArrayTy_VT);
-
-PointerType* PointerTy_27 = PointerType::get(ArrayTy_VT, 0);
-
-StructTy_JavaObject_fields.push_back(PointerTy_27);
-StructTy_JavaObject_fields.push_back(PointerTy_0);
-StructType* StructTy_JavaObject = StructType::get(mod->getContext(), StructTy_JavaObject_fields, /*isPacked=*/false);
-mod->addTypeName("JavaObject", StructTy_JavaObject);
-
-PointerType* PointerTy_26 = PointerType::get(StructTy_JavaObject, 0);
-
-PointerType* PointerTy_25 = PointerType::get(PointerTy_26, 0);
-
-PointerType* PointerTy_28 = PointerType::get(PointerTy_0, 0);
-
-PointerType* PointerTy_29 = PointerType::get(PointerTy_27, 0);
-
-std::vector<const Type*>FuncTy_31_args;
-FuncTy_31_args.push_back(PointerTy_26);
-FuncTy_31_args.push_back(PointerTy_26);
-FuncTy_31_args.push_back(PointerTy_26);
-FuncTy_31_args.push_back(IntegerType::get(mod->getContext(), 32));
-FuncTy_31_args.push_back(IntegerType::get(mod->getContext(), 32));
-FunctionType* FuncTy_31 = FunctionType::get(
- /*Result=*/PointerTy_26,
- /*Params=*/FuncTy_31_args,
- /*isVarArg=*/false);
-
-PointerType* PointerTy_30 = PointerType::get(FuncTy_31, 0);
-
-
-// Function Declarations
-
-Function* func_llvm_frameaddress = Function::Create(
- /*Type=*/FuncTy_3,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"llvm.frameaddress", mod); // (external, no body)
-func_llvm_frameaddress->setCallingConv(CallingConv::C);
-AttrListPtr func_llvm_frameaddress_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind | Attribute::ReadNone;
- Attrs.push_back(PAWI);
- func_llvm_frameaddress_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-func_llvm_frameaddress->setAttributes(func_llvm_frameaddress_PAL);
-
-Function* func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II = Function::Create(
- /*Type=*/FuncTy_31,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II", mod); 
-func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II->setCallingConv(CallingConv::C);
-func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II->setGC("vmkit");
-AttrListPtr func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoInline;
- Attrs.push_back(PAWI);
- func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II->setAttributes(func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II_PAL);
-
-// Global Variable Declarations
-
-// Constant Definitions
-ConstantInt* const_int32_32 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("3"), 10));
-ConstantInt* const_int32_33 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("-4"), 10));
-ConstantInt* const_int32_34 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("0"), 10));
-ConstantInt* const_int32_35 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("2146435072"), 10));
-ConstantInt* const_int32_36 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("2"), 10));
-ConstantInt* const_int32_37 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("5"), 10));
-ConstantInt* const_int32_38 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("1"), 10));
-
-// Global Variable Definitions
-
-Function* func_gcmalloc = Function::Create(
- /*Type=*/FuncTy_1,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"gcmalloc", mod); 
-func_gcmalloc->setCallingConv(CallingConv::C);
-func_gcmalloc->setGC("vmkit");
-AttrListPtr func_gcmalloc_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- func_gcmalloc_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-func_gcmalloc->setAttributes(func_gcmalloc_PAL);
-Function::arg_iterator args = func_gcmalloc->arg_begin();
-Value* int32_sz = args++;
-int32_sz->setName("sz");
-Value* ptr_VT = args++;
-ptr_VT->setName("VT");
-
-BasicBlock* label_entry = BasicBlock::Create(mod->getContext(), "entry",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2.exit.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IFEQ_i_i_i = BasicBlock::Create(mod->getContext(), "false IFEQ.i.i.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit = BasicBlock::Create(mod->getContext(), "JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2.exit",func_gcmalloc,0);
-
-// Block entry (label_entry)
-BinaryOperator* int32_39 = BinaryOperator::Create(Instruction::Add, int32_sz, const_int32_32, "", label_entry);
-BinaryOperator* int32_40 = BinaryOperator::Create(Instruction::And, int32_39, const_int32_33, "", label_entry);
-CallInst* ptr_41 = CallInst::Create(func_llvm_frameaddress, const_int32_34, "", label_entry);
-ptr_41->setCallingConv(CallingConv::C);
-ptr_41->setTailCall(true);
-AttrListPtr ptr_41_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- ptr_41_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-ptr_41->setAttributes(ptr_41_PAL);
-
-CastInst* int32_42 = new PtrToIntInst(ptr_41, IntegerType::get(mod->getContext(), 32), "", label_entry);
-BinaryOperator* int32_43 = BinaryOperator::Create(Instruction::And, int32_42, const_int32_35, "", label_entry);
-CastInst* ptr_44 = new IntToPtrInst(int32_43, PointerTy_4, "", label_entry);
-std::vector<Value*> ptr_45_indices;
-ptr_45_indices.push_back(const_int32_34);
-ptr_45_indices.push_back(const_int32_36);
-Instruction* ptr_45 = GetElementPtrInst::Create(ptr_44, ptr_45_indices.begin(), ptr_45_indices.end(), "", label_entry);
-LoadInst* int32_46 = new LoadInst(ptr_45, "", false, label_entry);
-CastInst* ptr_47 = new IntToPtrInst(int32_46, PointerTy_24, "", label_entry);
-GetElementPtrInst* ptr_48 = GetElementPtrInst::Create(ptr_47, const_int32_37, "", label_entry);
-CastInst* ptr_49 = new BitCastInst(ptr_48, PointerTy_25, "", label_entry);
-LoadInst* ptr_50 = new LoadInst(ptr_49, "", false, label_entry);
-GetElementPtrInst* ptr_51 = GetElementPtrInst::Create(ptr_50, const_int32_38, "", label_entry);
-CastInst* ptr_52 = new BitCastInst(ptr_51, PointerTy_25, "", label_entry);
-LoadInst* ptr_53 = new LoadInst(ptr_52, "", false, label_entry);
-CastInst* int32_54 = new PtrToIntInst(ptr_53, IntegerType::get(mod->getContext(), 32), "", label_entry);
-BinaryOperator* int32_55 = BinaryOperator::Create(Instruction::Add, int32_54, int32_40, "", label_entry);
-CastInst* ptr_56 = new IntToPtrInst(int32_55, PointerTy_26, "", label_entry);
-std::vector<Value*> ptr_57_indices;
-ptr_57_indices.push_back(const_int32_38);
-ptr_57_indices.push_back(const_int32_38);
-Instruction* ptr_57 = GetElementPtrInst::Create(ptr_50, ptr_57_indices.begin(), ptr_57_indices.end(), "", label_entry);
-LoadInst* ptr_58 = new LoadInst(ptr_57, "", false, label_entry);
-CastInst* ptr_59 = new BitCastInst(ptr_58, PointerTy_26, "", label_entry);
-ICmpInst* int1_60 = new ICmpInst(*label_entry, ICmpInst::ICMP_UGT, ptr_56, ptr_59, "");
-BranchInst::Create(label_false_IFEQ_i_i_i, label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i, int1_60, label_entry);
-
-// Block JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2.exit.i.i.i (label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i)
-std::vector<Value*> ptr_62_indices;
-ptr_62_indices.push_back(const_int32_38);
-ptr_62_indices.push_back(const_int32_34);
-Instruction* ptr_62 = GetElementPtrInst::Create(ptr_50, ptr_62_indices.begin(), ptr_62_indices.end(), "", label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i);
-CastInst* ptr__c_i_i_i = new IntToPtrInst(int32_55, PointerTy_27, ".c.i.i.i", label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i);
- new StoreInst(ptr__c_i_i_i, ptr_62, false, label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i);
-BranchInst::Create(label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit, label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i);
-
-// Block false IFEQ.i.i.i (label_false_IFEQ_i_i_i)
-std::vector<Value*> ptr_65_params;
-ptr_65_params.push_back(ptr_50);
-ptr_65_params.push_back(ptr_53);
-ptr_65_params.push_back(ptr_56);
-ptr_65_params.push_back(const_int32_34);
-ptr_65_params.push_back(const_int32_34);
-CallInst* ptr_65 = CallInst::Create(func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II, ptr_65_params.begin(), ptr_65_params.end(), "", label_false_IFEQ_i_i_i);
-ptr_65->setCallingConv(CallingConv::C);
-ptr_65->setTailCall(true);
-AttrListPtr ptr_65_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- ptr_65_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-ptr_65->setAttributes(ptr_65_PAL);
-
-BranchInst::Create(label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit, label_false_IFEQ_i_i_i);
-
-// Block JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2.exit (label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit)
-PHINode* ptr_67 = PHINode::Create(PointerTy_26, "", label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit);
-ptr_67->reserveOperandSpace(2);
-ptr_67->addIncoming(ptr_53, label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i);
-ptr_67->addIncoming(ptr_65, label_false_IFEQ_i_i_i);
-
-std::vector<Value*> ptr_68_indices;
-ptr_68_indices.push_back(const_int32_34);
-ptr_68_indices.push_back(const_int32_34);
-Instruction* ptr_68 = GetElementPtrInst::Create(ptr_67, ptr_68_indices.begin(), ptr_68_indices.end(), "", label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit);
-CastInst* ptr__c_i = new BitCastInst(ptr_VT, PointerTy_27, ".c.i", label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit);
- new StoreInst(ptr__c_i, ptr_68, false, label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit);
-CastInst* ptr_tmp1 = new BitCastInst(ptr_67, PointerTy_0, "tmp1", label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit);
-ReturnInst::Create(mod->getContext(), ptr_tmp1, label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit);
-return func_gcmalloc;
-}

Modified: vmkit/trunk/mmtk/config/copyms/ObjectHeader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/config/copyms/ObjectHeader.h?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/mmtk/config/copyms/ObjectHeader.h (original)
+++ vmkit/trunk/mmtk/config/copyms/ObjectHeader.h Mon Nov 29 05:11:36 2010
@@ -13,24 +13,7 @@
 #include <stdint.h>
 
 namespace mvm {
-#if (__WORDSIZE == 64)
-  static const uint64_t FatMask = 0x8000000000000000;
-#else
-  static const uint64_t FatMask = 0x80000000;
-#endif
-
-  static const uint64_t ThinCountMask = 0xFF000;
-  static const uint64_t ThinCountShift = 12;
-  static const uint64_t ThinCountAdd = 0x1000;
-
-  static const uint64_t NonLockBitsMask = 0xFFF;
-  static const uint64_t HashMask = 0xF00;
-  static const uint64_t GCBitMask = 0xFF;
-
-  static const uint32_t NonLockBits = 12;
-  static const uint32_t HashBits = 4;
   static const uint32_t GCBits = 8;
-
   static const bool MovesObject = true;
 }
 

Removed: vmkit/trunk/mmtk/config/copyms/Selected.java
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/config/copyms/Selected.java?rev=120286&view=auto
==============================================================================
--- vmkit/trunk/mmtk/config/copyms/Selected.java (original)
+++ vmkit/trunk/mmtk/config/copyms/Selected.java (removed)
@@ -1,68 +0,0 @@
-/*
- *  This file is part of the Jikes RVM project (http://jikesrvm.org).
- *
- *  This file is licensed to You under the Eclipse Public License (EPL);
- *  You may not use this file except in compliance with the License. You
- *  may obtain a copy of the License at
- *
- *      http://www.opensource.org/licenses/eclipse-1.0.php
- *
- *  See the COPYRIGHT.txt file distributed with this work for information
- *  regarding copyright ownership.
- */
-package org.j3.config;
-
-import org.mmtk.utility.Log;
-
-import org.vmmagic.pragma.*;
-
-public class Selected {
-  public static final String name = "org.mmtk.plan.copyms.CopyMS";
-  @Uninterruptible
-  public static final class Plan extends org.mmtk.plan.copyms.CopyMS
-  {
-    private static final Plan plan = new Plan();
-
-    @Inline
-    public static Plan get() { return plan; }
-  }
-
-  @Uninterruptible
-  public static final class Constraints extends org.mmtk.plan.copyms.CopyMSConstraints
-  {
-    private static final Constraints constraints = new Constraints();
-
-    @Inline
-    public static Constraints get() { return constraints; }
-  }
-
-  @Uninterruptible
-  public static class Collector extends org.mmtk.plan.copyms.CopyMSCollector
-  {
-    private static final Collector bootstrapCollector = new Collector();
-    
-    public static void staticCollect() {
-      bootstrapCollector.collect();
-    }
-
-    public Collector() {}
-    @Inline
-    public static Collector get() {
-      return bootstrapCollector;
-    }
-  }
-
-  @Uninterruptible
-  public static class Mutator extends org.mmtk.plan.copyms.CopyMSMutator
-  {
-    // Unused mutator used by the AOT compiler to know what instances
-    // will be alive during MMTk execution. This allows to inline
-    // virtual calls of singleton objects.
-    private static final Mutator unusedMutator = new Mutator();
-    
-    public Mutator() {}
-
-    @Inline
-    public static native Mutator get();
-  }
-}

Removed: vmkit/trunk/mmtk/config/marksweep/MMTkInline.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/config/marksweep/MMTkInline.inc?rev=120286&view=auto
==============================================================================
--- vmkit/trunk/mmtk/config/marksweep/MMTkInline.inc (original)
+++ vmkit/trunk/mmtk/config/marksweep/MMTkInline.inc (removed)
@@ -1,1958 +0,0 @@
-// Generated by llvm2cpp - DO NOT MODIFY!
-
-
-Function* makeLLVMFunction(Module *mod) {
-
-// Type Definitions
-PointerType* PointerTy_0 = PointerType::get(IntegerType::get(mod->getContext(), 8), 0);
-
-std::vector<const Type*>FuncTy_1_args;
-FuncTy_1_args.push_back(IntegerType::get(mod->getContext(), 32));
-FuncTy_1_args.push_back(PointerTy_0);
-FunctionType* FuncTy_1 = FunctionType::get(
- /*Result=*/PointerTy_0,
- /*Params=*/FuncTy_1_args,
- /*isVarArg=*/false);
-
-std::vector<const Type*>FuncTy_3_args;
-FuncTy_3_args.push_back(IntegerType::get(mod->getContext(), 32));
-FunctionType* FuncTy_3 = FunctionType::get(
- /*Result=*/PointerTy_0,
- /*Params=*/FuncTy_3_args,
- /*isVarArg=*/false);
-
-PointerType* PointerTy_2 = PointerType::get(FuncTy_3, 0);
-
-std::vector<const Type*>StructTy_struct_mvm__MutatorThread_fields;
-std::vector<const Type*>StructTy_struct_mvm__Thread_fields;
-std::vector<const Type*>StructTy_struct_mvm__CircularBase_fields;
-std::vector<const Type*>FuncTy_7_args;
-FunctionType* FuncTy_7 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 32),
- /*Params=*/FuncTy_7_args,
- /*isVarArg=*/true);
-
-PointerType* PointerTy_6 = PointerType::get(FuncTy_7, 0);
-
-PointerType* PointerTy_5 = PointerType::get(PointerTy_6, 0);
-
-StructTy_struct_mvm__CircularBase_fields.push_back(PointerTy_5);
-PATypeHolder StructTy_struct_mvm__CircularBase_fwd = OpaqueType::get(mod->getContext());
-PointerType* PointerTy_8 = PointerType::get(StructTy_struct_mvm__CircularBase_fwd, 0);
-
-StructTy_struct_mvm__CircularBase_fields.push_back(PointerTy_8);
-StructTy_struct_mvm__CircularBase_fields.push_back(PointerTy_8);
-StructType* StructTy_struct_mvm__CircularBase = StructType::get(mod->getContext(), StructTy_struct_mvm__CircularBase_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::CircularBase", StructTy_struct_mvm__CircularBase);
-cast<OpaqueType>(StructTy_struct_mvm__CircularBase_fwd.get())->refineAbstractTypeTo(StructTy_struct_mvm__CircularBase);
-StructTy_struct_mvm__CircularBase = cast<StructType>(StructTy_struct_mvm__CircularBase_fwd.get());
-
-
-StructTy_struct_mvm__Thread_fields.push_back(StructTy_struct_mvm__CircularBase);
-StructTy_struct_mvm__Thread_fields.push_back(IntegerType::get(mod->getContext(), 32));
-std::vector<const Type*>StructTy_struct_mvm__VirtualMachine_fields;
-StructTy_struct_mvm__VirtualMachine_fields.push_back(PointerTy_5);
-std::vector<const Type*>StructTy_struct_mvm__BumpPtrAllocator_fields;
-std::vector<const Type*>StructTy_struct_mvm__SpinLock_fields;
-StructTy_struct_mvm__SpinLock_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct_mvm__SpinLock = StructType::get(mod->getContext(), StructTy_struct_mvm__SpinLock_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::SpinLock", StructTy_struct_mvm__SpinLock);
-
-StructTy_struct_mvm__BumpPtrAllocator_fields.push_back(StructTy_struct_mvm__SpinLock);
-std::vector<const Type*>StructTy_struct_llvm__BumpPtrAllocator_fields;
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(IntegerType::get(mod->getContext(), 32));
-std::vector<const Type*>StructTy_struct_llvm__SlabAllocator_fields;
-StructTy_struct_llvm__SlabAllocator_fields.push_back(PointerTy_5);
-StructType* StructTy_struct_llvm__SlabAllocator = StructType::get(mod->getContext(), StructTy_struct_llvm__SlabAllocator_fields, /*isPacked=*/false);
-mod->addTypeName("struct.llvm::SlabAllocator", StructTy_struct_llvm__SlabAllocator);
-
-PointerType* PointerTy_11 = PointerType::get(StructTy_struct_llvm__SlabAllocator, 0);
-
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(PointerTy_11);
-std::vector<const Type*>StructTy_struct_llvm__MemSlab_fields;
-StructTy_struct_llvm__MemSlab_fields.push_back(IntegerType::get(mod->getContext(), 32));
-PATypeHolder PointerTy_12_fwd = OpaqueType::get(mod->getContext());
-StructTy_struct_llvm__MemSlab_fields.push_back(PointerTy_12_fwd);
-StructType* StructTy_struct_llvm__MemSlab = StructType::get(mod->getContext(), StructTy_struct_llvm__MemSlab_fields, /*isPacked=*/false);
-mod->addTypeName("struct.llvm::MemSlab", StructTy_struct_llvm__MemSlab);
-
-PointerType* PointerTy_12 = PointerType::get(StructTy_struct_llvm__MemSlab, 0);
-cast<OpaqueType>(PointerTy_12_fwd.get())->refineAbstractTypeTo(PointerTy_12);
-PointerTy_12 = cast<PointerType>(PointerTy_12_fwd.get());
-
-
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(PointerTy_12);
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(PointerTy_0);
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(PointerTy_0);
-StructTy_struct_llvm__BumpPtrAllocator_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct_llvm__BumpPtrAllocator = StructType::get(mod->getContext(), StructTy_struct_llvm__BumpPtrAllocator_fields, /*isPacked=*/false);
-mod->addTypeName("struct.llvm::BumpPtrAllocator", StructTy_struct_llvm__BumpPtrAllocator);
-
-StructTy_struct_mvm__BumpPtrAllocator_fields.push_back(StructTy_struct_llvm__BumpPtrAllocator);
-StructType* StructTy_struct_mvm__BumpPtrAllocator = StructType::get(mod->getContext(), StructTy_struct_mvm__BumpPtrAllocator_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::BumpPtrAllocator", StructTy_struct_mvm__BumpPtrAllocator);
-
-PointerType* PointerTy_10 = PointerType::get(StructTy_struct_mvm__BumpPtrAllocator, 0);
-
-StructTy_struct_mvm__VirtualMachine_fields.push_back(PointerTy_10);
-PATypeHolder StructTy_struct_mvm__Thread_fwd = OpaqueType::get(mod->getContext());
-PointerType* PointerTy_13 = PointerType::get(StructTy_struct_mvm__Thread_fwd, 0);
-
-StructTy_struct_mvm__VirtualMachine_fields.push_back(PointerTy_13);
-StructTy_struct_mvm__VirtualMachine_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct_mvm__VirtualMachine_fields.push_back(StructTy_struct_mvm__SpinLock);
-std::vector<const Type*>StructTy_struct_mvm__CooperativeCollectionRV_fields;
-std::vector<const Type*>StructTy_struct_mvm__CollectionRV_fields;
-StructTy_struct_mvm__CollectionRV_fields.push_back(PointerTy_5);
-std::vector<const Type*>StructTy_struct_mvm__LockNormal_fields;
-std::vector<const Type*>StructTy_struct_mvm__Lock_fields;
-StructTy_struct_mvm__Lock_fields.push_back(PointerTy_5);
-StructTy_struct_mvm__Lock_fields.push_back(PointerTy_13);
-std::vector<const Type*>StructTy_union_pthread_mutex_t_fields;
-std::vector<const Type*>StructTy_struct__1__pthread_mutex_s_fields;
-StructTy_struct__1__pthread_mutex_s_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__1__pthread_mutex_s_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__1__pthread_mutex_s_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__1__pthread_mutex_s_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__1__pthread_mutex_s_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__1__pthread_mutex_s_fields.push_back(StructTy_struct_mvm__SpinLock);
-StructType* StructTy_struct__1__pthread_mutex_s = StructType::get(mod->getContext(), StructTy_struct__1__pthread_mutex_s_fields, /*isPacked=*/false);
-mod->addTypeName("struct..1__pthread_mutex_s", StructTy_struct__1__pthread_mutex_s);
-
-StructTy_union_pthread_mutex_t_fields.push_back(StructTy_struct__1__pthread_mutex_s);
-StructType* StructTy_union_pthread_mutex_t = StructType::get(mod->getContext(), StructTy_union_pthread_mutex_t_fields, /*isPacked=*/false);
-mod->addTypeName("union.pthread_mutex_t", StructTy_union_pthread_mutex_t);
-
-StructTy_struct_mvm__Lock_fields.push_back(StructTy_union_pthread_mutex_t);
-StructType* StructTy_struct_mvm__Lock = StructType::get(mod->getContext(), StructTy_struct_mvm__Lock_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::Lock", StructTy_struct_mvm__Lock);
-
-StructTy_struct_mvm__LockNormal_fields.push_back(StructTy_struct_mvm__Lock);
-StructType* StructTy_struct_mvm__LockNormal = StructType::get(mod->getContext(), StructTy_struct_mvm__LockNormal_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::LockNormal", StructTy_struct_mvm__LockNormal);
-
-StructTy_struct_mvm__CollectionRV_fields.push_back(StructTy_struct_mvm__LockNormal);
-std::vector<const Type*>StructTy_struct_mvm__Cond_fields;
-std::vector<const Type*>StructTy_union_pthread_cond_t_fields;
-std::vector<const Type*>StructTy_struct__2__13_fields;
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 64));
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 64));
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 64));
-StructTy_struct__2__13_fields.push_back(PointerTy_0);
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct__2__13_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct__2__13 = StructType::get(mod->getContext(), StructTy_struct__2__13_fields, /*isPacked=*/false);
-mod->addTypeName("struct..2._13", StructTy_struct__2__13);
-
-StructTy_union_pthread_cond_t_fields.push_back(StructTy_struct__2__13);
-ArrayType* ArrayTy_14 = ArrayType::get(IntegerType::get(mod->getContext(), 32), 1);
-
-StructTy_union_pthread_cond_t_fields.push_back(ArrayTy_14);
-StructType* StructTy_union_pthread_cond_t = StructType::get(mod->getContext(), StructTy_union_pthread_cond_t_fields, /*isPacked=*/false);
-mod->addTypeName("union.pthread_cond_t", StructTy_union_pthread_cond_t);
-
-StructTy_struct_mvm__Cond_fields.push_back(StructTy_union_pthread_cond_t);
-StructType* StructTy_struct_mvm__Cond = StructType::get(mod->getContext(), StructTy_struct_mvm__Cond_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::Cond", StructTy_struct_mvm__Cond);
-
-StructTy_struct_mvm__CollectionRV_fields.push_back(StructTy_struct_mvm__Cond);
-StructTy_struct_mvm__CollectionRV_fields.push_back(StructTy_struct_mvm__Cond);
-StructTy_struct_mvm__CollectionRV_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct_mvm__CollectionRV = StructType::get(mod->getContext(), StructTy_struct_mvm__CollectionRV_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::CollectionRV", StructTy_struct_mvm__CollectionRV);
-
-StructTy_struct_mvm__CooperativeCollectionRV_fields.push_back(StructTy_struct_mvm__CollectionRV);
-StructType* StructTy_struct_mvm__CooperativeCollectionRV = StructType::get(mod->getContext(), StructTy_struct_mvm__CooperativeCollectionRV_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::CooperativeCollectionRV", StructTy_struct_mvm__CooperativeCollectionRV);
-
-StructTy_struct_mvm__VirtualMachine_fields.push_back(StructTy_struct_mvm__CooperativeCollectionRV);
-std::vector<const Type*>StructTy_struct_mvm__FunctionMap_fields;
-std::vector<const Type*>StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields;
-std::vector<const Type*>StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields;
-std::vector<const Type*>StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false__fields;
-std::vector<const Type*>StructTy_struct___gnu_cxx__new_allocator_gc___fields;
-StructTy_struct___gnu_cxx__new_allocator_gc___fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructType* StructTy_struct___gnu_cxx__new_allocator_gc__ = StructType::get(mod->getContext(), StructTy_struct___gnu_cxx__new_allocator_gc___fields, /*isPacked=*/true);
-mod->addTypeName("struct.__gnu_cxx::new_allocator<gc*>", StructTy_struct___gnu_cxx__new_allocator_gc__);
-
-StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false__fields.push_back(StructTy_struct___gnu_cxx__new_allocator_gc__);
-std::vector<const Type*>StructTy_struct_std___Rb_tree_node_base_fields;
-StructTy_struct_std___Rb_tree_node_base_fields.push_back(IntegerType::get(mod->getContext(), 32));
-PATypeHolder StructTy_struct_std___Rb_tree_node_base_fwd = OpaqueType::get(mod->getContext());
-PointerType* PointerTy_15 = PointerType::get(StructTy_struct_std___Rb_tree_node_base_fwd, 0);
-
-StructTy_struct_std___Rb_tree_node_base_fields.push_back(PointerTy_15);
-StructTy_struct_std___Rb_tree_node_base_fields.push_back(PointerTy_15);
-StructTy_struct_std___Rb_tree_node_base_fields.push_back(PointerTy_15);
-StructType* StructTy_struct_std___Rb_tree_node_base = StructType::get(mod->getContext(), StructTy_struct_std___Rb_tree_node_base_fields, /*isPacked=*/false);
-mod->addTypeName("struct.std::_Rb_tree_node_base", StructTy_struct_std___Rb_tree_node_base);
-cast<OpaqueType>(StructTy_struct_std___Rb_tree_node_base_fwd.get())->refineAbstractTypeTo(StructTy_struct_std___Rb_tree_node_base);
-StructTy_struct_std___Rb_tree_node_base = cast<StructType>(StructTy_struct_std___Rb_tree_node_base_fwd.get());
-
-
-StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false__fields.push_back(StructTy_struct_std___Rb_tree_node_base);
-StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false__fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false_ = StructType::get(mod->getContext(), StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false__fields, /*isPacked=*/false);
-mod->addTypeName("struct.std::_Rb_tree<const char,std::pair<const char, j3::ClassPrimitive*>,std::_Select1st<std::pair<const char, j3::ClassPrimitive*> >,std::less<const char>,std::allocator<std::pair<const char, j3::ClassPrimitive*> > >::_Rb_tree_impl<std::less<const char>,false>", StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false_);
-
-StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields.push_back(StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_________Rb_tree_impl_std__less_const_char__false_);
-StructType* StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______ = StructType::get(mod->getContext(), StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields, /*isPacked=*/false);
-mod->addTypeName("struct.std::_Rb_tree<const char,std::pair<const char, j3::ClassPrimitive*>,std::_Select1st<std::pair<const char, j3::ClassPrimitive*> >,std::less<const char>,std::allocator<std::pair<const char, j3::ClassPrimitive*> > >", StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______);
-
-StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields.push_back(StructTy_struct_std___Rb_tree_const_char_std__pair_const_char__j3__ClassPrimitive___std___Select1st_std__pair_const_char__j3__ClassPrimitive_____std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______);
-StructType* StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______ = StructType::get(mod->getContext(), StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive_______fields, /*isPacked=*/false);
-mod->addTypeName("struct.std::map<const char,j3::ClassPrimitive*,std::less<const char>,std::allocator<std::pair<const char, j3::ClassPrimitive*> > >", StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______);
-
-StructTy_struct_mvm__FunctionMap_fields.push_back(StructTy_struct_std__map_const_char_j3__ClassPrimitive__std__less_const_char__std__allocator_std__pair_const_char__j3__ClassPrimitive______);
-StructTy_struct_mvm__FunctionMap_fields.push_back(StructTy_struct_mvm__SpinLock);
-StructType* StructTy_struct_mvm__FunctionMap = StructType::get(mod->getContext(), StructTy_struct_mvm__FunctionMap_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::FunctionMap", StructTy_struct_mvm__FunctionMap);
-
-StructTy_struct_mvm__VirtualMachine_fields.push_back(StructTy_struct_mvm__FunctionMap);
-StructType* StructTy_struct_mvm__VirtualMachine = StructType::get(mod->getContext(), StructTy_struct_mvm__VirtualMachine_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::VirtualMachine", StructTy_struct_mvm__VirtualMachine);
-
-PointerType* PointerTy_9 = PointerType::get(StructTy_struct_mvm__VirtualMachine, 0);
-
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_9);
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_0);
-StructTy_struct_mvm__Thread_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_struct_mvm__Thread_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_struct_mvm__Thread_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_0);
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_0);
-std::vector<const Type*>FuncTy_17_args;
-FuncTy_17_args.push_back(PointerTy_13);
-FunctionType* FuncTy_17 = FunctionType::get(
- /*Result=*/Type::getVoidTy(mod->getContext()),
- /*Params=*/FuncTy_17_args,
- /*isVarArg=*/false);
-
-PointerType* PointerTy_16 = PointerType::get(FuncTy_17, 0);
-
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_16);
-std::vector<const Type*>StructTy_struct_mvm__KnownFrame_fields;
-StructTy_struct_mvm__KnownFrame_fields.push_back(PointerTy_0);
-StructTy_struct_mvm__KnownFrame_fields.push_back(PointerTy_0);
-PATypeHolder PointerTy_18_fwd = OpaqueType::get(mod->getContext());
-StructTy_struct_mvm__KnownFrame_fields.push_back(PointerTy_18_fwd);
-StructType* StructTy_struct_mvm__KnownFrame = StructType::get(mod->getContext(), StructTy_struct_mvm__KnownFrame_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::KnownFrame", StructTy_struct_mvm__KnownFrame);
-
-PointerType* PointerTy_18 = PointerType::get(StructTy_struct_mvm__KnownFrame, 0);
-cast<OpaqueType>(PointerTy_18_fwd.get())->refineAbstractTypeTo(PointerTy_18);
-PointerTy_18 = cast<PointerType>(PointerTy_18_fwd.get());
-
-
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_18);
-std::vector<const Type*>StructTy_struct_mvm__ExceptionBuffer_fields;
-PATypeHolder PointerTy_19_fwd = OpaqueType::get(mod->getContext());
-StructTy_struct_mvm__ExceptionBuffer_fields.push_back(PointerTy_19_fwd);
-std::vector<const Type*>StructTy_struct___jmp_buf_tag_fields;
-ArrayType* ArrayTy_21 = ArrayType::get(IntegerType::get(mod->getContext(), 32), 6);
-
-StructTy_struct___jmp_buf_tag_fields.push_back(ArrayTy_21);
-StructTy_struct___jmp_buf_tag_fields.push_back(IntegerType::get(mod->getContext(), 32));
-std::vector<const Type*>StructTy_struct___sigset_t_fields;
-ArrayType* ArrayTy_22 = ArrayType::get(IntegerType::get(mod->getContext(), 32), 32);
-
-StructTy_struct___sigset_t_fields.push_back(ArrayTy_22);
-StructType* StructTy_struct___sigset_t = StructType::get(mod->getContext(), StructTy_struct___sigset_t_fields, /*isPacked=*/false);
-mod->addTypeName("struct.__sigset_t", StructTy_struct___sigset_t);
-
-StructTy_struct___jmp_buf_tag_fields.push_back(StructTy_struct___sigset_t);
-StructType* StructTy_struct___jmp_buf_tag = StructType::get(mod->getContext(), StructTy_struct___jmp_buf_tag_fields, /*isPacked=*/false);
-mod->addTypeName("struct.__jmp_buf_tag", StructTy_struct___jmp_buf_tag);
-
-ArrayType* ArrayTy_20 = ArrayType::get(StructTy_struct___jmp_buf_tag, 1);
-
-StructTy_struct_mvm__ExceptionBuffer_fields.push_back(ArrayTy_20);
-StructType* StructTy_struct_mvm__ExceptionBuffer = StructType::get(mod->getContext(), StructTy_struct_mvm__ExceptionBuffer_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::ExceptionBuffer", StructTy_struct_mvm__ExceptionBuffer);
-
-PointerType* PointerTy_19 = PointerType::get(StructTy_struct_mvm__ExceptionBuffer, 0);
-cast<OpaqueType>(PointerTy_19_fwd.get())->refineAbstractTypeTo(PointerTy_19);
-PointerTy_19 = cast<PointerType>(PointerTy_19_fwd.get());
-
-
-StructTy_struct_mvm__Thread_fields.push_back(PointerTy_19);
-StructType* StructTy_struct_mvm__Thread = StructType::get(mod->getContext(), StructTy_struct_mvm__Thread_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::Thread", StructTy_struct_mvm__Thread);
-cast<OpaqueType>(StructTy_struct_mvm__Thread_fwd.get())->refineAbstractTypeTo(StructTy_struct_mvm__Thread);
-StructTy_struct_mvm__Thread = cast<StructType>(StructTy_struct_mvm__Thread_fwd.get());
-
-
-StructTy_struct_mvm__MutatorThread_fields.push_back(StructTy_struct_mvm__Thread);
-std::vector<const Type*>StructTy_struct_mvm__ThreadAllocator_fields;
-StructTy_struct_mvm__ThreadAllocator_fields.push_back(StructTy_struct_llvm__BumpPtrAllocator);
-StructType* StructTy_struct_mvm__ThreadAllocator = StructType::get(mod->getContext(), StructTy_struct_mvm__ThreadAllocator_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::ThreadAllocator", StructTy_struct_mvm__ThreadAllocator);
-
-StructTy_struct_mvm__MutatorThread_fields.push_back(StructTy_struct_mvm__ThreadAllocator);
-StructTy_struct_mvm__MutatorThread_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_struct_mvm__MutatorThread_fields.push_back(PointerTy_16);
-StructType* StructTy_struct_mvm__MutatorThread = StructType::get(mod->getContext(), StructTy_struct_mvm__MutatorThread_fields, /*isPacked=*/false);
-mod->addTypeName("struct.mvm::MutatorThread", StructTy_struct_mvm__MutatorThread);
-
-PointerType* PointerTy_4 = PointerType::get(StructTy_struct_mvm__MutatorThread, 0);
-
-PointerType* PointerTy_23 = PointerType::get(IntegerType::get(mod->getContext(), 32), 0);
-
-std::vector<const Type*>StructTy_struct_j3__JavaObject_fields;
-std::vector<const Type*>StructTy_struct_gc_fields;
-std::vector<const Type*>StructTy_struct_gcRoot_fields;
-StructTy_struct_gcRoot_fields.push_back(PointerTy_5);
-StructTy_struct_gcRoot_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructType* StructTy_struct_gcRoot = StructType::get(mod->getContext(), StructTy_struct_gcRoot_fields, /*isPacked=*/false);
-mod->addTypeName("struct.gcRoot", StructTy_struct_gcRoot);
-
-StructTy_struct_gc_fields.push_back(StructTy_struct_gcRoot);
-StructType* StructTy_struct_gc = StructType::get(mod->getContext(), StructTy_struct_gc_fields, /*isPacked=*/false);
-mod->addTypeName("struct.gc", StructTy_struct_gc);
-
-StructTy_struct_j3__JavaObject_fields.push_back(StructTy_struct_gc);
-StructType* StructTy_struct_j3__JavaObject = StructType::get(mod->getContext(), StructTy_struct_j3__JavaObject_fields, /*isPacked=*/false);
-mod->addTypeName("struct.j3::JavaObject", StructTy_struct_j3__JavaObject);
-
-PointerType* PointerTy_24 = PointerType::get(StructTy_struct_j3__JavaObject, 0);
-
-std::vector<const Type*>StructTy_JavaObject_fields;
-ArrayType* ArrayTy_VT = ArrayType::get(PointerTy_6, 0);
-mod->addTypeName("VT", ArrayTy_VT);
-
-PointerType* PointerTy_27 = PointerType::get(ArrayTy_VT, 0);
-
-StructTy_JavaObject_fields.push_back(PointerTy_27);
-StructTy_JavaObject_fields.push_back(PointerTy_0);
-StructType* StructTy_JavaObject = StructType::get(mod->getContext(), StructTy_JavaObject_fields, /*isPacked=*/false);
-mod->addTypeName("JavaObject", StructTy_JavaObject);
-
-PointerType* PointerTy_26 = PointerType::get(StructTy_JavaObject, 0);
-
-PointerType* PointerTy_25 = PointerType::get(PointerTy_26, 0);
-
-PointerType* PointerTy_28 = PointerType::get(PointerTy_0, 0);
-
-std::vector<const Type*>FuncTy_30_args;
-FuncTy_30_args.push_back(PointerTy_26);
-FuncTy_30_args.push_back(IntegerType::get(mod->getContext(), 32));
-FuncTy_30_args.push_back(IntegerType::get(mod->getContext(), 32));
-FuncTy_30_args.push_back(IntegerType::get(mod->getContext(), 32));
-FunctionType* FuncTy_30 = FunctionType::get(
- /*Result=*/PointerTy_26,
- /*Params=*/FuncTy_30_args,
- /*isVarArg=*/false);
-
-PointerType* PointerTy_29 = PointerType::get(FuncTy_30, 0);
-
-PointerType* PointerTy_31 = PointerType::get(PointerTy_27, 0);
-
-std::vector<const Type*>FuncTy_33_args;
-FuncTy_33_args.push_back(PointerTy_26);
-FuncTy_33_args.push_back(PointerTy_26);
-FuncTy_33_args.push_back(PointerTy_26);
-FuncTy_33_args.push_back(IntegerType::get(mod->getContext(), 32));
-FuncTy_33_args.push_back(IntegerType::get(mod->getContext(), 32));
-FunctionType* FuncTy_33 = FunctionType::get(
- /*Result=*/PointerTy_26,
- /*Params=*/FuncTy_33_args,
- /*isVarArg=*/false);
-
-PointerType* PointerTy_32 = PointerType::get(FuncTy_33, 0);
-
-std::vector<const Type*>StructTy_35_fields;
-std::vector<const Type*>StructTy_36_fields;
-std::vector<const Type*>StructTy_37_fields;
-StructTy_37_fields.push_back(StructTy_JavaObject);
-StructTy_37_fields.push_back(PointerTy_26);
-StructTy_37_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_37_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_37_fields.push_back(IntegerType::get(mod->getContext(), 32));
-StructTy_37_fields.push_back(PointerTy_26);
-StructTy_37_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_37_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_37_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_37_fields.push_back(PointerTy_26);
-StructTy_37_fields.push_back(PointerTy_26);
-StructTy_37_fields.push_back(PointerTy_26);
-StructTy_37_fields.push_back(PointerTy_26);
-StructTy_37_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructType* StructTy_37 = StructType::get(mod->getContext(), StructTy_37_fields, /*isPacked=*/false);
-
-StructTy_36_fields.push_back(StructTy_37);
-StructType* StructTy_36 = StructType::get(mod->getContext(), StructTy_36_fields, /*isPacked=*/false);
-
-StructTy_35_fields.push_back(StructTy_36);
-StructTy_35_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_35_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_35_fields.push_back(PointerTy_26);
-StructType* StructTy_35 = StructType::get(mod->getContext(), StructTy_35_fields, /*isPacked=*/false);
-
-PointerType* PointerTy_34 = PointerType::get(StructTy_35, 0);
-
-std::vector<const Type*>StructTy_39_fields;
-std::vector<const Type*>StructTy_40_fields;
-StructTy_40_fields.push_back(StructTy_37);
-StructTy_40_fields.push_back(PointerTy_26);
-StructTy_40_fields.push_back(PointerTy_26);
-StructTy_40_fields.push_back(PointerTy_26);
-StructTy_40_fields.push_back(PointerTy_26);
-StructTy_40_fields.push_back(PointerTy_26);
-StructTy_40_fields.push_back(PointerTy_26);
-StructTy_40_fields.push_back(PointerTy_26);
-StructType* StructTy_40 = StructType::get(mod->getContext(), StructTy_40_fields, /*isPacked=*/false);
-
-StructTy_39_fields.push_back(StructTy_40);
-StructTy_39_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_39_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_39_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructTy_39_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructType* StructTy_39 = StructType::get(mod->getContext(), StructTy_39_fields, /*isPacked=*/false);
-
-PointerType* PointerTy_38 = PointerType::get(StructTy_39, 0);
-
-std::vector<const Type*>StructTy_42_fields;
-StructTy_42_fields.push_back(StructTy_37);
-StructTy_42_fields.push_back(IntegerType::get(mod->getContext(), 8));
-StructType* StructTy_42 = StructType::get(mod->getContext(), StructTy_42_fields, /*isPacked=*/false);
-
-PointerType* PointerTy_41 = PointerType::get(StructTy_42, 0);
-
-std::vector<const Type*>FuncTy_44_args;
-FunctionType* FuncTy_44 = FunctionType::get(
- /*Result=*/Type::getVoidTy(mod->getContext()),
- /*Params=*/FuncTy_44_args,
- /*isVarArg=*/false);
-
-PointerType* PointerTy_43 = PointerType::get(FuncTy_44, 0);
-
-std::vector<const Type*>StructTy_46_fields;
-StructTy_46_fields.push_back(PointerTy_26);
-StructTy_46_fields.push_back(PointerTy_26);
-StructTy_46_fields.push_back(PointerTy_26);
-StructTy_46_fields.push_back(PointerTy_26);
-StructType* StructTy_46 = StructType::get(mod->getContext(), StructTy_46_fields, /*isPacked=*/false);
-
-PointerType* PointerTy_45 = PointerType::get(StructTy_46, 0);
-
-std::vector<const Type*>FuncTy_48_args;
-FuncTy_48_args.push_back(IntegerType::get(mod->getContext(), 1));
-FuncTy_48_args.push_back(IntegerType::get(mod->getContext(), 1));
-FuncTy_48_args.push_back(IntegerType::get(mod->getContext(), 1));
-FuncTy_48_args.push_back(IntegerType::get(mod->getContext(), 1));
-FuncTy_48_args.push_back(IntegerType::get(mod->getContext(), 1));
-FunctionType* FuncTy_48 = FunctionType::get(
- /*Result=*/Type::getVoidTy(mod->getContext()),
- /*Params=*/FuncTy_48_args,
- /*isVarArg=*/false);
-
-PointerType* PointerTy_47 = PointerType::get(FuncTy_48, 0);
-
-std::vector<const Type*>FuncTy_50_args;
-FuncTy_50_args.push_back(PointerTy_23);
-FuncTy_50_args.push_back(IntegerType::get(mod->getContext(), 32));
-FuncTy_50_args.push_back(IntegerType::get(mod->getContext(), 32));
-FunctionType* FuncTy_50 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 32),
- /*Params=*/FuncTy_50_args,
- /*isVarArg=*/false);
-
-PointerType* PointerTy_49 = PointerType::get(FuncTy_50, 0);
-
-
-// Function Declarations
-
-Function* func_llvm_frameaddress = Function::Create(
- /*Type=*/FuncTy_3,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"llvm.frameaddress", mod); // (external, no body)
-func_llvm_frameaddress->setCallingConv(CallingConv::C);
-AttrListPtr func_llvm_frameaddress_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind | Attribute::ReadNone;
- Attrs.push_back(PAWI);
- func_llvm_frameaddress_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-func_llvm_frameaddress->setAttributes(func_llvm_frameaddress_PAL);
-
-Function* func_JnJVM_org_mmtk_utility_alloc_Allocator_allocSlow__III = Function::Create(
- /*Type=*/FuncTy_30,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"JnJVM_org_mmtk_utility_alloc_Allocator_allocSlow__III", mod); 
-func_JnJVM_org_mmtk_utility_alloc_Allocator_allocSlow__III->setCallingConv(CallingConv::C);
-func_JnJVM_org_mmtk_utility_alloc_Allocator_allocSlow__III->setGC("vmkit");
-AttrListPtr func_JnJVM_org_mmtk_utility_alloc_Allocator_allocSlow__III_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoInline;
- Attrs.push_back(PAWI);
- func_JnJVM_org_mmtk_utility_alloc_Allocator_allocSlow__III_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-func_JnJVM_org_mmtk_utility_alloc_Allocator_allocSlow__III->setAttributes(func_JnJVM_org_mmtk_utility_alloc_Allocator_allocSlow__III_PAL);
-
-Function* func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II = Function::Create(
- /*Type=*/FuncTy_33,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II", mod); 
-func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II->setCallingConv(CallingConv::C);
-func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II->setGC("vmkit");
-AttrListPtr func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoInline;
- Attrs.push_back(PAWI);
- func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II->setAttributes(func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II_PAL);
-
-Function* func_JnJVM_org_mmtk_utility_alloc_LargeObjectAllocator_alloc__III = Function::Create(
- /*Type=*/FuncTy_30,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"JnJVM_org_mmtk_utility_alloc_LargeObjectAllocator_alloc__III", mod); 
-func_JnJVM_org_mmtk_utility_alloc_LargeObjectAllocator_alloc__III->setCallingConv(CallingConv::C);
-func_JnJVM_org_mmtk_utility_alloc_LargeObjectAllocator_alloc__III->setGC("vmkit");
-AttrListPtr func_JnJVM_org_mmtk_utility_alloc_LargeObjectAllocator_alloc__III_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoInline;
- Attrs.push_back(PAWI);
- func_JnJVM_org_mmtk_utility_alloc_LargeObjectAllocator_alloc__III_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-func_JnJVM_org_mmtk_utility_alloc_LargeObjectAllocator_alloc__III->setAttributes(func_JnJVM_org_mmtk_utility_alloc_LargeObjectAllocator_alloc__III_PAL);
-
-Function* func_abort = Function::Create(
- /*Type=*/FuncTy_44,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"abort", mod); // (external, no body)
-func_abort->setCallingConv(CallingConv::C);
-AttrListPtr func_abort_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoReturn | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- func_abort_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-func_abort->setAttributes(func_abort_PAL);
-
-Function* func_llvm_memory_barrier = Function::Create(
- /*Type=*/FuncTy_48,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"llvm.memory.barrier", mod); // (external, no body)
-func_llvm_memory_barrier->setCallingConv(CallingConv::C);
-AttrListPtr func_llvm_memory_barrier_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- func_llvm_memory_barrier_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-func_llvm_memory_barrier->setAttributes(func_llvm_memory_barrier_PAL);
-
-Function* func_llvm_atomic_cmp_swap_i32_p0i32 = Function::Create(
- /*Type=*/FuncTy_50,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"llvm.atomic.cmp.swap.i32.p0i32", mod); // (external, no body)
-func_llvm_atomic_cmp_swap_i32_p0i32->setCallingConv(CallingConv::C);
-AttrListPtr func_llvm_atomic_cmp_swap_i32_p0i32_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 1U; PAWI.Attrs = 0  | Attribute::NoCapture;
- Attrs.push_back(PAWI);
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- func_llvm_atomic_cmp_swap_i32_p0i32_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-func_llvm_atomic_cmp_swap_i32_p0i32->setAttributes(func_llvm_atomic_cmp_swap_i32_p0i32_PAL);
-
-Function* func__ZN3mvm6Thread5yieldEv = Function::Create(
- /*Type=*/FuncTy_44,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"_ZN3mvm6Thread5yieldEv", mod); // (external, no body)
-func__ZN3mvm6Thread5yieldEv->setCallingConv(CallingConv::C);
-AttrListPtr func__ZN3mvm6Thread5yieldEv_PAL;
-func__ZN3mvm6Thread5yieldEv->setAttributes(func__ZN3mvm6Thread5yieldEv_PAL);
-
-// Global Variable Declarations
-
-GlobalVariable* gvar_struct_finalObject32 = new GlobalVariable(/*Module=*/*mod, 
-/*Type=*/StructTy_35,
-/*isConstant=*/false,
-/*Linkage=*/GlobalValue::ExternalLinkage,
-/*Initializer=*/0, // has initializer, specified below
-/*Name=*/"finalObject32");
-
-GlobalVariable* gvar_struct_finalObject101 = new GlobalVariable(/*Module=*/*mod, 
-/*Type=*/StructTy_35,
-/*isConstant=*/false,
-/*Linkage=*/GlobalValue::ExternalLinkage,
-/*Initializer=*/0, // has initializer, specified below
-/*Name=*/"finalObject101");
-
-GlobalVariable* gvar_struct_finalObject122 = new GlobalVariable(/*Module=*/*mod, 
-/*Type=*/StructTy_39,
-/*isConstant=*/false,
-/*Linkage=*/GlobalValue::ExternalLinkage,
-/*Initializer=*/0, // has initializer, specified below
-/*Name=*/"finalObject122");
-
-GlobalVariable* gvar_struct_finalObject67 = new GlobalVariable(/*Module=*/*mod, 
-/*Type=*/StructTy_39,
-/*isConstant=*/false,
-/*Linkage=*/GlobalValue::ExternalLinkage,
-/*Initializer=*/0, // has initializer, specified below
-/*Name=*/"finalObject67");
-
-GlobalVariable* gvar_struct_finalObject2 = new GlobalVariable(/*Module=*/*mod, 
-/*Type=*/StructTy_42,
-/*isConstant=*/false,
-/*Linkage=*/GlobalValue::ExternalLinkage,
-/*Initializer=*/0, // has initializer, specified below
-/*Name=*/"finalObject2");
-
-GlobalVariable* gvar_struct_finalObject85 = new GlobalVariable(/*Module=*/*mod, 
-/*Type=*/StructTy_39,
-/*isConstant=*/false,
-/*Linkage=*/GlobalValue::ExternalLinkage,
-/*Initializer=*/0, // has initializer, specified below
-/*Name=*/"finalObject85");
-
-GlobalVariable* gvar_struct_org_mmtk_utility_DoublyLinkedList_static = new GlobalVariable(/*Module=*/*mod, 
-/*Type=*/StructTy_46,
-/*isConstant=*/false,
-/*Linkage=*/GlobalValue::ExternalLinkage,
-/*Initializer=*/0, // has initializer, specified below
-/*Name=*/"org_mmtk_utility_DoublyLinkedList_static");
-
-// Constant Definitions
-ConstantInt* const_int32_51 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("3"), 10));
-ConstantInt* const_int32_52 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("-4"), 10));
-ConstantInt* const_int32_53 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("0"), 10));
-ConstantInt* const_int32_54 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("2146435072"), 10));
-ConstantInt* const_int32_55 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("2"), 10));
-ConstantInt* const_int32_56 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("8193"), 10));
-ConstantInt* const_int32_57 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("4"), 10));
-ConstantInt* const_int32_58 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("7"), 10));
-ConstantInt* const_int32_59 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("8"), 10));
-ConstantInt* const_int32_60 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("-1"), 10));
-ConstantInt* const_int32_61 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("63"), 10));
-ConstantInt* const_int32_62 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("127"), 10));
-ConstantInt* const_int32_63 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("255"), 10));
-ConstantInt* const_int32_64 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("511"), 10));
-ConstantInt* const_int32_65 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("2047"), 10));
-ConstantInt* const_int32_66 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("10"), 10));
-ConstantInt* const_int32_67 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("32"), 10));
-ConstantInt* const_int32_68 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("12"), 10));
-ConstantInt* const_int32_69 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("5"), 10));
-ConstantInt* const_int32_70 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("16"), 10));
-ConstantInt* const_int32_71 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("6"), 10));
-ConstantInt* const_int32_72 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("20"), 10));
-ConstantInt* const_int32_73 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("26"), 10));
-ConstantInt* const_int32_74 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("1"), 10));
-ConstantPointerNull* const_ptr_75 = ConstantPointerNull::get(PointerTy_27);
-ConstantInt* const_int8_76 = ConstantInt::get(mod->getContext(), APInt(8, StringRef("-4"), 10));
-std::vector<Constant*> const_ptr_77_indices;
-const_ptr_77_indices.push_back(const_int32_53);
-const_ptr_77_indices.push_back(const_int32_74);
-Constant* const_ptr_77 = ConstantExpr::getGetElementPtr(gvar_struct_finalObject32, &const_ptr_77_indices[0], const_ptr_77_indices.size());
-ConstantInt* const_int8_78 = ConstantInt::get(mod->getContext(), APInt(8, StringRef("2"), 10));
-std::vector<Constant*> const_ptr_79_indices;
-const_ptr_79_indices.push_back(const_int32_53);
-const_ptr_79_indices.push_back(const_int32_51);
-Constant* const_ptr_79 = ConstantExpr::getGetElementPtr(gvar_struct_finalObject32, &const_ptr_79_indices[0], const_ptr_79_indices.size());
-ConstantInt* const_int32_80 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("-32"), 10));
-ConstantPointerNull* const_ptr_81 = ConstantPointerNull::get(PointerTy_0);
-std::vector<Constant*> const_ptr_82_indices;
-const_ptr_82_indices.push_back(const_int32_53);
-const_ptr_82_indices.push_back(const_int32_74);
-Constant* const_ptr_82 = ConstantExpr::getGetElementPtr(gvar_struct_finalObject101, &const_ptr_82_indices[0], const_ptr_82_indices.size());
-std::vector<Constant*> const_ptr_83_indices;
-const_ptr_83_indices.push_back(const_int32_53);
-const_ptr_83_indices.push_back(const_int32_51);
-Constant* const_ptr_83 = ConstantExpr::getGetElementPtr(gvar_struct_finalObject101, &const_ptr_83_indices[0], const_ptr_83_indices.size());
-std::vector<Constant*> const_ptr_84_indices;
-const_ptr_84_indices.push_back(const_int32_53);
-const_ptr_84_indices.push_back(const_int32_55);
-Constant* const_ptr_84 = ConstantExpr::getGetElementPtr(gvar_struct_finalObject122, &const_ptr_84_indices[0], const_ptr_84_indices.size());
-std::vector<Constant*> const_ptr_85_indices;
-const_ptr_85_indices.push_back(const_int32_53);
-const_ptr_85_indices.push_back(const_int32_55);
-Constant* const_ptr_85 = ConstantExpr::getGetElementPtr(gvar_struct_finalObject67, &const_ptr_85_indices[0], const_ptr_85_indices.size());
-ConstantInt* const_int8_86 = ConstantInt::get(mod->getContext(), APInt(8, StringRef("1"), 10));
-std::vector<Constant*> const_ptr_87_indices;
-const_ptr_87_indices.push_back(const_int32_53);
-const_ptr_87_indices.push_back(const_int32_74);
-Constant* const_ptr_87 = ConstantExpr::getGetElementPtr(gvar_struct_finalObject2, &const_ptr_87_indices[0], const_ptr_87_indices.size());
-std::vector<Constant*> const_ptr_88_indices;
-const_ptr_88_indices.push_back(const_int32_53);
-const_ptr_88_indices.push_back(const_int32_55);
-Constant* const_ptr_88 = ConstantExpr::getGetElementPtr(gvar_struct_finalObject85, &const_ptr_88_indices[0], const_ptr_88_indices.size());
-std::vector<Constant*> const_ptr_89_indices;
-const_ptr_89_indices.push_back(const_int32_53);
-const_ptr_89_indices.push_back(const_int32_55);
-Constant* const_ptr_89 = ConstantExpr::getGetElementPtr(gvar_struct_org_mmtk_utility_DoublyLinkedList_static, &const_ptr_89_indices[0], const_ptr_89_indices.size());
-ConstantPointerNull* const_ptr_90 = ConstantPointerNull::get(PointerTy_26);
-ConstantInt* const_int8_91 = ConstantInt::get(mod->getContext(), APInt(8, StringRef("0"), 10));
-ConstantInt* const_int32_92 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("1000"), 10));
-ConstantInt* const_int1_93 = ConstantInt::get(mod->getContext(), APInt(1, StringRef("-1"), 10));
-
-// Global Variable Definitions
-
-Function* func_gcmalloc = Function::Create(
- /*Type=*/FuncTy_1,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"gcmalloc", mod); 
-func_gcmalloc->setCallingConv(CallingConv::C);
-func_gcmalloc->setGC("vmkit");
-AttrListPtr func_gcmalloc_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- func_gcmalloc_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-func_gcmalloc->setAttributes(func_gcmalloc_PAL);
-Function::arg_iterator args = func_gcmalloc->arg_begin();
-Value* int32_sz = args++;
-int32_sz->setName("sz");
-Value* ptr_VT = args++;
-ptr_VT->setName("VT");
-
-BasicBlock* label_entry = BasicBlock::Create(mod->getContext(), "entry",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II.exit.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_4_i_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*4.i.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_6_i_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*6.i.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_7_i_i1_i_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*7.i.i1.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_8_i_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*8.i.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_9_i_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*9.i.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT16_i_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT16.i.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT17_i_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT17.i.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT18_i_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT18.i.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT19_i_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT19.i.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT20_i_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT20.i.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I.exit.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF__i_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IFNE_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IFNE.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II.exit.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2.exit.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IFEQ_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IFEQ.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread19.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i5_i_i_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II.exit.i5.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_4_i_i_i6_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*4.i.i.i6.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_6_i_i_i7_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*6.i.i.i7.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_7_i_i1_i8_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*7.i.i1.i8.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_8_i_i_i9_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*8.i.i.i9.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_9_i_i_i10_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*9.i.i.i10.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT16_i_i_i11_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT16.i.i.i11.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT17_i_i_i12_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT17.i.i.i12.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT18_i_i_i13_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT18.i.i.i13.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT19_i_i_i14_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT19.i.i.i14.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT20_i_i_i15_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT20.i.i.i15.i.i.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I.exit.i16.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF__i17_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*.i17.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IFNE_i21_i_i_i = BasicBlock::Create(mod->getContext(), "false IFNE.i21.i.i.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread21.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II.exit.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_4_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*4.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_6_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*6.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_7_i_i1_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*7.i.i1.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_8_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*8.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_9_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*9.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT16_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT16.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT17_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT17.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT18_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT18.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT19_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT19.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_false_IF_ICMPGT20_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IF_ICMPGT20.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I.exit.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF__i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*.i.i.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III_exit_i_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III.exit.i.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread9.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread13.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread17.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_i = BasicBlock::Create(mod->getContext(), "JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.i",func_gcmalloc,0);
-BasicBlock* label_true_IF_NULL_i1_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "true IF*NULL.i1.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "true IF*NULL.GOTO or IF*1_crit_edge.i3.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_1_i5_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*1.i5.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_true_IFNULL_i7_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "true IFNULL.i7.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_bb_i_i20_i = BasicBlock::Create(mod->getContext(), "bb.i.i20.i",func_gcmalloc,0);
-BasicBlock* label_bb1_i_i21_i = BasicBlock::Create(mod->getContext(), "bb1.i.i21.i",func_gcmalloc,0);
-BasicBlock* label_bb2_i_i22_i = BasicBlock::Create(mod->getContext(), "bb2.i.i22.i",func_gcmalloc,0);
-BasicBlock* label_bb4_preheader_i_i23_i = BasicBlock::Create(mod->getContext(), "bb4.preheader.i.i23.i",func_gcmalloc,0);
-BasicBlock* label_bb3_i_i24_i = BasicBlock::Create(mod->getContext(), "bb3.i.i24.i",func_gcmalloc,0);
-BasicBlock* label_Java_org_j3_mmtk_Lock_acquire___exit25_i = BasicBlock::Create(mod->getContext(), "Java_org_j3_mmtk_Lock_acquire__.exit25.i",func_gcmalloc,0);
-BasicBlock* label_false_IFNE_i9_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "false IFNE.i9.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_true_IFNULL3_i10_i_i_i_i_i = BasicBlock::Create(mod->getContext(), "true IFNULL3.i10.i.i.i.i.i",func_gcmalloc,0);
-BasicBlock* label_true_IF_NULL_i1_i_i6_i_i_i = BasicBlock::Create(mod->getContext(), "true IF*NULL.i1.i.i6.i.i.i",func_gcmalloc,0);
-BasicBlock* label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i8_i_i_i = BasicBlock::Create(mod->getContext(), "true IF*NULL.GOTO or IF*1_crit_edge.i3.i.i8.i.i.i",func_gcmalloc,0);
-BasicBlock* label_GOTO_or_IF_1_i5_i_i10_i_i_i = BasicBlock::Create(mod->getContext(), "GOTO or IF*1.i5.i.i10.i.i.i",func_gcmalloc,0);
-BasicBlock* label_true_IFNULL_i7_i_i11_i_i_i = BasicBlock::Create(mod->getContext(), "true IFNULL.i7.i.i11.i.i.i",func_gcmalloc,0);
-BasicBlock* label_bb_i_i_i = BasicBlock::Create(mod->getContext(), "bb.i.i.i",func_gcmalloc,0);
-BasicBlock* label_bb1_i_i_i = BasicBlock::Create(mod->getContext(), "bb1.i.i.i",func_gcmalloc,0);
-BasicBlock* label_bb2_i_i_i = BasicBlock::Create(mod->getContext(), "bb2.i.i.i",func_gcmalloc,0);
-BasicBlock* label_bb4_preheader_i_i_i = BasicBlock::Create(mod->getContext(), "bb4.preheader.i.i.i",func_gcmalloc,0);
-BasicBlock* label_bb3_i_i_i = BasicBlock::Create(mod->getContext(), "bb3.i.i.i",func_gcmalloc,0);
-BasicBlock* label_Java_org_j3_mmtk_Lock_acquire___exit_i = BasicBlock::Create(mod->getContext(), "Java_org_j3_mmtk_Lock_acquire__.exit.i",func_gcmalloc,0);
-BasicBlock* label_false_IFNE_i9_i_i13_i_i_i = BasicBlock::Create(mod->getContext(), "false IFNE.i9.i.i13.i.i.i",func_gcmalloc,0);
-BasicBlock* label_true_IFNULL3_i10_i_i14_i_i_i = BasicBlock::Create(mod->getContext(), "true IFNULL3.i10.i.i14.i.i.i",func_gcmalloc,0);
-BasicBlock* label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit = BasicBlock::Create(mod->getContext(), "JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2.exit",func_gcmalloc,0);
-
-// Block entry (label_entry)
-BinaryOperator* int32_94 = BinaryOperator::Create(Instruction::Add, int32_sz, const_int32_51, "", label_entry);
-BinaryOperator* int32_95 = BinaryOperator::Create(Instruction::And, int32_94, const_int32_52, "", label_entry);
-CallInst* ptr_96 = CallInst::Create(func_llvm_frameaddress, const_int32_53, "", label_entry);
-ptr_96->setCallingConv(CallingConv::C);
-ptr_96->setTailCall(true);
-AttrListPtr ptr_96_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- ptr_96_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-ptr_96->setAttributes(ptr_96_PAL);
-
-CastInst* int32_97 = new PtrToIntInst(ptr_96, IntegerType::get(mod->getContext(), 32), "", label_entry);
-BinaryOperator* int32_98 = BinaryOperator::Create(Instruction::And, int32_97, const_int32_54, "", label_entry);
-CastInst* ptr_99 = new IntToPtrInst(int32_98, PointerTy_4, "", label_entry);
-std::vector<Value*> ptr_100_indices;
-ptr_100_indices.push_back(const_int32_53);
-ptr_100_indices.push_back(const_int32_55);
-Instruction* ptr_100 = GetElementPtrInst::Create(ptr_99, ptr_100_indices.begin(), ptr_100_indices.end(), "", label_entry);
-LoadInst* int32_101 = new LoadInst(ptr_100, "", false, label_entry);
-CastInst* ptr_102 = new IntToPtrInst(int32_101, PointerTy_24, "", label_entry);
-ICmpInst* int1_103 = new ICmpInst(*label_entry, ICmpInst::ICMP_SLT, int32_95, const_int32_56, "");
-SelectInst* int32_storemerge_i_i = SelectInst::Create(int1_103, const_int32_53, const_int32_57, "storemerge.i.i", label_entry);
-SwitchInst* void_104 = SwitchInst::Create(int32_storemerge_i_i, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_i, 7, label_entry);
-void_104->addCase(const_int32_53, label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i);
-void_104->addCase(const_int32_55, label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i_i);
-void_104->addCase(const_int32_51, label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-void_104->addCase(const_int32_57, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-void_104->addCase(const_int32_58, label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i5_i_i_i);
-void_104->addCase(const_int32_59, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-
-
-// Block JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II.exit.i.i.i.i (label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i_i)
-GetElementPtrInst* ptr_105 = GetElementPtrInst::Create(ptr_102, const_int32_57, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i_i);
-CastInst* ptr_106 = new BitCastInst(ptr_105, PointerTy_25, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i_i);
-LoadInst* ptr_107 = new LoadInst(ptr_106, "", false, label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i_i);
-BinaryOperator* int32_108 = BinaryOperator::Create(Instruction::Add, int32_95, const_int32_60, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i_i);
-ICmpInst* int1_109 = new ICmpInst(*label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i_i, ICmpInst::ICMP_SGT, int32_108, const_int32_61, "");
-BranchInst::Create(label_GOTO_or_IF_4_i_i_i_i_i_i, label_false_IF_ICMPGT16_i_i_i_i_i_i, int1_109, label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i_i);
-
-// Block GOTO or IF*4.i.i.i.i.i.i (label_GOTO_or_IF_4_i_i_i_i_i_i)
-ICmpInst* int1_111 = new ICmpInst(*label_GOTO_or_IF_4_i_i_i_i_i_i, ICmpInst::ICMP_SGT, int32_108, const_int32_62, "");
-BranchInst::Create(label_GOTO_or_IF_6_i_i_i_i_i_i, label_false_IF_ICMPGT17_i_i_i_i_i_i, int1_111, label_GOTO_or_IF_4_i_i_i_i_i_i);
-
-// Block GOTO or IF*6.i.i.i.i.i.i (label_GOTO_or_IF_6_i_i_i_i_i_i)
-ICmpInst* int1_113 = new ICmpInst(*label_GOTO_or_IF_6_i_i_i_i_i_i, ICmpInst::ICMP_SGT, int32_108, const_int32_63, "");
-BranchInst::Create(label_GOTO_or_IF_7_i_i1_i_i_i_i, label_false_IF_ICMPGT18_i_i_i_i_i_i, int1_113, label_GOTO_or_IF_6_i_i_i_i_i_i);
-
-// Block GOTO or IF*7.i.i1.i.i.i.i (label_GOTO_or_IF_7_i_i1_i_i_i_i)
-ICmpInst* int1_115 = new ICmpInst(*label_GOTO_or_IF_7_i_i1_i_i_i_i, ICmpInst::ICMP_SGT, int32_108, const_int32_64, "");
-BranchInst::Create(label_GOTO_or_IF_8_i_i_i_i_i_i, label_false_IF_ICMPGT19_i_i_i_i_i_i, int1_115, label_GOTO_or_IF_7_i_i1_i_i_i_i);
-
-// Block GOTO or IF*8.i.i.i.i.i.i (label_GOTO_or_IF_8_i_i_i_i_i_i)
-ICmpInst* int1_117 = new ICmpInst(*label_GOTO_or_IF_8_i_i_i_i_i_i, ICmpInst::ICMP_SGT, int32_108, const_int32_65, "");
-BranchInst::Create(label_GOTO_or_IF_9_i_i_i_i_i_i, label_false_IF_ICMPGT20_i_i_i_i_i_i, int1_117, label_GOTO_or_IF_8_i_i_i_i_i_i);
-
-// Block GOTO or IF*9.i.i.i.i.i.i (label_GOTO_or_IF_9_i_i_i_i_i_i)
-BinaryOperator* int32_119 = BinaryOperator::Create(Instruction::AShr, int32_108, const_int32_66, "", label_GOTO_or_IF_9_i_i_i_i_i_i);
-BinaryOperator* int32_120 = BinaryOperator::Create(Instruction::Add, int32_119, const_int32_67, "", label_GOTO_or_IF_9_i_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i, label_GOTO_or_IF_9_i_i_i_i_i_i);
-
-// Block false IF_ICMPGT16.i.i.i.i.i.i (label_false_IF_ICMPGT16_i_i_i_i_i_i)
-BinaryOperator* int32_122 = BinaryOperator::Create(Instruction::AShr, int32_108, const_int32_55, "", label_false_IF_ICMPGT16_i_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i, label_false_IF_ICMPGT16_i_i_i_i_i_i);
-
-// Block false IF_ICMPGT17.i.i.i.i.i.i (label_false_IF_ICMPGT17_i_i_i_i_i_i)
-BinaryOperator* int32_124 = BinaryOperator::Create(Instruction::AShr, int32_108, const_int32_57, "", label_false_IF_ICMPGT17_i_i_i_i_i_i);
-BinaryOperator* int32_125 = BinaryOperator::Create(Instruction::Add, int32_124, const_int32_68, "", label_false_IF_ICMPGT17_i_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i, label_false_IF_ICMPGT17_i_i_i_i_i_i);
-
-// Block false IF_ICMPGT18.i.i.i.i.i.i (label_false_IF_ICMPGT18_i_i_i_i_i_i)
-BinaryOperator* int32_127 = BinaryOperator::Create(Instruction::AShr, int32_108, const_int32_69, "", label_false_IF_ICMPGT18_i_i_i_i_i_i);
-BinaryOperator* int32_128 = BinaryOperator::Create(Instruction::Add, int32_127, const_int32_70, "", label_false_IF_ICMPGT18_i_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i, label_false_IF_ICMPGT18_i_i_i_i_i_i);
-
-// Block false IF_ICMPGT19.i.i.i.i.i.i (label_false_IF_ICMPGT19_i_i_i_i_i_i)
-BinaryOperator* int32_130 = BinaryOperator::Create(Instruction::AShr, int32_108, const_int32_71, "", label_false_IF_ICMPGT19_i_i_i_i_i_i);
-BinaryOperator* int32_131 = BinaryOperator::Create(Instruction::Add, int32_130, const_int32_72, "", label_false_IF_ICMPGT19_i_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i, label_false_IF_ICMPGT19_i_i_i_i_i_i);
-
-// Block false IF_ICMPGT20.i.i.i.i.i.i (label_false_IF_ICMPGT20_i_i_i_i_i_i)
-BinaryOperator* int32_133 = BinaryOperator::Create(Instruction::AShr, int32_108, const_int32_59, "", label_false_IF_ICMPGT20_i_i_i_i_i_i);
-BinaryOperator* int32_134 = BinaryOperator::Create(Instruction::Add, int32_133, const_int32_73, "", label_false_IF_ICMPGT20_i_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i, label_false_IF_ICMPGT20_i_i_i_i_i_i);
-
-// Block JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I.exit.i.i.i.i (label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i)
-PHINode* int32_136 = PHINode::Create(IntegerType::get(mod->getContext(), 32), "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i);
-int32_136->reserveOperandSpace(6);
-int32_136->addIncoming(int32_122, label_false_IF_ICMPGT16_i_i_i_i_i_i);
-int32_136->addIncoming(int32_125, label_false_IF_ICMPGT17_i_i_i_i_i_i);
-int32_136->addIncoming(int32_128, label_false_IF_ICMPGT18_i_i_i_i_i_i);
-int32_136->addIncoming(int32_131, label_false_IF_ICMPGT19_i_i_i_i_i_i);
-int32_136->addIncoming(int32_134, label_false_IF_ICMPGT20_i_i_i_i_i_i);
-int32_136->addIncoming(int32_120, label_GOTO_or_IF_9_i_i_i_i_i_i);
-
-std::vector<Value*> ptr_137_indices;
-ptr_137_indices.push_back(const_int32_74);
-ptr_137_indices.push_back(const_int32_74);
-Instruction* ptr_137 = GetElementPtrInst::Create(ptr_107, ptr_137_indices.begin(), ptr_137_indices.end(), "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i);
-LoadInst* ptr_138 = new LoadInst(ptr_137, "", false, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i);
-BinaryOperator* int32_139 = BinaryOperator::Create(Instruction::Add, int32_136, const_int32_74, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i);
-CastInst* ptr_140 = new BitCastInst(ptr_138, PointerTy_23, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i);
-GetElementPtrInst* ptr_141 = GetElementPtrInst::Create(ptr_140, int32_139, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i);
-LoadInst* int32_142 = new LoadInst(ptr_141, "", false, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i);
-CastInst* ptr_143 = new IntToPtrInst(int32_142, PointerTy_26, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i);
-ICmpInst* int1_144 = new ICmpInst(*label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i, ICmpInst::ICMP_EQ, int32_142, const_int32_53, "");
-BranchInst::Create(label_GOTO_or_IF__i_i_i_i, label_false_IFNE_i_i_i_i, int1_144, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i_i);
-
-// Block GOTO or IF*.i.i.i.i (label_GOTO_or_IF__i_i_i_i)
-std::vector<Value*> ptr_146_params;
-ptr_146_params.push_back(ptr_107);
-ptr_146_params.push_back(int32_95);
-ptr_146_params.push_back(const_int32_53);
-ptr_146_params.push_back(const_int32_53);
-CallInst* ptr_146 = CallInst::Create(func_JnJVM_org_mmtk_utility_alloc_Allocator_allocSlow__III, ptr_146_params.begin(), ptr_146_params.end(), "", label_GOTO_or_IF__i_i_i_i);
-ptr_146->setCallingConv(CallingConv::C);
-ptr_146->setTailCall(true);
-AttrListPtr ptr_146_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- ptr_146_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-ptr_146->setAttributes(ptr_146_PAL);
-
-BranchInst::Create(label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i, label_GOTO_or_IF__i_i_i_i);
-
-// Block false IFNE.i.i.i.i (label_false_IFNE_i_i_i_i)
-CastInst* ptr_148 = new IntToPtrInst(int32_142, PointerTy_25, "", label_false_IFNE_i_i_i_i);
-LoadInst* ptr_149 = new LoadInst(ptr_148, "", false, label_false_IFNE_i_i_i_i);
-CastInst* int32_150 = new PtrToIntInst(ptr_149, IntegerType::get(mod->getContext(), 32), "", label_false_IFNE_i_i_i_i);
- new StoreInst(int32_150, ptr_141, false, label_false_IFNE_i_i_i_i);
-std::vector<Value*> ptr_152_indices;
-ptr_152_indices.push_back(const_int32_53);
-ptr_152_indices.push_back(const_int32_53);
-Instruction* ptr_152 = GetElementPtrInst::Create(ptr_143, ptr_152_indices.begin(), ptr_152_indices.end(), "", label_false_IFNE_i_i_i_i);
- new StoreInst(const_ptr_75, ptr_152, false, label_false_IFNE_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i, label_false_IFNE_i_i_i_i);
-
-// Block JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II.exit.i.i.i.i (label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i)
-GetElementPtrInst* ptr_155 = GetElementPtrInst::Create(ptr_102, const_int32_55, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-CastInst* ptr_156 = new BitCastInst(ptr_155, PointerTy_25, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-LoadInst* ptr_157 = new LoadInst(ptr_156, "", false, label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-GetElementPtrInst* ptr_158 = GetElementPtrInst::Create(ptr_157, const_int32_74, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-CastInst* ptr_159 = new BitCastInst(ptr_158, PointerTy_25, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-LoadInst* ptr_160 = new LoadInst(ptr_159, "", false, label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-CastInst* int32_161 = new PtrToIntInst(ptr_160, IntegerType::get(mod->getContext(), 32), "", label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-BinaryOperator* int32_162 = BinaryOperator::Create(Instruction::Add, int32_161, int32_95, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-CastInst* ptr_163 = new IntToPtrInst(int32_162, PointerTy_26, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-std::vector<Value*> ptr_164_indices;
-ptr_164_indices.push_back(const_int32_74);
-ptr_164_indices.push_back(const_int32_74);
-Instruction* ptr_164 = GetElementPtrInst::Create(ptr_157, ptr_164_indices.begin(), ptr_164_indices.end(), "", label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-LoadInst* ptr_165 = new LoadInst(ptr_164, "", false, label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-CastInst* ptr_166 = new BitCastInst(ptr_165, PointerTy_26, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-ICmpInst* int1_167 = new ICmpInst(*label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i, ICmpInst::ICMP_UGT, ptr_163, ptr_166, "");
-BranchInst::Create(label_false_IFEQ_i_i_i_i, label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i_i, int1_167, label_JnJVM_org_mmtk_utility_alloc_Allocator_alignAllocationNoFill__Lorg_vmmagic_unboxed_Address_2II_exit_i_i_i_i);
-
-// Block JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2.exit.i.i.i.i (label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i_i)
-std::vector<Value*> ptr_169_indices;
-ptr_169_indices.push_back(const_int32_74);
-ptr_169_indices.push_back(const_int32_53);
-Instruction* ptr_169 = GetElementPtrInst::Create(ptr_157, ptr_169_indices.begin(), ptr_169_indices.end(), "", label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i_i);
-CastInst* ptr__c_i_i_i_i = new IntToPtrInst(int32_162, PointerTy_27, ".c.i.i.i.i", label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i_i);
- new StoreInst(ptr__c_i_i_i_i, ptr_169, false, label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i, label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i_i);
-
-// Block false IFEQ.i.i.i.i (label_false_IFEQ_i_i_i_i)
-std::vector<Value*> ptr_172_params;
-ptr_172_params.push_back(ptr_157);
-ptr_172_params.push_back(ptr_160);
-ptr_172_params.push_back(ptr_163);
-ptr_172_params.push_back(const_int32_53);
-ptr_172_params.push_back(const_int32_53);
-CallInst* ptr_172 = CallInst::Create(func_JnJVM_org_mmtk_utility_alloc_BumpPointer_allocSlow__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2II, ptr_172_params.begin(), ptr_172_params.end(), "", label_false_IFEQ_i_i_i_i);
-ptr_172->setCallingConv(CallingConv::C);
-ptr_172->setTailCall(true);
-AttrListPtr ptr_172_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- ptr_172_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-ptr_172->setAttributes(ptr_172_PAL);
-
-BranchInst::Create(label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i, label_false_IFEQ_i_i_i_i);
-
-// Block JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread19.i (label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i)
-std::vector<Value*> ptr_174_indices;
-ptr_174_indices.push_back(const_int32_55);
-ptr_174_indices.push_back(const_int32_53);
-ptr_174_indices.push_back(const_int32_53);
-ptr_174_indices.push_back(const_int32_74);
-Instruction* ptr_174 = GetElementPtrInst::Create(ptr_102, ptr_174_indices.begin(), ptr_174_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-CastInst* ptr_175 = new BitCastInst(ptr_174, PointerTy_28, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-LoadInst* ptr_176 = new LoadInst(ptr_175, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-CastInst* ptr_177 = new BitCastInst(ptr_176, PointerTy_26, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-std::vector<Value*> ptr_178_params;
-ptr_178_params.push_back(ptr_177);
-ptr_178_params.push_back(int32_95);
-ptr_178_params.push_back(const_int32_53);
-ptr_178_params.push_back(const_int32_53);
-CallInst* ptr_178 = CallInst::Create(func_JnJVM_org_mmtk_utility_alloc_LargeObjectAllocator_alloc__III, ptr_178_params.begin(), ptr_178_params.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-ptr_178->setCallingConv(CallingConv::C);
-ptr_178->setTailCall(true);
-AttrListPtr ptr_178_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- ptr_178_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-ptr_178->setAttributes(ptr_178_PAL);
-
-std::vector<Value*> ptr_179_indices;
-ptr_179_indices.push_back(const_int32_53);
-ptr_179_indices.push_back(const_int32_53);
-Instruction* ptr_179 = GetElementPtrInst::Create(ptr_178, ptr_179_indices.begin(), ptr_179_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-CastInst* ptr__c20_i = new BitCastInst(ptr_VT, PointerTy_27, ".c20.i", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
- new StoreInst(ptr__c20_i, ptr_179, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-std::vector<Value*> ptr_181_indices;
-ptr_181_indices.push_back(const_int32_53);
-ptr_181_indices.push_back(const_int32_74);
-Instruction* ptr_181 = GetElementPtrInst::Create(ptr_178, ptr_181_indices.begin(), ptr_181_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-CastInst* ptr_182 = new BitCastInst(ptr_181, PointerTy_0, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-LoadInst* int8_183 = new LoadInst(ptr_182, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-BinaryOperator* int8_184 = BinaryOperator::Create(Instruction::And, int8_183, const_int8_76, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-LoadInst* int8_185 = new LoadInst(const_ptr_77, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-BinaryOperator* int8_186 = BinaryOperator::Create(Instruction::Or, int8_184, int8_185, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-BinaryOperator* int8_187 = BinaryOperator::Create(Instruction::Or, int8_186, const_int8_78, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
- new StoreInst(int8_187, ptr_182, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-LoadInst* ptr_189 = new LoadInst(const_ptr_79, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-CastInst* int32_190 = new PtrToIntInst(ptr_178, IntegerType::get(mod->getContext(), 32), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-BinaryOperator* int32_191 = BinaryOperator::Create(Instruction::And, int32_190, const_int32_80, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-CastInst* ptr_192 = new IntToPtrInst(int32_191, PointerTy_26, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-std::vector<Value*> ptr_193_indices;
-ptr_193_indices.push_back(const_int32_55);
-ptr_193_indices.push_back(const_int32_74);
-Instruction* ptr_193 = GetElementPtrInst::Create(ptr_189, ptr_193_indices.begin(), ptr_193_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-LoadInst* ptr_194 = new LoadInst(ptr_193, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-GetElementPtrInst* ptr_195 = GetElementPtrInst::Create(ptr_194, const_int32_68, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-CastInst* ptr_196 = new BitCastInst(ptr_195, PointerTy_28, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-LoadInst* ptr_197 = new LoadInst(ptr_196, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-ICmpInst* int1_198 = new ICmpInst(*label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i, ICmpInst::ICMP_EQ, ptr_197, const_ptr_81, "");
-BranchInst::Create(label_true_IF_NULL_i1_i_i_i_i_i, label_true_IFNULL_i7_i_i_i_i_i, int1_198, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread19_i);
-
-// Block JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II.exit.i5.i.i.i (label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i5_i_i_i)
-GetElementPtrInst* ptr_200 = GetElementPtrInst::Create(ptr_102, const_int32_51, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i5_i_i_i);
-CastInst* ptr_201 = new BitCastInst(ptr_200, PointerTy_25, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i5_i_i_i);
-LoadInst* ptr_202 = new LoadInst(ptr_201, "", false, label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i5_i_i_i);
-BinaryOperator* int32_203 = BinaryOperator::Create(Instruction::Add, int32_95, const_int32_60, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i5_i_i_i);
-ICmpInst* int1_204 = new ICmpInst(*label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i5_i_i_i, ICmpInst::ICMP_SGT, int32_203, const_int32_61, "");
-BranchInst::Create(label_GOTO_or_IF_4_i_i_i6_i_i_i, label_false_IF_ICMPGT16_i_i_i11_i_i_i, int1_204, label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i5_i_i_i);
-
-// Block GOTO or IF*4.i.i.i6.i.i.i (label_GOTO_or_IF_4_i_i_i6_i_i_i)
-ICmpInst* int1_206 = new ICmpInst(*label_GOTO_or_IF_4_i_i_i6_i_i_i, ICmpInst::ICMP_SGT, int32_203, const_int32_62, "");
-BranchInst::Create(label_GOTO_or_IF_6_i_i_i7_i_i_i, label_false_IF_ICMPGT17_i_i_i12_i_i_i, int1_206, label_GOTO_or_IF_4_i_i_i6_i_i_i);
-
-// Block GOTO or IF*6.i.i.i7.i.i.i (label_GOTO_or_IF_6_i_i_i7_i_i_i)
-ICmpInst* int1_208 = new ICmpInst(*label_GOTO_or_IF_6_i_i_i7_i_i_i, ICmpInst::ICMP_SGT, int32_203, const_int32_63, "");
-BranchInst::Create(label_GOTO_or_IF_7_i_i1_i8_i_i_i, label_false_IF_ICMPGT18_i_i_i13_i_i_i, int1_208, label_GOTO_or_IF_6_i_i_i7_i_i_i);
-
-// Block GOTO or IF*7.i.i1.i8.i.i.i (label_GOTO_or_IF_7_i_i1_i8_i_i_i)
-ICmpInst* int1_210 = new ICmpInst(*label_GOTO_or_IF_7_i_i1_i8_i_i_i, ICmpInst::ICMP_SGT, int32_203, const_int32_64, "");
-BranchInst::Create(label_GOTO_or_IF_8_i_i_i9_i_i_i, label_false_IF_ICMPGT19_i_i_i14_i_i_i, int1_210, label_GOTO_or_IF_7_i_i1_i8_i_i_i);
-
-// Block GOTO or IF*8.i.i.i9.i.i.i (label_GOTO_or_IF_8_i_i_i9_i_i_i)
-ICmpInst* int1_212 = new ICmpInst(*label_GOTO_or_IF_8_i_i_i9_i_i_i, ICmpInst::ICMP_SGT, int32_203, const_int32_65, "");
-BranchInst::Create(label_GOTO_or_IF_9_i_i_i10_i_i_i, label_false_IF_ICMPGT20_i_i_i15_i_i_i, int1_212, label_GOTO_or_IF_8_i_i_i9_i_i_i);
-
-// Block GOTO or IF*9.i.i.i10.i.i.i (label_GOTO_or_IF_9_i_i_i10_i_i_i)
-BinaryOperator* int32_214 = BinaryOperator::Create(Instruction::AShr, int32_203, const_int32_66, "", label_GOTO_or_IF_9_i_i_i10_i_i_i);
-BinaryOperator* int32_215 = BinaryOperator::Create(Instruction::Add, int32_214, const_int32_67, "", label_GOTO_or_IF_9_i_i_i10_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i, label_GOTO_or_IF_9_i_i_i10_i_i_i);
-
-// Block false IF_ICMPGT16.i.i.i11.i.i.i (label_false_IF_ICMPGT16_i_i_i11_i_i_i)
-BinaryOperator* int32_217 = BinaryOperator::Create(Instruction::AShr, int32_203, const_int32_55, "", label_false_IF_ICMPGT16_i_i_i11_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i, label_false_IF_ICMPGT16_i_i_i11_i_i_i);
-
-// Block false IF_ICMPGT17.i.i.i12.i.i.i (label_false_IF_ICMPGT17_i_i_i12_i_i_i)
-BinaryOperator* int32_219 = BinaryOperator::Create(Instruction::AShr, int32_203, const_int32_57, "", label_false_IF_ICMPGT17_i_i_i12_i_i_i);
-BinaryOperator* int32_220 = BinaryOperator::Create(Instruction::Add, int32_219, const_int32_68, "", label_false_IF_ICMPGT17_i_i_i12_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i, label_false_IF_ICMPGT17_i_i_i12_i_i_i);
-
-// Block false IF_ICMPGT18.i.i.i13.i.i.i (label_false_IF_ICMPGT18_i_i_i13_i_i_i)
-BinaryOperator* int32_222 = BinaryOperator::Create(Instruction::AShr, int32_203, const_int32_69, "", label_false_IF_ICMPGT18_i_i_i13_i_i_i);
-BinaryOperator* int32_223 = BinaryOperator::Create(Instruction::Add, int32_222, const_int32_70, "", label_false_IF_ICMPGT18_i_i_i13_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i, label_false_IF_ICMPGT18_i_i_i13_i_i_i);
-
-// Block false IF_ICMPGT19.i.i.i14.i.i.i (label_false_IF_ICMPGT19_i_i_i14_i_i_i)
-BinaryOperator* int32_225 = BinaryOperator::Create(Instruction::AShr, int32_203, const_int32_71, "", label_false_IF_ICMPGT19_i_i_i14_i_i_i);
-BinaryOperator* int32_226 = BinaryOperator::Create(Instruction::Add, int32_225, const_int32_72, "", label_false_IF_ICMPGT19_i_i_i14_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i, label_false_IF_ICMPGT19_i_i_i14_i_i_i);
-
-// Block false IF_ICMPGT20.i.i.i15.i.i.i (label_false_IF_ICMPGT20_i_i_i15_i_i_i)
-BinaryOperator* int32_228 = BinaryOperator::Create(Instruction::AShr, int32_203, const_int32_59, "", label_false_IF_ICMPGT20_i_i_i15_i_i_i);
-BinaryOperator* int32_229 = BinaryOperator::Create(Instruction::Add, int32_228, const_int32_73, "", label_false_IF_ICMPGT20_i_i_i15_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i, label_false_IF_ICMPGT20_i_i_i15_i_i_i);
-
-// Block JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I.exit.i16.i.i.i (label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i)
-PHINode* int32_231 = PHINode::Create(IntegerType::get(mod->getContext(), 32), "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i);
-int32_231->reserveOperandSpace(6);
-int32_231->addIncoming(int32_217, label_false_IF_ICMPGT16_i_i_i11_i_i_i);
-int32_231->addIncoming(int32_220, label_false_IF_ICMPGT17_i_i_i12_i_i_i);
-int32_231->addIncoming(int32_223, label_false_IF_ICMPGT18_i_i_i13_i_i_i);
-int32_231->addIncoming(int32_226, label_false_IF_ICMPGT19_i_i_i14_i_i_i);
-int32_231->addIncoming(int32_229, label_false_IF_ICMPGT20_i_i_i15_i_i_i);
-int32_231->addIncoming(int32_215, label_GOTO_or_IF_9_i_i_i10_i_i_i);
-
-std::vector<Value*> ptr_232_indices;
-ptr_232_indices.push_back(const_int32_74);
-ptr_232_indices.push_back(const_int32_74);
-Instruction* ptr_232 = GetElementPtrInst::Create(ptr_202, ptr_232_indices.begin(), ptr_232_indices.end(), "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i);
-LoadInst* ptr_233 = new LoadInst(ptr_232, "", false, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i);
-BinaryOperator* int32_234 = BinaryOperator::Create(Instruction::Add, int32_231, const_int32_74, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i);
-CastInst* ptr_235 = new BitCastInst(ptr_233, PointerTy_23, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i);
-GetElementPtrInst* ptr_236 = GetElementPtrInst::Create(ptr_235, int32_234, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i);
-LoadInst* int32_237 = new LoadInst(ptr_236, "", false, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i);
-CastInst* ptr_238 = new IntToPtrInst(int32_237, PointerTy_26, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i);
-ICmpInst* int1_239 = new ICmpInst(*label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i, ICmpInst::ICMP_EQ, int32_237, const_int32_53, "");
-BranchInst::Create(label_GOTO_or_IF__i17_i_i_i, label_false_IFNE_i21_i_i_i, int1_239, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i16_i_i_i);
-
-// Block GOTO or IF*.i17.i.i.i (label_GOTO_or_IF__i17_i_i_i)
-std::vector<Value*> ptr_241_params;
-ptr_241_params.push_back(ptr_202);
-ptr_241_params.push_back(int32_95);
-ptr_241_params.push_back(const_int32_53);
-ptr_241_params.push_back(const_int32_53);
-CallInst* ptr_241 = CallInst::Create(func_JnJVM_org_mmtk_utility_alloc_Allocator_allocSlow__III, ptr_241_params.begin(), ptr_241_params.end(), "", label_GOTO_or_IF__i17_i_i_i);
-ptr_241->setCallingConv(CallingConv::C);
-ptr_241->setTailCall(true);
-AttrListPtr ptr_241_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- ptr_241_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-ptr_241->setAttributes(ptr_241_PAL);
-
-BranchInst::Create(label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i, label_GOTO_or_IF__i17_i_i_i);
-
-// Block false IFNE.i21.i.i.i (label_false_IFNE_i21_i_i_i)
-CastInst* ptr_243 = new IntToPtrInst(int32_237, PointerTy_25, "", label_false_IFNE_i21_i_i_i);
-LoadInst* ptr_244 = new LoadInst(ptr_243, "", false, label_false_IFNE_i21_i_i_i);
-CastInst* int32_245 = new PtrToIntInst(ptr_244, IntegerType::get(mod->getContext(), 32), "", label_false_IFNE_i21_i_i_i);
- new StoreInst(int32_245, ptr_236, false, label_false_IFNE_i21_i_i_i);
-std::vector<Value*> ptr_247_indices;
-ptr_247_indices.push_back(const_int32_53);
-ptr_247_indices.push_back(const_int32_53);
-Instruction* ptr_247 = GetElementPtrInst::Create(ptr_238, ptr_247_indices.begin(), ptr_247_indices.end(), "", label_false_IFNE_i21_i_i_i);
- new StoreInst(const_ptr_75, ptr_247, false, label_false_IFNE_i21_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i, label_false_IFNE_i21_i_i_i);
-
-// Block JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread21.i (label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i)
-std::vector<Value*> ptr_250_indices;
-ptr_250_indices.push_back(const_int32_51);
-ptr_250_indices.push_back(const_int32_53);
-ptr_250_indices.push_back(const_int32_53);
-ptr_250_indices.push_back(const_int32_74);
-Instruction* ptr_250 = GetElementPtrInst::Create(ptr_102, ptr_250_indices.begin(), ptr_250_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-CastInst* ptr_251 = new BitCastInst(ptr_250, PointerTy_28, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-LoadInst* ptr_252 = new LoadInst(ptr_251, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-CastInst* ptr_253 = new BitCastInst(ptr_252, PointerTy_26, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-std::vector<Value*> ptr_254_params;
-ptr_254_params.push_back(ptr_253);
-ptr_254_params.push_back(int32_95);
-ptr_254_params.push_back(const_int32_53);
-ptr_254_params.push_back(const_int32_53);
-CallInst* ptr_254 = CallInst::Create(func_JnJVM_org_mmtk_utility_alloc_LargeObjectAllocator_alloc__III, ptr_254_params.begin(), ptr_254_params.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-ptr_254->setCallingConv(CallingConv::C);
-ptr_254->setTailCall(true);
-AttrListPtr ptr_254_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- ptr_254_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-ptr_254->setAttributes(ptr_254_PAL);
-
-std::vector<Value*> ptr_255_indices;
-ptr_255_indices.push_back(const_int32_53);
-ptr_255_indices.push_back(const_int32_53);
-Instruction* ptr_255 = GetElementPtrInst::Create(ptr_254, ptr_255_indices.begin(), ptr_255_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-CastInst* ptr__c22_i = new BitCastInst(ptr_VT, PointerTy_27, ".c22.i", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
- new StoreInst(ptr__c22_i, ptr_255, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-std::vector<Value*> ptr_257_indices;
-ptr_257_indices.push_back(const_int32_53);
-ptr_257_indices.push_back(const_int32_74);
-Instruction* ptr_257 = GetElementPtrInst::Create(ptr_254, ptr_257_indices.begin(), ptr_257_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-CastInst* ptr_258 = new BitCastInst(ptr_257, PointerTy_0, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-LoadInst* int8_259 = new LoadInst(ptr_258, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-BinaryOperator* int8_260 = BinaryOperator::Create(Instruction::And, int8_259, const_int8_76, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-LoadInst* int8_261 = new LoadInst(const_ptr_82, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-BinaryOperator* int8_262 = BinaryOperator::Create(Instruction::Or, int8_260, int8_261, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-BinaryOperator* int8_263 = BinaryOperator::Create(Instruction::Or, int8_262, const_int8_78, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
- new StoreInst(int8_263, ptr_258, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-LoadInst* ptr_265 = new LoadInst(const_ptr_83, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-CastInst* int32_266 = new PtrToIntInst(ptr_254, IntegerType::get(mod->getContext(), 32), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-BinaryOperator* int32_267 = BinaryOperator::Create(Instruction::And, int32_266, const_int32_80, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-CastInst* ptr_268 = new IntToPtrInst(int32_267, PointerTy_26, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-std::vector<Value*> ptr_269_indices;
-ptr_269_indices.push_back(const_int32_55);
-ptr_269_indices.push_back(const_int32_74);
-Instruction* ptr_269 = GetElementPtrInst::Create(ptr_265, ptr_269_indices.begin(), ptr_269_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-LoadInst* ptr_270 = new LoadInst(ptr_269, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-GetElementPtrInst* ptr_271 = GetElementPtrInst::Create(ptr_270, const_int32_68, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-CastInst* ptr_272 = new BitCastInst(ptr_271, PointerTy_28, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-LoadInst* ptr_273 = new LoadInst(ptr_272, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-ICmpInst* int1_274 = new ICmpInst(*label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i, ICmpInst::ICMP_EQ, ptr_273, const_ptr_81, "");
-BranchInst::Create(label_true_IF_NULL_i1_i_i6_i_i_i, label_true_IFNULL_i7_i_i11_i_i_i, int1_274, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread21_i);
-
-// Block JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II.exit.i.i.i (label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i)
-std::vector<Value*> ptr_276_indices;
-ptr_276_indices.push_back(const_int32_57);
-ptr_276_indices.push_back(const_int32_53);
-ptr_276_indices.push_back(const_int32_53);
-ptr_276_indices.push_back(const_int32_74);
-Instruction* ptr_276 = GetElementPtrInst::Create(ptr_102, ptr_276_indices.begin(), ptr_276_indices.end(), "", label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i);
-CastInst* ptr_277 = new BitCastInst(ptr_276, PointerTy_28, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i);
-LoadInst* ptr_278 = new LoadInst(ptr_277, "", false, label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i);
-CastInst* ptr_279 = new BitCastInst(ptr_278, PointerTy_26, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i);
-BinaryOperator* int32_280 = BinaryOperator::Create(Instruction::Add, int32_95, const_int32_60, "", label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i);
-ICmpInst* int1_281 = new ICmpInst(*label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i, ICmpInst::ICMP_SGT, int32_280, const_int32_61, "");
-BranchInst::Create(label_GOTO_or_IF_4_i_i_i_i_i, label_false_IF_ICMPGT16_i_i_i_i_i, int1_281, label_JnJVM_org_mmtk_utility_alloc_Allocator_getMaximumAlignedSize__II_exit_i_i_i);
-
-// Block GOTO or IF*4.i.i.i.i.i (label_GOTO_or_IF_4_i_i_i_i_i)
-ICmpInst* int1_283 = new ICmpInst(*label_GOTO_or_IF_4_i_i_i_i_i, ICmpInst::ICMP_SGT, int32_280, const_int32_62, "");
-BranchInst::Create(label_GOTO_or_IF_6_i_i_i_i_i, label_false_IF_ICMPGT17_i_i_i_i_i, int1_283, label_GOTO_or_IF_4_i_i_i_i_i);
-
-// Block GOTO or IF*6.i.i.i.i.i (label_GOTO_or_IF_6_i_i_i_i_i)
-ICmpInst* int1_285 = new ICmpInst(*label_GOTO_or_IF_6_i_i_i_i_i, ICmpInst::ICMP_SGT, int32_280, const_int32_63, "");
-BranchInst::Create(label_GOTO_or_IF_7_i_i1_i_i_i, label_false_IF_ICMPGT18_i_i_i_i_i, int1_285, label_GOTO_or_IF_6_i_i_i_i_i);
-
-// Block GOTO or IF*7.i.i1.i.i.i (label_GOTO_or_IF_7_i_i1_i_i_i)
-ICmpInst* int1_287 = new ICmpInst(*label_GOTO_or_IF_7_i_i1_i_i_i, ICmpInst::ICMP_SGT, int32_280, const_int32_64, "");
-BranchInst::Create(label_GOTO_or_IF_8_i_i_i_i_i, label_false_IF_ICMPGT19_i_i_i_i_i, int1_287, label_GOTO_or_IF_7_i_i1_i_i_i);
-
-// Block GOTO or IF*8.i.i.i.i.i (label_GOTO_or_IF_8_i_i_i_i_i)
-ICmpInst* int1_289 = new ICmpInst(*label_GOTO_or_IF_8_i_i_i_i_i, ICmpInst::ICMP_SGT, int32_280, const_int32_65, "");
-BranchInst::Create(label_GOTO_or_IF_9_i_i_i_i_i, label_false_IF_ICMPGT20_i_i_i_i_i, int1_289, label_GOTO_or_IF_8_i_i_i_i_i);
-
-// Block GOTO or IF*9.i.i.i.i.i (label_GOTO_or_IF_9_i_i_i_i_i)
-BinaryOperator* int32_291 = BinaryOperator::Create(Instruction::AShr, int32_280, const_int32_66, "", label_GOTO_or_IF_9_i_i_i_i_i);
-BinaryOperator* int32_292 = BinaryOperator::Create(Instruction::Add, int32_291, const_int32_67, "", label_GOTO_or_IF_9_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i, label_GOTO_or_IF_9_i_i_i_i_i);
-
-// Block false IF_ICMPGT16.i.i.i.i.i (label_false_IF_ICMPGT16_i_i_i_i_i)
-BinaryOperator* int32_294 = BinaryOperator::Create(Instruction::AShr, int32_280, const_int32_55, "", label_false_IF_ICMPGT16_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i, label_false_IF_ICMPGT16_i_i_i_i_i);
-
-// Block false IF_ICMPGT17.i.i.i.i.i (label_false_IF_ICMPGT17_i_i_i_i_i)
-BinaryOperator* int32_296 = BinaryOperator::Create(Instruction::AShr, int32_280, const_int32_57, "", label_false_IF_ICMPGT17_i_i_i_i_i);
-BinaryOperator* int32_297 = BinaryOperator::Create(Instruction::Add, int32_296, const_int32_68, "", label_false_IF_ICMPGT17_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i, label_false_IF_ICMPGT17_i_i_i_i_i);
-
-// Block false IF_ICMPGT18.i.i.i.i.i (label_false_IF_ICMPGT18_i_i_i_i_i)
-BinaryOperator* int32_299 = BinaryOperator::Create(Instruction::AShr, int32_280, const_int32_69, "", label_false_IF_ICMPGT18_i_i_i_i_i);
-BinaryOperator* int32_300 = BinaryOperator::Create(Instruction::Add, int32_299, const_int32_70, "", label_false_IF_ICMPGT18_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i, label_false_IF_ICMPGT18_i_i_i_i_i);
-
-// Block false IF_ICMPGT19.i.i.i.i.i (label_false_IF_ICMPGT19_i_i_i_i_i)
-BinaryOperator* int32_302 = BinaryOperator::Create(Instruction::AShr, int32_280, const_int32_71, "", label_false_IF_ICMPGT19_i_i_i_i_i);
-BinaryOperator* int32_303 = BinaryOperator::Create(Instruction::Add, int32_302, const_int32_72, "", label_false_IF_ICMPGT19_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i, label_false_IF_ICMPGT19_i_i_i_i_i);
-
-// Block false IF_ICMPGT20.i.i.i.i.i (label_false_IF_ICMPGT20_i_i_i_i_i)
-BinaryOperator* int32_305 = BinaryOperator::Create(Instruction::AShr, int32_280, const_int32_59, "", label_false_IF_ICMPGT20_i_i_i_i_i);
-BinaryOperator* int32_306 = BinaryOperator::Create(Instruction::Add, int32_305, const_int32_73, "", label_false_IF_ICMPGT20_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i, label_false_IF_ICMPGT20_i_i_i_i_i);
-
-// Block JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I.exit.i.i.i (label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i)
-PHINode* int32_308 = PHINode::Create(IntegerType::get(mod->getContext(), 32), "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i);
-int32_308->reserveOperandSpace(6);
-int32_308->addIncoming(int32_294, label_false_IF_ICMPGT16_i_i_i_i_i);
-int32_308->addIncoming(int32_297, label_false_IF_ICMPGT17_i_i_i_i_i);
-int32_308->addIncoming(int32_300, label_false_IF_ICMPGT18_i_i_i_i_i);
-int32_308->addIncoming(int32_303, label_false_IF_ICMPGT19_i_i_i_i_i);
-int32_308->addIncoming(int32_306, label_false_IF_ICMPGT20_i_i_i_i_i);
-int32_308->addIncoming(int32_292, label_GOTO_or_IF_9_i_i_i_i_i);
-
-GetElementPtrInst* ptr_309 = GetElementPtrInst::Create(ptr_278, const_int32_68, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i);
-CastInst* ptr_310 = new BitCastInst(ptr_309, PointerTy_28, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i);
-LoadInst* ptr_311 = new LoadInst(ptr_310, "", false, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i);
-BinaryOperator* int32_312 = BinaryOperator::Create(Instruction::Add, int32_308, const_int32_74, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i);
-CastInst* ptr_313 = new BitCastInst(ptr_311, PointerTy_23, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i);
-GetElementPtrInst* ptr_314 = GetElementPtrInst::Create(ptr_313, int32_312, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i);
-LoadInst* int32_315 = new LoadInst(ptr_314, "", false, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i);
-CastInst* ptr_316 = new IntToPtrInst(int32_315, PointerTy_26, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i);
-ICmpInst* int1_317 = new ICmpInst(*label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i, ICmpInst::ICMP_EQ, int32_315, const_int32_53, "");
-BranchInst::Create(label_GOTO_or_IF__i_i_i, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III_exit_i_i, int1_317, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_getSizeClass__I_exit_i_i_i);
-
-// Block GOTO or IF*.i.i.i (label_GOTO_or_IF__i_i_i)
-std::vector<Value*> ptr_319_params;
-ptr_319_params.push_back(ptr_279);
-ptr_319_params.push_back(int32_95);
-ptr_319_params.push_back(const_int32_53);
-ptr_319_params.push_back(const_int32_53);
-CallInst* ptr_319 = CallInst::Create(func_JnJVM_org_mmtk_utility_alloc_Allocator_allocSlow__III, ptr_319_params.begin(), ptr_319_params.end(), "", label_GOTO_or_IF__i_i_i);
-ptr_319->setCallingConv(CallingConv::C);
-ptr_319->setTailCall(true);
-AttrListPtr ptr_319_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- ptr_319_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-ptr_319->setAttributes(ptr_319_PAL);
-
-BranchInst::Create(label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i, label_GOTO_or_IF__i_i_i);
-
-// Block JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III.exit.i.i (label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III_exit_i_i)
-CastInst* ptr_321 = new IntToPtrInst(int32_315, PointerTy_25, "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III_exit_i_i);
-LoadInst* ptr_322 = new LoadInst(ptr_321, "", false, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III_exit_i_i);
-CastInst* int32_323 = new PtrToIntInst(ptr_322, IntegerType::get(mod->getContext(), 32), "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III_exit_i_i);
- new StoreInst(int32_323, ptr_314, false, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III_exit_i_i);
-std::vector<Value*> ptr_325_indices;
-ptr_325_indices.push_back(const_int32_53);
-ptr_325_indices.push_back(const_int32_53);
-Instruction* ptr_325 = GetElementPtrInst::Create(ptr_316, ptr_325_indices.begin(), ptr_325_indices.end(), "", label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III_exit_i_i);
- new StoreInst(const_ptr_75, ptr_325, false, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III_exit_i_i);
-BranchInst::Create(label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III_exit_i_i);
-
-// Block JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread.i (label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i)
-PHINode* ptr__ph_i = PHINode::Create(PointerTy_26, ".ph.i", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i);
-ptr__ph_i->reserveOperandSpace(2);
-ptr__ph_i->addIncoming(ptr_319, label_GOTO_or_IF__i_i_i);
-ptr__ph_i->addIncoming(ptr_316, label_JnJVM_org_mmtk_utility_alloc_SegregatedFreeList_alloc__III_exit_i_i);
-
-std::vector<Value*> ptr_328_indices;
-ptr_328_indices.push_back(const_int32_53);
-ptr_328_indices.push_back(const_int32_53);
-Instruction* ptr_328 = GetElementPtrInst::Create(ptr__ph_i, ptr_328_indices.begin(), ptr_328_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i);
-CastInst* ptr__c6_i = new BitCastInst(ptr_VT, PointerTy_27, ".c6.i", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i);
- new StoreInst(ptr__c6_i, ptr_328, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i);
-LoadInst* int8_storemerge_in_i_i1_i_i = new LoadInst(const_ptr_84, "storemerge.in.i.i1.i.i", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i);
-std::vector<Value*> ptr_330_indices;
-ptr_330_indices.push_back(const_int32_53);
-ptr_330_indices.push_back(const_int32_74);
-Instruction* ptr_330 = GetElementPtrInst::Create(ptr__ph_i, ptr_330_indices.begin(), ptr_330_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i);
-CastInst* ptr_331 = new BitCastInst(ptr_330, PointerTy_0, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i);
- new StoreInst(int8_storemerge_in_i_i1_i_i, ptr_331, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i);
-BranchInst::Create(label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i);
-
-// Block JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread9.i (label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i)
-PHINode* ptr__ph8_i = PHINode::Create(PointerTy_26, ".ph8.i", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i);
-ptr__ph8_i->reserveOperandSpace(2);
-ptr__ph8_i->addIncoming(ptr_143, label_false_IFNE_i_i_i_i);
-ptr__ph8_i->addIncoming(ptr_146, label_GOTO_or_IF__i_i_i_i);
-
-std::vector<Value*> ptr_334_indices;
-ptr_334_indices.push_back(const_int32_53);
-ptr_334_indices.push_back(const_int32_53);
-Instruction* ptr_334 = GetElementPtrInst::Create(ptr__ph8_i, ptr_334_indices.begin(), ptr_334_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i);
-CastInst* ptr__c10_i = new BitCastInst(ptr_VT, PointerTy_27, ".c10.i", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i);
- new StoreInst(ptr__c10_i, ptr_334, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i);
-LoadInst* int8_storemerge_in_i_i_i_i = new LoadInst(const_ptr_85, "storemerge.in.i.i.i.i", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i);
-std::vector<Value*> ptr_336_indices;
-ptr_336_indices.push_back(const_int32_53);
-ptr_336_indices.push_back(const_int32_74);
-Instruction* ptr_336 = GetElementPtrInst::Create(ptr__ph8_i, ptr_336_indices.begin(), ptr_336_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i);
-CastInst* ptr_337 = new BitCastInst(ptr_336, PointerTy_0, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i);
- new StoreInst(int8_storemerge_in_i_i_i_i, ptr_337, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i);
-BranchInst::Create(label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i);
-
-// Block JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread13.i (label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i)
-PHINode* ptr__ph12_i = PHINode::Create(PointerTy_26, ".ph12.i", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
-ptr__ph12_i->reserveOperandSpace(2);
-ptr__ph12_i->addIncoming(ptr_172, label_false_IFEQ_i_i_i_i);
-ptr__ph12_i->addIncoming(ptr_160, label_JnJVM_org_mmtk_utility_alloc_Allocator_fillAlignmentGap__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_Address_2_exit_i_i_i_i);
-
-std::vector<Value*> ptr_340_indices;
-ptr_340_indices.push_back(const_int32_53);
-ptr_340_indices.push_back(const_int32_53);
-Instruction* ptr_340 = GetElementPtrInst::Create(ptr__ph12_i, ptr_340_indices.begin(), ptr_340_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
-CastInst* ptr__c14_i = new BitCastInst(ptr_VT, PointerTy_27, ".c14.i", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
- new StoreInst(ptr__c14_i, ptr_340, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
-std::vector<Value*> ptr_342_indices;
-ptr_342_indices.push_back(const_int32_53);
-ptr_342_indices.push_back(const_int32_74);
-Instruction* ptr_342 = GetElementPtrInst::Create(ptr__ph12_i, ptr_342_indices.begin(), ptr_342_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
-CastInst* ptr_343 = new BitCastInst(ptr_342, PointerTy_0, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
-LoadInst* int8_344 = new LoadInst(ptr_343, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
-BinaryOperator* int8_345 = BinaryOperator::Create(Instruction::And, int8_344, const_int8_86, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
-LoadInst* int8_346 = new LoadInst(const_ptr_87, "", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
-BinaryOperator* int8_347 = BinaryOperator::Create(Instruction::Or, int8_345, int8_346, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
- new StoreInst(int8_347, ptr_343, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
-BranchInst::Create(label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
-
-// Block JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.thread17.i (label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i)
-PHINode* ptr__ph16_i = PHINode::Create(PointerTy_26, ".ph16.i", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i);
-ptr__ph16_i->reserveOperandSpace(2);
-ptr__ph16_i->addIncoming(ptr_238, label_false_IFNE_i21_i_i_i);
-ptr__ph16_i->addIncoming(ptr_241, label_GOTO_or_IF__i17_i_i_i);
-
-std::vector<Value*> ptr_350_indices;
-ptr_350_indices.push_back(const_int32_53);
-ptr_350_indices.push_back(const_int32_53);
-Instruction* ptr_350 = GetElementPtrInst::Create(ptr__ph16_i, ptr_350_indices.begin(), ptr_350_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i);
-CastInst* ptr__c18_i = new BitCastInst(ptr_VT, PointerTy_27, ".c18.i", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i);
- new StoreInst(ptr__c18_i, ptr_350, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i);
-LoadInst* int8_storemerge_in_i2_i_i_i = new LoadInst(const_ptr_88, "storemerge.in.i2.i.i.i", false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i);
-std::vector<Value*> ptr_352_indices;
-ptr_352_indices.push_back(const_int32_53);
-ptr_352_indices.push_back(const_int32_74);
-Instruction* ptr_352 = GetElementPtrInst::Create(ptr__ph16_i, ptr_352_indices.begin(), ptr_352_indices.end(), "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i);
-CastInst* ptr_353 = new BitCastInst(ptr_352, PointerTy_0, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i);
- new StoreInst(int8_storemerge_in_i2_i_i_i, ptr_353, false, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i);
-BranchInst::Create(label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i);
-
-// Block JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII.exit.i (label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_i)
-CallInst* void_356 = CallInst::Create(func_abort, "", label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_i);
-void_356->setCallingConv(CallingConv::C);
-void_356->setTailCall(true);
-AttrListPtr void_356_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoReturn | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- void_356_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-void_356->setAttributes(void_356_PAL);
-
-new UnreachableInst(mod->getContext(), label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_i);
-
-// Block true IF*NULL.i1.i.i.i.i.i (label_true_IF_NULL_i1_i_i_i_i_i)
-std::vector<Value*> ptr_358_indices;
-ptr_358_indices.push_back(const_int32_53);
-ptr_358_indices.push_back(const_int32_53);
-Instruction* ptr_358 = GetElementPtrInst::Create(ptr_192, ptr_358_indices.begin(), ptr_358_indices.end(), "", label_true_IF_NULL_i1_i_i_i_i_i);
- new StoreInst(const_ptr_75, ptr_358, false, label_true_IF_NULL_i1_i_i_i_i_i);
-GetElementPtrInst* ptr_360 = GetElementPtrInst::Create(ptr_194, const_int32_59, "", label_true_IF_NULL_i1_i_i_i_i_i);
-CastInst* ptr_361 = new BitCastInst(ptr_360, PointerTy_25, "", label_true_IF_NULL_i1_i_i_i_i_i);
-LoadInst* ptr_362 = new LoadInst(ptr_361, "", false, label_true_IF_NULL_i1_i_i_i_i_i);
-LoadInst* ptr_363 = new LoadInst(const_ptr_89, "", false, label_true_IF_NULL_i1_i_i_i_i_i);
-CastInst* int32_364 = new PtrToIntInst(ptr_363, IntegerType::get(mod->getContext(), 32), "", label_true_IF_NULL_i1_i_i_i_i_i);
-BinaryOperator* int32_365 = BinaryOperator::Create(Instruction::Add, int32_364, int32_191, "", label_true_IF_NULL_i1_i_i_i_i_i);
-CastInst* ptr_366 = new IntToPtrInst(int32_365, PointerTy_25, "", label_true_IF_NULL_i1_i_i_i_i_i);
- new StoreInst(ptr_362, ptr_366, false, label_true_IF_NULL_i1_i_i_i_i_i);
-LoadInst* ptr_368 = new LoadInst(ptr_361, "", false, label_true_IF_NULL_i1_i_i_i_i_i);
-ICmpInst* int1_369 = new ICmpInst(*label_true_IF_NULL_i1_i_i_i_i_i, ICmpInst::ICMP_EQ, ptr_368, const_ptr_90, "");
-BranchInst::Create(label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i_i_i_i, label_false_IFNE_i9_i_i_i_i_i, int1_369, label_true_IF_NULL_i1_i_i_i_i_i);
-
-// Block true IF*NULL.GOTO or IF*1_crit_edge.i3.i.i.i.i.i (label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i_i_i_i)
-CastInst* ptr__c1_pre_i2_i_i_i_i_i = new IntToPtrInst(int32_191, PointerTy_27, ".c1.pre.i2.i.i.i.i.i", label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i_i_i_i);
-BranchInst::Create(label_GOTO_or_IF_1_i5_i_i_i_i_i, label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i_i_i_i);
-
-// Block GOTO or IF*1.i5.i.i.i.i.i (label_GOTO_or_IF_1_i5_i_i_i_i_i)
-Argument* fwdref_372 = new Argument(PointerTy_27);
-PHINode* ptr__c1_pre_phi_i4_i_i_i_i_i = PHINode::Create(PointerTy_27, ".c1.pre-phi.i4.i.i.i.i.i", label_GOTO_or_IF_1_i5_i_i_i_i_i);
-ptr__c1_pre_phi_i4_i_i_i_i_i->reserveOperandSpace(2);
-ptr__c1_pre_phi_i4_i_i_i_i_i->addIncoming(ptr__c1_pre_i2_i_i_i_i_i, label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i_i_i_i);
-ptr__c1_pre_phi_i4_i_i_i_i_i->addIncoming(fwdref_372, label_false_IFNE_i9_i_i_i_i_i);
-
-CastInst* ptr_373 = new BitCastInst(ptr_360, PointerTy_31, "", label_GOTO_or_IF_1_i5_i_i_i_i_i);
- new StoreInst(ptr__c1_pre_phi_i4_i_i_i_i_i, ptr_373, false, label_GOTO_or_IF_1_i5_i_i_i_i_i);
-LoadInst* ptr_375 = new LoadInst(ptr_196, "", false, label_GOTO_or_IF_1_i5_i_i_i_i_i);
-ICmpInst* int1_376 = new ICmpInst(*label_GOTO_or_IF_1_i5_i_i_i_i_i, ICmpInst::ICMP_EQ, ptr_375, const_ptr_81, "");
-BranchInst::Create(label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit, label_true_IFNULL3_i10_i_i_i_i_i, int1_376, label_GOTO_or_IF_1_i5_i_i_i_i_i);
-
-// Block true IFNULL.i7.i.i.i.i.i (label_true_IFNULL_i7_i_i_i_i_i)
-CastInst* ptr_378 = new IntToPtrInst(int32_98, PointerTy_13, "", label_true_IFNULL_i7_i_i_i_i_i);
-std::vector<Value*> ptr_379_indices;
-ptr_379_indices.push_back(const_int32_53);
-ptr_379_indices.push_back(const_int32_69);
-Instruction* ptr_379 = GetElementPtrInst::Create(ptr_378, ptr_379_indices.begin(), ptr_379_indices.end(), "", label_true_IFNULL_i7_i_i_i_i_i);
-LoadInst* int8_380 = new LoadInst(ptr_379, "", false, label_true_IFNULL_i7_i_i_i_i_i);
-ICmpInst* int1_381 = new ICmpInst(*label_true_IFNULL_i7_i_i_i_i_i, ICmpInst::ICMP_NE, int8_380, const_int8_91, "");
-CastInst* int8_382 = new ZExtInst(int1_381, IntegerType::get(mod->getContext(), 8), "", label_true_IFNULL_i7_i_i_i_i_i);
- new StoreInst(const_int8_86, ptr_379, false, label_true_IFNULL_i7_i_i_i_i_i);
-GetElementPtrInst* ptr_384 = GetElementPtrInst::Create(ptr_197, const_int32_59, "", label_true_IFNULL_i7_i_i_i_i_i);
-CastInst* ptr_385 = new BitCastInst(ptr_384, PointerTy_23, "", label_true_IFNULL_i7_i_i_i_i_i);
-BranchInst::Create(label_bb2_i_i22_i, label_true_IFNULL_i7_i_i_i_i_i);
-
-// Block bb.i.i20.i (label_bb_i_i20_i)
-Argument* fwdref_388 = new Argument(IntegerType::get(mod->getContext(), 1));
-BranchInst::Create(label_Java_org_j3_mmtk_Lock_acquire___exit25_i, label_bb1_i_i21_i, fwdref_388, label_bb_i_i20_i);
-
-// Block bb1.i.i21.i (label_bb1_i_i21_i)
-Argument* fwdref_390 = new Argument(IntegerType::get(mod->getContext(), 32));
-BinaryOperator* int32_389 = BinaryOperator::Create(Instruction::Add, fwdref_390, const_int32_74, "", label_bb1_i_i21_i);
-BranchInst::Create(label_bb2_i_i22_i, label_bb1_i_i21_i);
-
-// Block bb2.i.i22.i (label_bb2_i_i22_i)
-PHINode* int32_392 = PHINode::Create(IntegerType::get(mod->getContext(), 32), "", label_bb2_i_i22_i);
-int32_392->reserveOperandSpace(2);
-int32_392->addIncoming(const_int32_53, label_true_IFNULL_i7_i_i_i_i_i);
-int32_392->addIncoming(int32_389, label_bb1_i_i21_i);
-
-ICmpInst* int1_393 = new ICmpInst(*label_bb2_i_i22_i, ICmpInst::ICMP_ULT, int32_392, const_int32_92, "");
-std::vector<Value*> void_394_params;
-void_394_params.push_back(const_int1_93);
-void_394_params.push_back(const_int1_93);
-void_394_params.push_back(const_int1_93);
-void_394_params.push_back(const_int1_93);
-void_394_params.push_back(const_int1_93);
-CallInst* void_394 = CallInst::Create(func_llvm_memory_barrier, void_394_params.begin(), void_394_params.end(), "", label_bb2_i_i22_i);
-void_394->setCallingConv(CallingConv::C);
-void_394->setTailCall(true);
-AttrListPtr void_394_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- void_394_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-void_394->setAttributes(void_394_PAL);
-
-std::vector<Value*> int32_395_params;
-int32_395_params.push_back(ptr_385);
-int32_395_params.push_back(const_int32_53);
-int32_395_params.push_back(const_int32_74);
-CallInst* int32_395 = CallInst::Create(func_llvm_atomic_cmp_swap_i32_p0i32, int32_395_params.begin(), int32_395_params.end(), "", label_bb2_i_i22_i);
-int32_395->setCallingConv(CallingConv::C);
-int32_395->setTailCall(true);
-AttrListPtr int32_395_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- int32_395_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-int32_395->setAttributes(int32_395_PAL);
-
-std::vector<Value*> void_396_params;
-void_396_params.push_back(const_int1_93);
-void_396_params.push_back(const_int1_93);
-void_396_params.push_back(const_int1_93);
-void_396_params.push_back(const_int1_93);
-void_396_params.push_back(const_int1_93);
-CallInst* void_396 = CallInst::Create(func_llvm_memory_barrier, void_396_params.begin(), void_396_params.end(), "", label_bb2_i_i22_i);
-void_396->setCallingConv(CallingConv::C);
-void_396->setTailCall(true);
-AttrListPtr void_396_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- void_396_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-void_396->setAttributes(void_396_PAL);
-
-ICmpInst* int1_397 = new ICmpInst(*label_bb2_i_i22_i, ICmpInst::ICMP_EQ, int32_395, const_int32_53, "");
-BranchInst::Create(label_bb_i_i20_i, label_bb4_preheader_i_i23_i, int1_393, label_bb2_i_i22_i);
-
-// Block bb4.preheader.i.i23.i (label_bb4_preheader_i_i23_i)
-BranchInst::Create(label_Java_org_j3_mmtk_Lock_acquire___exit25_i, label_bb3_i_i24_i, int1_397, label_bb4_preheader_i_i23_i);
-
-// Block bb3.i.i24.i (label_bb3_i_i24_i)
-CallInst* void_400 = CallInst::Create(func__ZN3mvm6Thread5yieldEv, "", label_bb3_i_i24_i);
-void_400->setCallingConv(CallingConv::C);
-void_400->setTailCall(true);
-AttrListPtr void_400_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- void_400_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-void_400->setAttributes(void_400_PAL);
-
-std::vector<Value*> void_401_params;
-void_401_params.push_back(const_int1_93);
-void_401_params.push_back(const_int1_93);
-void_401_params.push_back(const_int1_93);
-void_401_params.push_back(const_int1_93);
-void_401_params.push_back(const_int1_93);
-CallInst* void_401 = CallInst::Create(func_llvm_memory_barrier, void_401_params.begin(), void_401_params.end(), "", label_bb3_i_i24_i);
-void_401->setCallingConv(CallingConv::C);
-void_401->setTailCall(true);
-AttrListPtr void_401_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- void_401_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-void_401->setAttributes(void_401_PAL);
-
-std::vector<Value*> int32_402_params;
-int32_402_params.push_back(ptr_385);
-int32_402_params.push_back(const_int32_53);
-int32_402_params.push_back(const_int32_74);
-CallInst* int32_402 = CallInst::Create(func_llvm_atomic_cmp_swap_i32_p0i32, int32_402_params.begin(), int32_402_params.end(), "", label_bb3_i_i24_i);
-int32_402->setCallingConv(CallingConv::C);
-int32_402->setTailCall(true);
-AttrListPtr int32_402_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- int32_402_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-int32_402->setAttributes(int32_402_PAL);
-
-std::vector<Value*> void_403_params;
-void_403_params.push_back(const_int1_93);
-void_403_params.push_back(const_int1_93);
-void_403_params.push_back(const_int1_93);
-void_403_params.push_back(const_int1_93);
-void_403_params.push_back(const_int1_93);
-CallInst* void_403 = CallInst::Create(func_llvm_memory_barrier, void_403_params.begin(), void_403_params.end(), "", label_bb3_i_i24_i);
-void_403->setCallingConv(CallingConv::C);
-void_403->setTailCall(true);
-AttrListPtr void_403_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- void_403_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-void_403->setAttributes(void_403_PAL);
-
-ICmpInst* int1_404 = new ICmpInst(*label_bb3_i_i24_i, ICmpInst::ICMP_EQ, int32_402, const_int32_53, "");
-BranchInst::Create(label_Java_org_j3_mmtk_Lock_acquire___exit25_i, label_bb3_i_i24_i, int1_404, label_bb3_i_i24_i);
-
-// Block Java_org_j3_mmtk_Lock_acquire__.exit25.i (label_Java_org_j3_mmtk_Lock_acquire___exit25_i)
- new StoreInst(int8_382, ptr_379, false, label_Java_org_j3_mmtk_Lock_acquire___exit25_i);
-BranchInst::Create(label_true_IF_NULL_i1_i_i_i_i_i, label_Java_org_j3_mmtk_Lock_acquire___exit25_i);
-
-// Block false IFNE.i9.i.i.i.i.i (label_false_IFNE_i9_i_i_i_i_i)
-std::vector<Value*> ptr_408_indices;
-ptr_408_indices.push_back(const_int32_53);
-ptr_408_indices.push_back(const_int32_53);
-Instruction* ptr_408 = GetElementPtrInst::Create(ptr_368, ptr_408_indices.begin(), ptr_408_indices.end(), "", label_false_IFNE_i9_i_i_i_i_i);
-CastInst* ptr__c_i8_i_i_i_i_i = new IntToPtrInst(int32_191, PointerTy_27, ".c.i8.i.i.i.i.i", label_false_IFNE_i9_i_i_i_i_i);
- new StoreInst(ptr__c_i8_i_i_i_i_i, ptr_408, false, label_false_IFNE_i9_i_i_i_i_i);
-BranchInst::Create(label_GOTO_or_IF_1_i5_i_i_i_i_i, label_false_IFNE_i9_i_i_i_i_i);
-
-// Block true IFNULL3.i10.i.i.i.i.i (label_true_IFNULL3_i10_i_i_i_i_i)
-CastInst* ptr_411 = new IntToPtrInst(int32_98, PointerTy_13, "", label_true_IFNULL3_i10_i_i_i_i_i);
-std::vector<Value*> ptr_412_indices;
-ptr_412_indices.push_back(const_int32_53);
-ptr_412_indices.push_back(const_int32_69);
-Instruction* ptr_412 = GetElementPtrInst::Create(ptr_411, ptr_412_indices.begin(), ptr_412_indices.end(), "", label_true_IFNULL3_i10_i_i_i_i_i);
-LoadInst* int8_413 = new LoadInst(ptr_412, "", false, label_true_IFNULL3_i10_i_i_i_i_i);
-ICmpInst* int1_414 = new ICmpInst(*label_true_IFNULL3_i10_i_i_i_i_i, ICmpInst::ICMP_NE, int8_413, const_int8_91, "");
-CastInst* int8_415 = new ZExtInst(int1_414, IntegerType::get(mod->getContext(), 8), "", label_true_IFNULL3_i10_i_i_i_i_i);
- new StoreInst(const_int8_86, ptr_412, false, label_true_IFNULL3_i10_i_i_i_i_i);
-GetElementPtrInst* ptr_417 = GetElementPtrInst::Create(ptr_375, const_int32_59, "", label_true_IFNULL3_i10_i_i_i_i_i);
-CastInst* ptr_418 = new BitCastInst(ptr_417, PointerTy_23, "", label_true_IFNULL3_i10_i_i_i_i_i);
- new StoreInst(const_int32_53, ptr_418, false, label_true_IFNULL3_i10_i_i_i_i_i);
- new StoreInst(int8_415, ptr_412, false, label_true_IFNULL3_i10_i_i_i_i_i);
-BranchInst::Create(label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit, label_true_IFNULL3_i10_i_i_i_i_i);
-
-// Block true IF*NULL.i1.i.i6.i.i.i (label_true_IF_NULL_i1_i_i6_i_i_i)
-std::vector<Value*> ptr_422_indices;
-ptr_422_indices.push_back(const_int32_53);
-ptr_422_indices.push_back(const_int32_53);
-Instruction* ptr_422 = GetElementPtrInst::Create(ptr_268, ptr_422_indices.begin(), ptr_422_indices.end(), "", label_true_IF_NULL_i1_i_i6_i_i_i);
- new StoreInst(const_ptr_75, ptr_422, false, label_true_IF_NULL_i1_i_i6_i_i_i);
-GetElementPtrInst* ptr_424 = GetElementPtrInst::Create(ptr_270, const_int32_59, "", label_true_IF_NULL_i1_i_i6_i_i_i);
-CastInst* ptr_425 = new BitCastInst(ptr_424, PointerTy_25, "", label_true_IF_NULL_i1_i_i6_i_i_i);
-LoadInst* ptr_426 = new LoadInst(ptr_425, "", false, label_true_IF_NULL_i1_i_i6_i_i_i);
-LoadInst* ptr_427 = new LoadInst(const_ptr_89, "", false, label_true_IF_NULL_i1_i_i6_i_i_i);
-CastInst* int32_428 = new PtrToIntInst(ptr_427, IntegerType::get(mod->getContext(), 32), "", label_true_IF_NULL_i1_i_i6_i_i_i);
-BinaryOperator* int32_429 = BinaryOperator::Create(Instruction::Add, int32_428, int32_267, "", label_true_IF_NULL_i1_i_i6_i_i_i);
-CastInst* ptr_430 = new IntToPtrInst(int32_429, PointerTy_25, "", label_true_IF_NULL_i1_i_i6_i_i_i);
- new StoreInst(ptr_426, ptr_430, false, label_true_IF_NULL_i1_i_i6_i_i_i);
-LoadInst* ptr_432 = new LoadInst(ptr_425, "", false, label_true_IF_NULL_i1_i_i6_i_i_i);
-ICmpInst* int1_433 = new ICmpInst(*label_true_IF_NULL_i1_i_i6_i_i_i, ICmpInst::ICMP_EQ, ptr_432, const_ptr_90, "");
-BranchInst::Create(label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i8_i_i_i, label_false_IFNE_i9_i_i13_i_i_i, int1_433, label_true_IF_NULL_i1_i_i6_i_i_i);
-
-// Block true IF*NULL.GOTO or IF*1_crit_edge.i3.i.i8.i.i.i (label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i8_i_i_i)
-CastInst* ptr__c1_pre_i2_i_i7_i_i_i = new IntToPtrInst(int32_267, PointerTy_27, ".c1.pre.i2.i.i7.i.i.i", label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i8_i_i_i);
-BranchInst::Create(label_GOTO_or_IF_1_i5_i_i10_i_i_i, label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i8_i_i_i);
-
-// Block GOTO or IF*1.i5.i.i10.i.i.i (label_GOTO_or_IF_1_i5_i_i10_i_i_i)
-Argument* fwdref_436 = new Argument(PointerTy_27);
-PHINode* ptr__c1_pre_phi_i4_i_i9_i_i_i = PHINode::Create(PointerTy_27, ".c1.pre-phi.i4.i.i9.i.i.i", label_GOTO_or_IF_1_i5_i_i10_i_i_i);
-ptr__c1_pre_phi_i4_i_i9_i_i_i->reserveOperandSpace(2);
-ptr__c1_pre_phi_i4_i_i9_i_i_i->addIncoming(ptr__c1_pre_i2_i_i7_i_i_i, label_true_IF_NULL_GOTO_or_IF_1_crit_edge_i3_i_i8_i_i_i);
-ptr__c1_pre_phi_i4_i_i9_i_i_i->addIncoming(fwdref_436, label_false_IFNE_i9_i_i13_i_i_i);
-
-CastInst* ptr_437 = new BitCastInst(ptr_424, PointerTy_31, "", label_GOTO_or_IF_1_i5_i_i10_i_i_i);
- new StoreInst(ptr__c1_pre_phi_i4_i_i9_i_i_i, ptr_437, false, label_GOTO_or_IF_1_i5_i_i10_i_i_i);
-LoadInst* ptr_439 = new LoadInst(ptr_272, "", false, label_GOTO_or_IF_1_i5_i_i10_i_i_i);
-ICmpInst* int1_440 = new ICmpInst(*label_GOTO_or_IF_1_i5_i_i10_i_i_i, ICmpInst::ICMP_EQ, ptr_439, const_ptr_81, "");
-BranchInst::Create(label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit, label_true_IFNULL3_i10_i_i14_i_i_i, int1_440, label_GOTO_or_IF_1_i5_i_i10_i_i_i);
-
-// Block true IFNULL.i7.i.i11.i.i.i (label_true_IFNULL_i7_i_i11_i_i_i)
-CastInst* ptr_442 = new IntToPtrInst(int32_98, PointerTy_13, "", label_true_IFNULL_i7_i_i11_i_i_i);
-std::vector<Value*> ptr_443_indices;
-ptr_443_indices.push_back(const_int32_53);
-ptr_443_indices.push_back(const_int32_69);
-Instruction* ptr_443 = GetElementPtrInst::Create(ptr_442, ptr_443_indices.begin(), ptr_443_indices.end(), "", label_true_IFNULL_i7_i_i11_i_i_i);
-LoadInst* int8_444 = new LoadInst(ptr_443, "", false, label_true_IFNULL_i7_i_i11_i_i_i);
-ICmpInst* int1_445 = new ICmpInst(*label_true_IFNULL_i7_i_i11_i_i_i, ICmpInst::ICMP_NE, int8_444, const_int8_91, "");
-CastInst* int8_446 = new ZExtInst(int1_445, IntegerType::get(mod->getContext(), 8), "", label_true_IFNULL_i7_i_i11_i_i_i);
- new StoreInst(const_int8_86, ptr_443, false, label_true_IFNULL_i7_i_i11_i_i_i);
-GetElementPtrInst* ptr_448 = GetElementPtrInst::Create(ptr_273, const_int32_59, "", label_true_IFNULL_i7_i_i11_i_i_i);
-CastInst* ptr_449 = new BitCastInst(ptr_448, PointerTy_23, "", label_true_IFNULL_i7_i_i11_i_i_i);
-BranchInst::Create(label_bb2_i_i_i, label_true_IFNULL_i7_i_i11_i_i_i);
-
-// Block bb.i.i.i (label_bb_i_i_i)
-Argument* fwdref_452 = new Argument(IntegerType::get(mod->getContext(), 1));
-BranchInst::Create(label_Java_org_j3_mmtk_Lock_acquire___exit_i, label_bb1_i_i_i, fwdref_452, label_bb_i_i_i);
-
-// Block bb1.i.i.i (label_bb1_i_i_i)
-Argument* fwdref_454 = new Argument(IntegerType::get(mod->getContext(), 32));
-BinaryOperator* int32_453 = BinaryOperator::Create(Instruction::Add, fwdref_454, const_int32_74, "", label_bb1_i_i_i);
-BranchInst::Create(label_bb2_i_i_i, label_bb1_i_i_i);
-
-// Block bb2.i.i.i (label_bb2_i_i_i)
-PHINode* int32_456 = PHINode::Create(IntegerType::get(mod->getContext(), 32), "", label_bb2_i_i_i);
-int32_456->reserveOperandSpace(2);
-int32_456->addIncoming(const_int32_53, label_true_IFNULL_i7_i_i11_i_i_i);
-int32_456->addIncoming(int32_453, label_bb1_i_i_i);
-
-ICmpInst* int1_457 = new ICmpInst(*label_bb2_i_i_i, ICmpInst::ICMP_ULT, int32_456, const_int32_92, "");
-std::vector<Value*> void_458_params;
-void_458_params.push_back(const_int1_93);
-void_458_params.push_back(const_int1_93);
-void_458_params.push_back(const_int1_93);
-void_458_params.push_back(const_int1_93);
-void_458_params.push_back(const_int1_93);
-CallInst* void_458 = CallInst::Create(func_llvm_memory_barrier, void_458_params.begin(), void_458_params.end(), "", label_bb2_i_i_i);
-void_458->setCallingConv(CallingConv::C);
-void_458->setTailCall(true);
-AttrListPtr void_458_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- void_458_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-void_458->setAttributes(void_458_PAL);
-
-std::vector<Value*> int32_459_params;
-int32_459_params.push_back(ptr_449);
-int32_459_params.push_back(const_int32_53);
-int32_459_params.push_back(const_int32_74);
-CallInst* int32_459 = CallInst::Create(func_llvm_atomic_cmp_swap_i32_p0i32, int32_459_params.begin(), int32_459_params.end(), "", label_bb2_i_i_i);
-int32_459->setCallingConv(CallingConv::C);
-int32_459->setTailCall(true);
-AttrListPtr int32_459_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- int32_459_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-int32_459->setAttributes(int32_459_PAL);
-
-std::vector<Value*> void_460_params;
-void_460_params.push_back(const_int1_93);
-void_460_params.push_back(const_int1_93);
-void_460_params.push_back(const_int1_93);
-void_460_params.push_back(const_int1_93);
-void_460_params.push_back(const_int1_93);
-CallInst* void_460 = CallInst::Create(func_llvm_memory_barrier, void_460_params.begin(), void_460_params.end(), "", label_bb2_i_i_i);
-void_460->setCallingConv(CallingConv::C);
-void_460->setTailCall(true);
-AttrListPtr void_460_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- void_460_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-void_460->setAttributes(void_460_PAL);
-
-ICmpInst* int1_461 = new ICmpInst(*label_bb2_i_i_i, ICmpInst::ICMP_EQ, int32_459, const_int32_53, "");
-BranchInst::Create(label_bb_i_i_i, label_bb4_preheader_i_i_i, int1_457, label_bb2_i_i_i);
-
-// Block bb4.preheader.i.i.i (label_bb4_preheader_i_i_i)
-BranchInst::Create(label_Java_org_j3_mmtk_Lock_acquire___exit_i, label_bb3_i_i_i, int1_461, label_bb4_preheader_i_i_i);
-
-// Block bb3.i.i.i (label_bb3_i_i_i)
-CallInst* void_464 = CallInst::Create(func__ZN3mvm6Thread5yieldEv, "", label_bb3_i_i_i);
-void_464->setCallingConv(CallingConv::C);
-void_464->setTailCall(true);
-AttrListPtr void_464_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- void_464_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-void_464->setAttributes(void_464_PAL);
-
-std::vector<Value*> void_465_params;
-void_465_params.push_back(const_int1_93);
-void_465_params.push_back(const_int1_93);
-void_465_params.push_back(const_int1_93);
-void_465_params.push_back(const_int1_93);
-void_465_params.push_back(const_int1_93);
-CallInst* void_465 = CallInst::Create(func_llvm_memory_barrier, void_465_params.begin(), void_465_params.end(), "", label_bb3_i_i_i);
-void_465->setCallingConv(CallingConv::C);
-void_465->setTailCall(true);
-AttrListPtr void_465_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- void_465_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-void_465->setAttributes(void_465_PAL);
-
-std::vector<Value*> int32_466_params;
-int32_466_params.push_back(ptr_449);
-int32_466_params.push_back(const_int32_53);
-int32_466_params.push_back(const_int32_74);
-CallInst* int32_466 = CallInst::Create(func_llvm_atomic_cmp_swap_i32_p0i32, int32_466_params.begin(), int32_466_params.end(), "", label_bb3_i_i_i);
-int32_466->setCallingConv(CallingConv::C);
-int32_466->setTailCall(true);
-AttrListPtr int32_466_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- int32_466_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-int32_466->setAttributes(int32_466_PAL);
-
-std::vector<Value*> void_467_params;
-void_467_params.push_back(const_int1_93);
-void_467_params.push_back(const_int1_93);
-void_467_params.push_back(const_int1_93);
-void_467_params.push_back(const_int1_93);
-void_467_params.push_back(const_int1_93);
-CallInst* void_467 = CallInst::Create(func_llvm_memory_barrier, void_467_params.begin(), void_467_params.end(), "", label_bb3_i_i_i);
-void_467->setCallingConv(CallingConv::C);
-void_467->setTailCall(true);
-AttrListPtr void_467_PAL;
-{
- SmallVector<AttributeWithIndex, 4> Attrs;
- AttributeWithIndex PAWI;
- PAWI.Index = 4294967295U; PAWI.Attrs = 0  | Attribute::NoUnwind;
- Attrs.push_back(PAWI);
- void_467_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
- 
-}
-void_467->setAttributes(void_467_PAL);
-
-ICmpInst* int1_468 = new ICmpInst(*label_bb3_i_i_i, ICmpInst::ICMP_EQ, int32_466, const_int32_53, "");
-BranchInst::Create(label_Java_org_j3_mmtk_Lock_acquire___exit_i, label_bb3_i_i_i, int1_468, label_bb3_i_i_i);
-
-// Block Java_org_j3_mmtk_Lock_acquire__.exit.i (label_Java_org_j3_mmtk_Lock_acquire___exit_i)
- new StoreInst(int8_446, ptr_443, false, label_Java_org_j3_mmtk_Lock_acquire___exit_i);
-BranchInst::Create(label_true_IF_NULL_i1_i_i6_i_i_i, label_Java_org_j3_mmtk_Lock_acquire___exit_i);
-
-// Block false IFNE.i9.i.i13.i.i.i (label_false_IFNE_i9_i_i13_i_i_i)
-std::vector<Value*> ptr_472_indices;
-ptr_472_indices.push_back(const_int32_53);
-ptr_472_indices.push_back(const_int32_53);
-Instruction* ptr_472 = GetElementPtrInst::Create(ptr_432, ptr_472_indices.begin(), ptr_472_indices.end(), "", label_false_IFNE_i9_i_i13_i_i_i);
-CastInst* ptr__c_i8_i_i12_i_i_i = new IntToPtrInst(int32_267, PointerTy_27, ".c.i8.i.i12.i.i.i", label_false_IFNE_i9_i_i13_i_i_i);
- new StoreInst(ptr__c_i8_i_i12_i_i_i, ptr_472, false, label_false_IFNE_i9_i_i13_i_i_i);
-BranchInst::Create(label_GOTO_or_IF_1_i5_i_i10_i_i_i, label_false_IFNE_i9_i_i13_i_i_i);
-
-// Block true IFNULL3.i10.i.i14.i.i.i (label_true_IFNULL3_i10_i_i14_i_i_i)
-CastInst* ptr_475 = new IntToPtrInst(int32_98, PointerTy_13, "", label_true_IFNULL3_i10_i_i14_i_i_i);
-std::vector<Value*> ptr_476_indices;
-ptr_476_indices.push_back(const_int32_53);
-ptr_476_indices.push_back(const_int32_69);
-Instruction* ptr_476 = GetElementPtrInst::Create(ptr_475, ptr_476_indices.begin(), ptr_476_indices.end(), "", label_true_IFNULL3_i10_i_i14_i_i_i);
-LoadInst* int8_477 = new LoadInst(ptr_476, "", false, label_true_IFNULL3_i10_i_i14_i_i_i);
-ICmpInst* int1_478 = new ICmpInst(*label_true_IFNULL3_i10_i_i14_i_i_i, ICmpInst::ICMP_NE, int8_477, const_int8_91, "");
-CastInst* int8_479 = new ZExtInst(int1_478, IntegerType::get(mod->getContext(), 8), "", label_true_IFNULL3_i10_i_i14_i_i_i);
- new StoreInst(const_int8_86, ptr_476, false, label_true_IFNULL3_i10_i_i14_i_i_i);
-GetElementPtrInst* ptr_481 = GetElementPtrInst::Create(ptr_439, const_int32_59, "", label_true_IFNULL3_i10_i_i14_i_i_i);
-CastInst* ptr_482 = new BitCastInst(ptr_481, PointerTy_23, "", label_true_IFNULL3_i10_i_i14_i_i_i);
- new StoreInst(const_int32_53, ptr_482, false, label_true_IFNULL3_i10_i_i14_i_i_i);
- new StoreInst(int8_479, ptr_476, false, label_true_IFNULL3_i10_i_i14_i_i_i);
-BranchInst::Create(label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit, label_true_IFNULL3_i10_i_i14_i_i_i);
-
-// Block JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2.exit (label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit)
-PHINode* ptr_486 = PHINode::Create(PointerTy_26, "", label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit);
-ptr_486->reserveOperandSpace(8);
-ptr_486->addIncoming(ptr_254, label_true_IFNULL3_i10_i_i14_i_i_i);
-ptr_486->addIncoming(ptr__ph16_i, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread17_i);
-ptr_486->addIncoming(ptr_178, label_true_IFNULL3_i10_i_i_i_i_i);
-ptr_486->addIncoming(ptr__ph12_i, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread13_i);
-ptr_486->addIncoming(ptr__ph8_i, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread9_i);
-ptr_486->addIncoming(ptr__ph_i, label_JnJVM_org_mmtk_plan_marksweep_MSMutator_alloc__IIIII_exit_thread_i);
-ptr_486->addIncoming(ptr_254, label_GOTO_or_IF_1_i5_i_i10_i_i_i);
-ptr_486->addIncoming(ptr_178, label_GOTO_or_IF_1_i5_i_i_i_i_i);
-
-CastInst* ptr_tmp1 = new BitCastInst(ptr_486, PointerTy_0, "tmp1", label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit);
-ReturnInst::Create(mod->getContext(), ptr_tmp1, label_JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2_exit);
-
-// Resolve Forward References
-fwdref_390->replaceAllUsesWith(int32_392); delete fwdref_390;
-fwdref_388->replaceAllUsesWith(int1_397); delete fwdref_388;
-fwdref_372->replaceAllUsesWith(ptr__c_i8_i_i_i_i_i); delete fwdref_372;
-fwdref_454->replaceAllUsesWith(int32_456); delete fwdref_454;
-fwdref_452->replaceAllUsesWith(int1_461); delete fwdref_452;
-fwdref_436->replaceAllUsesWith(ptr__c_i8_i_i12_i_i_i); delete fwdref_436;
-return func_gcmalloc;
-}

Modified: vmkit/trunk/mmtk/config/marksweep/ObjectHeader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/config/marksweep/ObjectHeader.h?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/mmtk/config/marksweep/ObjectHeader.h (original)
+++ vmkit/trunk/mmtk/config/marksweep/ObjectHeader.h Mon Nov 29 05:11:36 2010
@@ -13,24 +13,7 @@
 #include <stdint.h>
 
 namespace mvm {
-#if (__WORDSIZE == 64)
-  static const uint64_t FatMask = 0x8000000000000000;
-#else
-  static const uint64_t FatMask = 0x80000000;
-#endif
-
-  static const uint64_t ThinCountMask = 0xFF000;
-  static const uint64_t ThinCountShift = 12;
-  static const uint64_t ThinCountAdd = 0x1000;
-
-  static const uint64_t NonLockBitsMask = 0xFFF;
-  static const uint64_t HashMask = 0xF00;
-  static const uint64_t GCBitMask = 0xFF;
-
-  static const uint32_t NonLockBits = 12;
-  static const uint32_t HashBits = 0;
   static const uint32_t GCBits = 8;
-
   static const bool MovesObject = false;
 }
 

Removed: vmkit/trunk/mmtk/config/marksweep/Selected.java
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/config/marksweep/Selected.java?rev=120286&view=auto
==============================================================================
--- vmkit/trunk/mmtk/config/marksweep/Selected.java (original)
+++ vmkit/trunk/mmtk/config/marksweep/Selected.java (removed)
@@ -1,66 +0,0 @@
-//===------------------------- Selected.java ------------------------------===//
-//
-//                            The VMKit project
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-package org.j3.config;
-
-import org.mmtk.utility.Log;
-
-import org.vmmagic.pragma.*;
-
-public class Selected {
-  public static final String name = "org.mmtk.plan.marksweep.MS";
-  @Uninterruptible
-  public static final class Plan extends org.mmtk.plan.marksweep.MS
-  {
-    private static final Plan plan = new Plan();
-
-    @Inline
-    public static Plan get() { return plan; }
-  }
-
-  @Uninterruptible
-  public static final class Constraints extends org.mmtk.plan.marksweep.MSConstraints
-  {
-    private static final Constraints constraints = new Constraints();
-
-    @Inline
-    public static Constraints get() { return constraints; }
-  }
-
-  @Uninterruptible
-  public static class Collector extends org.mmtk.plan.marksweep.MSCollector
-  {
-    private static final Collector bootstrapCollector = new Collector();
-    
-    public static void staticCollect() {
-      bootstrapCollector.collect();
-    }
-
-    public Collector() {}
-    @Inline
-    public static Collector get() {
-      return bootstrapCollector;
-    }
-  }
-
-  @Uninterruptible
-  public static class Mutator extends org.mmtk.plan.marksweep.MSMutator
-  {
-   
-    // Unused mutator used by the AOT compiler to know what instances
-    // will be alive during MMTk execution. This allows to inline
-    // virtual calls of singleton objects.
-    private static final Mutator unusedMutator = new Mutator();
-    
-    public Mutator() {}
-
-    @Inline
-    public static native Mutator get();
-  }
-}

Added: vmkit/trunk/mmtk/inline/InlineMethods.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/inline/InlineMethods.cpp?rev=120287&view=auto
==============================================================================
--- vmkit/trunk/mmtk/inline/InlineMethods.cpp (added)
+++ vmkit/trunk/mmtk/inline/InlineMethods.cpp Mon Nov 29 05:11:36 2010
@@ -0,0 +1,30 @@
+//===-------- InlineMethods.cpp - Initialize the inline methods -----------===//
+//
+//                      The VMKit project
+//
+// This file is distributed under the University of Illinois Open Source 
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include <llvm/CallingConv.h>
+#include <llvm/Constants.h>
+#include <llvm/DerivedTypes.h>
+#include <llvm/Instructions.h>
+#include <llvm/LLVMContext.h>
+#include <llvm/Module.h>
+#include <llvm/Type.h>
+
+using namespace llvm;
+
+namespace mmtk {
+
+namespace mmtk_runtime {
+  #include "MMTkInline.inc"
+}
+
+extern "C" void MMTk_InlineMethods(llvm::Module* module) {
+  mmtk_runtime::makeLLVMFunction(module);
+}
+
+}

Added: vmkit/trunk/mmtk/inline/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/inline/Makefile?rev=120287&view=auto
==============================================================================
--- vmkit/trunk/mmtk/inline/Makefile (added)
+++ vmkit/trunk/mmtk/inline/Makefile Mon Nov 29 05:11:36 2010
@@ -0,0 +1,16 @@
+##===- lib/Mvm/CommonThread/Makefile -----------------------*- Makefile -*-===##
+# 
+#                     The vmkit project
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+# 
+##===----------------------------------------------------------------------===##
+LEVEL = ../..
+
+include $(LEVEL)/Makefile.config
+
+MODULE_NAME = InlineMMTk
+
+include $(LEVEL)/Makefile.common
+

Removed: vmkit/trunk/mmtk/java/build.xml.in
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/java/build.xml.in?rev=120286&view=auto
==============================================================================
--- vmkit/trunk/mmtk/java/build.xml.in (original)
+++ vmkit/trunk/mmtk/java/build.xml.in (removed)
@@ -1,9 +0,0 @@
-<project name="MMTK-VMKit" default="main" basedir=".">
-  <target name="main">
-    <mkdir dir="classes"/>
-    <javac srcdir="@abs_top_srcdir@/mmtk/java/src:@abs_top_srcdir@/mmtk/config/@MMTK_PLAN@" destdir="classes" source="1.5"/>
-    <jar jarfile="mmtk-vmkit.jar">
-      <fileset dir="classes"/>
-    </jar>
-  </target>
-</project>

Modified: vmkit/trunk/mmtk/mmtk-j3/VM.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/mmtk-j3/VM.cpp?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/mmtk/mmtk-j3/VM.cpp (original)
+++ vmkit/trunk/mmtk/mmtk-j3/VM.cpp Mon Nov 29 05:11:36 2010
@@ -57,9 +57,8 @@
 extern "C" bool Java_org_j3_runtime_VM_verifyAssertions__ () {
   // Note that DEBUG is defined in make ENABLE_OPTIMIZED=1.
   // You must provide DISABLE_ASSERTIONS=1 to not have DEBUG defined.
-  // To generate MMTkInline.inc, you need to have this function return
-  // false.
-#ifdef DEBUG
+  // To generate MMTkInline.inc, this function returns false.
+#if 0
   return true;
 #else
   return false;

Modified: vmkit/trunk/tools/j3/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tools/j3/Makefile?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/tools/j3/Makefile (original)
+++ vmkit/trunk/tools/j3/Makefile Mon Nov 29 05:11:36 2010
@@ -19,7 +19,7 @@
 		Mvm.bc MvmCompiler.bc
 
   ifeq ($(GC_MMTK), 1)
-    USEDMODULES += FinalMMTk.bc
+    USEDMODULES += FinalMMTk.bc InlineMMTk.bc
   else
     USEDMODULES += $(GCLIB).bc
   endif

Modified: vmkit/trunk/tools/vmkit/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tools/vmkit/Makefile?rev=120287&r1=120286&r2=120287&view=diff
==============================================================================
--- vmkit/trunk/tools/vmkit/Makefile (original)
+++ vmkit/trunk/tools/vmkit/Makefile Mon Nov 29 05:11:36 2010
@@ -32,7 +32,7 @@
   USEDMODULES += Allocator.bc CommonThread.bc Mvm.bc MvmCompiler.bc
 
   ifeq ($(GC_MMTK), 1)
-    USEDMODULES += FinalMMTk.bc
+    USEDMODULES += FinalMMTk.bc InlineMMTk.bc
   else
     USEDMODULES += $(GCLIB).bc
   endif





More information about the vmkit-commits mailing list