[vmkit-commits] [vmkit] r145034 - in /vmkit/trunk: include/j3/JavaAOTCompiler.h include/vmkit/MvmDenseMap.h include/vmkit/MvmDenseSet.h include/vmkit/System.h include/vmkit/Thread.h include/vmkit/UTF8.h include/vmkit/VmkitDenseMap.h include/vmkit/VmkitDenseSet.h lib/J3/Compiler/JavaAOTCompiler.cpp lib/J3/VMCore/LockedMap.h lib/J3/VMCore/Precompiled.cpp lib/Mvm/CommonThread/ctthread.cpp

Gael Thomas gael.thomas at lip6.fr
Mon Nov 21 02:39:23 PST 2011


Author: gthomas
Date: Mon Nov 21 04:39:23 2011
New Revision: 145034

URL: http://llvm.org/viewvc/llvm-project?rev=145034&view=rev
Log:
More renaming: 
MvmDenseSet.* -> VmkitDenseSet.*
MvmDenseMap.* -> VmkitDenseSet.*
MvmPair -> VmkitPair
kMvmThreadMask -> kVmkitThreadMask
GetMvmThreadMask -> GetVmkitThreadMask


Added:
    vmkit/trunk/include/vmkit/VmkitDenseMap.h
      - copied, changed from r145031, vmkit/trunk/include/vmkit/MvmDenseMap.h
    vmkit/trunk/include/vmkit/VmkitDenseSet.h
      - copied, changed from r145031, vmkit/trunk/include/vmkit/MvmDenseSet.h
Removed:
    vmkit/trunk/include/vmkit/MvmDenseMap.h
    vmkit/trunk/include/vmkit/MvmDenseSet.h
Modified:
    vmkit/trunk/include/j3/JavaAOTCompiler.h
    vmkit/trunk/include/vmkit/System.h
    vmkit/trunk/include/vmkit/Thread.h
    vmkit/trunk/include/vmkit/UTF8.h
    vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp
    vmkit/trunk/lib/J3/VMCore/LockedMap.h
    vmkit/trunk/lib/J3/VMCore/Precompiled.cpp
    vmkit/trunk/lib/Mvm/CommonThread/ctthread.cpp

Modified: vmkit/trunk/include/j3/JavaAOTCompiler.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/j3/JavaAOTCompiler.h?rev=145034&r1=145033&r2=145034&view=diff
==============================================================================
--- vmkit/trunk/include/j3/JavaAOTCompiler.h (original)
+++ vmkit/trunk/include/j3/JavaAOTCompiler.h Mon Nov 21 04:39:23 2011
@@ -10,7 +10,7 @@
 #ifndef J3_AOT_COMPILER_H
 #define J3_AOT_COMPILER_H
 
-#include "vmkit/MvmDenseMap.h"
+#include "vmkit/VmkitDenseMap.h"
 #include "vmkit/UTF8.h"
 #include "j3/JavaLLVMCompiler.h"
 
@@ -98,8 +98,8 @@
   llvm::Constant* CreateConstantFromJavaObject(JavaObject* obj);
   llvm::Constant* CreateConstantFromClassBytes(ClassBytes* bytes);
   llvm::Constant* CreateConstantFromJavaConstantPool(JavaConstantPool* ctp);
-  llvm::Constant* CreateConstantFromClassMap(const mvm::MvmDenseMap<const UTF8*, CommonClass*>& map);
-  llvm::Constant* CreateConstantFromUTF8Map(const mvm::MvmDenseSet<mvm::UTF8MapKey, const UTF8*>& set);
+  llvm::Constant* CreateConstantFromClassMap(const mvm::VmkitDenseMap<const UTF8*, CommonClass*>& map);
+  llvm::Constant* CreateConstantFromUTF8Map(const mvm::VmkitDenseSet<mvm::UTF8MapKey, const UTF8*>& set);
   void AddInitializerToClass(llvm::GlobalVariable* varGV, CommonClass* classDef);
   llvm::Constant* getUTF8(const UTF8* val);
   

Removed: vmkit/trunk/include/vmkit/MvmDenseMap.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/vmkit/MvmDenseMap.h?rev=145033&view=auto
==============================================================================
--- vmkit/trunk/include/vmkit/MvmDenseMap.h (original)
+++ vmkit/trunk/include/vmkit/MvmDenseMap.h (removed)
@@ -1,512 +0,0 @@
-//===- MvmDenseMap.h - Dense probed hash table ------------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file defines the MvmDenseMap copied from llvm/ADT/DenseMap.h, but
-// without storing pairs.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef VMKIT_DENSEMAP_H
-#define VMKIT_DENSEMAP_H
-
-#include "llvm/Support/MathExtras.h"
-#include "llvm/Support/PointerLikeTypeTraits.h"
-#include "llvm/Support/type_traits.h"
-#include <algorithm>
-#include <iterator>
-#include <new>
-#include <utility>
-#include <cassert>
-#include <cstddef>
-#include <cstring>
-
-namespace mvm {
-
-template<typename T>
-struct MvmDenseMapInfo {
-  //static inline T getEmptyKey();
-  //static inline T getTombstoneKey();
-  //static unsigned getHashValue(const T &Val);
-  //static bool isEqual(const T &LHS, const T &RHS);
-};
-
-template<typename KeyT, typename ValueT,
-         typename KeyInfoT = MvmDenseMapInfo<KeyT>,
-         bool IsConst = false>
-class MvmDenseMapIterator;
-
-template<typename KeyT, typename ValueT>
-struct MvmPair {
-  KeyT first;
-  ValueT second;
-};
-
-template<typename KeyT, typename ValueT,
-         typename KeyInfoT = MvmDenseMapInfo<KeyT> >
-class MvmDenseMap {
-public:
-  typedef MvmPair<KeyT, ValueT> BucketT;
-  uint32_t NumBuckets;
-  BucketT *Buckets;
-
-  uint32_t NumEntries;
-  uint32_t NumTombstones;
-  bool IsPrecompiled;
-
-  typedef KeyT key_type;
-  typedef ValueT mapped_type;
-  typedef BucketT value_type;
-
-  explicit MvmDenseMap(unsigned NumInitBuckets = 0) {
-    IsPrecompiled = false;
-    init(NumInitBuckets);
-  }
-
-  ~MvmDenseMap() {
-    const KeyT EmptyKey = getEmptyKey(), TombstoneKey = getTombstoneKey();
-    for (BucketT *P = Buckets, *E = Buckets+NumBuckets; P != E; ++P) {
-      if (!KeyInfoT::isEqual(P->first, EmptyKey) &&
-          !KeyInfoT::isEqual(P->first, TombstoneKey))
-        P->second.~ValueT();
-      P->first.~KeyT();
-    }
-#ifndef NDEBUG
-    if (NumBuckets)
-      memset((void*)Buckets, 0x5a, sizeof(BucketT)*NumBuckets);
-#endif
-    if (!IsPrecompiled) {
-      operator delete(Buckets);
-    }
-  }
-
-  typedef MvmDenseMapIterator<KeyT, ValueT, KeyInfoT> iterator;
-  typedef MvmDenseMapIterator<KeyT, ValueT, KeyInfoT, true> const_iterator;
-  inline iterator begin() {
-    // When the map is empty, avoid the overhead of AdvancePastEmptyBuckets().
-    return empty() ? end() : iterator(Buckets, Buckets+NumBuckets);
-  }
-  inline iterator end() {
-    return iterator(Buckets+NumBuckets, Buckets+NumBuckets);
-  }
-  inline const_iterator begin() const {
-    return empty() ? end() : const_iterator(Buckets, Buckets+NumBuckets);
-  }
-  inline const_iterator end() const {
-    return const_iterator(Buckets+NumBuckets, Buckets+NumBuckets);
-  }
-
-  bool empty() const { return NumEntries == 0; }
-  unsigned size() const { return NumEntries; }
-
-  /// Grow the densemap so that it has at least Size buckets. Does not shrink
-  void resize(size_t Size) {
-    if (Size > NumBuckets)
-      grow(Size);
-  }
-
-  void clear() {
-    if (NumEntries == 0 && NumTombstones == 0) return;
-    
-    // If the capacity of the array is huge, and the # elements used is small,
-    // shrink the array.
-    if (NumEntries * 4 < NumBuckets && NumBuckets > 64) {
-      shrink_and_clear();
-      return;
-    }
-
-    const KeyT EmptyKey = getEmptyKey(), TombstoneKey = getTombstoneKey();
-    for (BucketT *P = Buckets, *E = Buckets+NumBuckets; P != E; ++P) {
-      if (!KeyInfoT::isEqual(P->first, EmptyKey)) {
-        if (!KeyInfoT::isEqual(P->first, TombstoneKey)) {
-          P->second.~ValueT();
-          --NumEntries;
-        }
-        P->first = EmptyKey;
-      }
-    }
-    assert(NumEntries == 0 && "Node count imbalance!");
-    NumTombstones = 0;
-  }
-
-  /// count - Return true if the specified key is in the map.
-  bool count(const KeyT &Val) const {
-    BucketT *TheBucket;
-    return LookupBucketFor(Val, TheBucket);
-  }
-
-  iterator find(const KeyT &Val) {
-    BucketT *TheBucket;
-    if (LookupBucketFor(Val, TheBucket))
-      return iterator(TheBucket, Buckets+NumBuckets);
-    return end();
-  }
-  const_iterator find(const KeyT &Val) const {
-    BucketT *TheBucket;
-    if (LookupBucketFor(Val, TheBucket))
-      return const_iterator(TheBucket, Buckets+NumBuckets);
-    return end();
-  }
-
-  /// lookup - Return the entry for the specified key, or a default
-  /// constructed value if no such entry exists.
-  ValueT lookup(const KeyT &Val) const {
-    BucketT *TheBucket;
-    if (LookupBucketFor(Val, TheBucket))
-      return TheBucket->second;
-    return ValueT();
-  }
-
-  // Inserts key,value pair into the map if the key isn't already in the map.
-  // If the key is already in the map, it returns false and doesn't update the
-  // value.
-  std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
-    BucketT *TheBucket;
-    if (LookupBucketFor(KV.first, TheBucket))
-      return std::make_pair(iterator(TheBucket, Buckets+NumBuckets),
-                            false); // Already in map.
-
-    // Otherwise, insert the new element.
-    TheBucket = InsertIntoBucket(KV.first, KV.second, TheBucket);
-    return std::make_pair(iterator(TheBucket, Buckets+NumBuckets),
-                          true);
-  }
-
-  /// insert - Range insertion of pairs.
-  template<typename InputIt>
-  void insert(InputIt I, InputIt E) {
-    for (; I != E; ++I)
-      insert(*I);
-  }
-
-
-  bool erase(const KeyT &Val) {
-    BucketT *TheBucket;
-    if (!LookupBucketFor(Val, TheBucket))
-      return false; // not in map.
-
-    TheBucket->second.~ValueT();
-    TheBucket->first = getTombstoneKey();
-    --NumEntries;
-    ++NumTombstones;
-    return true;
-  }
-  void erase(iterator I) {
-    BucketT *TheBucket = &*I;
-    TheBucket->second.~ValueT();
-    TheBucket->first = getTombstoneKey();
-    --NumEntries;
-    ++NumTombstones;
-  }
-
-  void swap(MvmDenseMap& RHS) {
-    std::swap(NumBuckets, RHS.NumBuckets);
-    std::swap(Buckets, RHS.Buckets);
-    std::swap(NumEntries, RHS.NumEntries);
-    std::swap(NumTombstones, RHS.NumTombstones);
-  }
-
-  value_type& FindAndConstruct(const KeyT &Key) {
-    BucketT *TheBucket;
-    if (LookupBucketFor(Key, TheBucket))
-      return *TheBucket;
-
-    return *InsertIntoBucket(Key, ValueT(), TheBucket);
-  }
-
-  ValueT &operator[](const KeyT &Key) {
-    return FindAndConstruct(Key).second;
-  }
-
-  /// isPointerIntoBucketsArray - Return true if the specified pointer points
-  /// somewhere into the MvmDenseMap's array of buckets (i.e. either to a key or
-  /// value in the MvmDenseMap).
-  bool isPointerIntoBucketsArray(const void *Ptr) const {
-    return Ptr >= Buckets && Ptr < Buckets+NumBuckets;
-  }
-
-  /// getPointerIntoBucketsArray() - Return an opaque pointer into the buckets
-  /// array.  In conjunction with the previous method, this can be used to
-  /// determine whether an insertion caused the MvmDenseMap to reallocate.
-  const void *getPointerIntoBucketsArray() const { return Buckets; }
-
-private:
-  BucketT *InsertIntoBucket(const KeyT &Key, const ValueT &Value,
-                            BucketT *TheBucket) {
-    // If the load of the hash table is more than 3/4, or if fewer than 1/8 of
-    // the buckets are empty (meaning that many are filled with tombstones),
-    // grow the table.
-    //
-    // The later case is tricky.  For example, if we had one empty bucket with
-    // tons of tombstones, failing lookups (e.g. for insertion) would have to
-    // probe almost the entire table until it found the empty bucket.  If the
-    // table completely filled with tombstones, no lookup would ever succeed,
-    // causing infinite loops in lookup.
-    ++NumEntries;
-    if (NumEntries*4 >= NumBuckets*3) {
-      this->grow(NumBuckets * 2);
-      LookupBucketFor(Key, TheBucket);
-    }
-    if (NumBuckets-(NumEntries+NumTombstones) < NumBuckets/8) {
-      this->grow(NumBuckets);
-      LookupBucketFor(Key, TheBucket);
-    }
-
-    // If we are writing over a tombstone, remember this.
-    if (!KeyInfoT::isEqual(TheBucket->first, getEmptyKey()))
-      --NumTombstones;
-
-    TheBucket->first = Key;
-    new (&TheBucket->second) ValueT(Value);
-    return TheBucket;
-  }
-
-  static unsigned getHashValue(const KeyT &Val) {
-    return KeyInfoT::getHashValue(Val);
-  }
-  static const KeyT getEmptyKey() {
-    return KeyInfoT::getEmptyKey();
-  }
-  static const KeyT getTombstoneKey() {
-    return KeyInfoT::getTombstoneKey();
-  }
-
-  /// LookupBucketFor - Lookup the appropriate bucket for Val, returning it in
-  /// FoundBucket.  If the bucket contains the key and a value, this returns
-  /// true, otherwise it returns a bucket with an empty marker or tombstone and
-  /// returns false.
-  bool LookupBucketFor(const KeyT &Val, BucketT *&FoundBucket) const {
-    unsigned BucketNo = getHashValue(Val);
-    unsigned ProbeAmt = 1;
-    BucketT *BucketsPtr = Buckets;
-
-    if (NumBuckets == 0) {
-      FoundBucket = 0;
-      return false;
-    }
-
-    // FoundTombstone - Keep track of whether we find a tombstone while probing.
-    BucketT *FoundTombstone = 0;
-    const KeyT EmptyKey = getEmptyKey();
-    const KeyT TombstoneKey = getTombstoneKey();
-    assert(!KeyInfoT::isEqual(Val, EmptyKey) &&
-           !KeyInfoT::isEqual(Val, TombstoneKey) &&
-           "Empty/Tombstone value shouldn't be inserted into map!");
-
-    while (1) {
-      BucketT *ThisBucket = BucketsPtr + (BucketNo & (NumBuckets-1));
-      // Found Val's bucket?  If so, return it.
-      if (KeyInfoT::isEqual(ThisBucket->first, Val)) {
-        FoundBucket = ThisBucket;
-        return true;
-      }
-
-      // If we found an empty bucket, the key doesn't exist in the set.
-      // Insert it and return the default value.
-      if (KeyInfoT::isEqual(ThisBucket->first, EmptyKey)) {
-        // If we've already seen a tombstone while probing, fill it in instead
-        // of the empty bucket we eventually probed to.
-        if (FoundTombstone) ThisBucket = FoundTombstone;
-        FoundBucket = FoundTombstone ? FoundTombstone : ThisBucket;
-        return false;
-      }
-
-      // If this is a tombstone, remember it.  If Val ends up not in the map, we
-      // prefer to return it than something that would require more probing.
-      if (KeyInfoT::isEqual(ThisBucket->first, TombstoneKey) && !FoundTombstone)
-        FoundTombstone = ThisBucket;  // Remember the first tombstone found.
-
-      // Otherwise, it's a hash collision or a tombstone, continue quadratic
-      // probing.
-      BucketNo += ProbeAmt++;
-    }
-  }
-
-  void init(unsigned InitBuckets) {
-    NumEntries = 0;
-    NumTombstones = 0;
-    NumBuckets = InitBuckets;
-
-    if (InitBuckets == 0) {
-      Buckets = 0;
-      return;
-    }
-
-    assert(InitBuckets && (InitBuckets & (InitBuckets-1)) == 0 &&
-           "# initial buckets must be a power of two!");
-    Buckets = static_cast<BucketT*>(operator new(sizeof(BucketT)*InitBuckets));
-    // Initialize all the keys to EmptyKey.
-    const KeyT EmptyKey = getEmptyKey();
-    for (unsigned i = 0; i != InitBuckets; ++i)
-      new (&Buckets[i].first) KeyT(EmptyKey);
-  }
-
-  void grow(unsigned AtLeast) {
-    unsigned OldNumBuckets = NumBuckets;
-    BucketT *OldBuckets = Buckets;
-
-    if (NumBuckets < 64)
-      NumBuckets = 64;
-
-    // Double the number of buckets.
-    while (NumBuckets < AtLeast)
-      NumBuckets <<= 1;
-    NumTombstones = 0;
-    Buckets = static_cast<BucketT*>(operator new(sizeof(BucketT)*NumBuckets));
-
-    // Initialize all the keys to EmptyKey.
-    const KeyT EmptyKey = getEmptyKey();
-    for (unsigned i = 0, e = NumBuckets; i != e; ++i)
-      new (&Buckets[i].first) KeyT(EmptyKey);
-
-    // Insert all the old elements.
-    const KeyT TombstoneKey = getTombstoneKey();
-    for (BucketT *B = OldBuckets, *E = OldBuckets+OldNumBuckets; B != E; ++B) {
-      if (!KeyInfoT::isEqual(B->first, EmptyKey) &&
-          !KeyInfoT::isEqual(B->first, TombstoneKey)) {
-        // Insert the key/value into the new table.
-        BucketT *DestBucket;
-        bool FoundVal = LookupBucketFor(B->first, DestBucket);
-        (void)FoundVal; // silence warning.
-        assert(!FoundVal && "Key already in new map?");
-        DestBucket->first = B->first;
-        new (&DestBucket->second) ValueT(B->second);
-
-        // Free the value.
-        B->second.~ValueT();
-      }
-      B->first.~KeyT();
-    }
-
-#ifndef NDEBUG
-    if (OldNumBuckets)
-      memset((void*)OldBuckets, 0x5a, sizeof(BucketT)*OldNumBuckets);
-#endif
-    // Free the old table.
-    if (!IsPrecompiled) {
-      operator delete(OldBuckets);
-    } else {
-      IsPrecompiled = false;
-    }
-  }
-
-  void shrink_and_clear() {
-    unsigned OldNumBuckets = NumBuckets;
-    BucketT *OldBuckets = Buckets;
-
-    // Reduce the number of buckets.
-    NumBuckets = NumEntries > 32 ? 1 << (llvm::Log2_32_Ceil(NumEntries) + 1)
-                                 : 64;
-    NumTombstones = 0;
-    Buckets = static_cast<BucketT*>(operator new(sizeof(BucketT)*NumBuckets));
-
-    // Initialize all the keys to EmptyKey.
-    const KeyT EmptyKey = getEmptyKey();
-    for (unsigned i = 0, e = NumBuckets; i != e; ++i)
-      new (&Buckets[i].first) KeyT(EmptyKey);
-
-    // Free the old buckets.
-    const KeyT TombstoneKey = getTombstoneKey();
-    for (BucketT *B = OldBuckets, *E = OldBuckets+OldNumBuckets; B != E; ++B) {
-      if (!KeyInfoT::isEqual(B->first, EmptyKey) &&
-          !KeyInfoT::isEqual(B->first, TombstoneKey)) {
-        // Free the value.
-        B->second.~ValueT();
-      }
-      B->first.~KeyT();
-    }
-
-#ifndef NDEBUG
-    memset((void*)OldBuckets, 0x5a, sizeof(BucketT)*OldNumBuckets);
-#endif
-    if (!IsPrecompiled) {
-      // Free the old table.
-      operator delete(OldBuckets);
-    } else {
-      IsPrecompiled = false;
-    }
-
-    NumEntries = 0;
-  }
-  
-public:
-  /// Return the approximate size (in bytes) of the actual map.
-  /// This is just the raw memory used by MvmDenseMap.
-  /// If entries are pointers to objects, the size of the referenced objects
-  /// are not included.
-  size_t getMemorySize() const {
-    return NumBuckets * sizeof(BucketT);
-  }
-};
-
-template<typename KeyT, typename ValueT,
-         typename KeyInfoT, bool IsConst>
-class MvmDenseMapIterator {
-  typedef MvmPair<KeyT, ValueT> Bucket;
-  typedef MvmDenseMapIterator<KeyT, ValueT, KeyInfoT, true> ConstIterator;
-  friend class MvmDenseMapIterator<KeyT, ValueT, KeyInfoT, true>;
-public:
-  typedef ptrdiff_t difference_type;
-  typedef typename llvm::conditional<IsConst, const Bucket, Bucket>::type value_type;
-  typedef value_type *pointer;
-  typedef value_type &reference;
-  typedef std::forward_iterator_tag iterator_category;
-private:
-  pointer Ptr, End;
-public:
-  MvmDenseMapIterator() : Ptr(0), End(0) {}
-
-  MvmDenseMapIterator(pointer Pos, pointer E) : Ptr(Pos), End(E) {
-    AdvancePastEmptyBuckets();
-  }
-
-  // If IsConst is true this is a converting constructor from iterator to
-  // const_iterator and the default copy constructor is used.
-  // Otherwise this is a copy constructor for iterator.
-  MvmDenseMapIterator(const MvmDenseMapIterator<KeyT, ValueT,
-                                          KeyInfoT, false>& I)
-    : Ptr(I.Ptr), End(I.End) {}
-
-  reference operator*() const {
-    return *Ptr;
-  }
-  pointer operator->() const {
-    return Ptr;
-  }
-
-  bool operator==(const ConstIterator &RHS) const {
-    return Ptr == RHS.operator->();
-  }
-  bool operator!=(const ConstIterator &RHS) const {
-    return Ptr != RHS.operator->();
-  }
-
-  inline MvmDenseMapIterator& operator++() {  // Preincrement
-    ++Ptr;
-    AdvancePastEmptyBuckets();
-    return *this;
-  }
-  MvmDenseMapIterator operator++(int) {  // Postincrement
-    MvmDenseMapIterator tmp = *this; ++*this; return tmp;
-  }
-
-private:
-  void AdvancePastEmptyBuckets() {
-    const KeyT Empty = KeyInfoT::getEmptyKey();
-    const KeyT Tombstone = KeyInfoT::getTombstoneKey();
-
-    while (Ptr != End &&
-           (KeyInfoT::isEqual(Ptr->first, Empty) ||
-            KeyInfoT::isEqual(Ptr->first, Tombstone)))
-      ++Ptr;
-  }
-};
-
-} // end namespace j3
-
-#endif

Removed: vmkit/trunk/include/vmkit/MvmDenseSet.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/vmkit/MvmDenseSet.h?rev=145033&view=auto
==============================================================================
--- vmkit/trunk/include/vmkit/MvmDenseSet.h (original)
+++ vmkit/trunk/include/vmkit/MvmDenseSet.h (removed)
@@ -1,491 +0,0 @@
-//===- MvmDenseSet.h - Dense probed hash set --------------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file defines the MvmDenseSet class copied from llvm/ADT/DenseMap.h, but
-// without storing pairs.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef VMKIT_DENSESET_H
-#define VMKIT_DENSESET_H
-
-#include "llvm/ADT/DenseMapInfo.h"
-#include "llvm/Support/MathExtras.h"
-#include "llvm/Support/PointerLikeTypeTraits.h"
-#include "llvm/Support/type_traits.h"
-#include <algorithm>
-#include <iterator>
-#include <new>
-#include <utility>
-#include <cassert>
-#include <cstddef>
-#include <cstring>
-
-namespace mvm {
-
-template<typename ValueT,
-         typename ValueInfoT = MvmDenseMapInfo<ValueT>,
-         bool IsConst = false>
-class MvmDenseSetIterator;
-
-template<typename KeyT, typename ValueT,
-         typename KeyInfoT = MvmDenseMapInfo<KeyT>,
-         typename ValueInfoT = MvmDenseMapInfo<ValueT> >
-class MvmDenseSet {
-public:
-  typedef ValueT BucketT;
-  uint32_t NumBuckets;
-  BucketT *Buckets;
-
-  uint32_t NumEntries;
-  uint32_t NumTombstones;
-  bool IsPrecompiled;
-
-  typedef KeyT key_type;
-  typedef ValueT mapped_type;
-  typedef BucketT value_type;
-
-  explicit MvmDenseSet(unsigned NumInitBuckets = 0) {
-    IsPrecompiled = false;
-    init(NumInitBuckets);
-  }
-
-  ~MvmDenseSet() {
-    const ValueT EmptyValue = getEmptyValue(), TombstoneValue = getTombstoneValue();
-    for (BucketT *P = Buckets, *E = Buckets+NumBuckets; P != E; ++P) {
-      if (!ValueInfoT::isEqual(*P, EmptyValue) &&
-          !ValueInfoT::isEqual(*P, TombstoneValue))
-        (*P).~ValueT();
-    }
-#ifndef NDEBUG
-    if (NumBuckets)
-      memset((void*)Buckets, 0x5a, sizeof(BucketT)*NumBuckets);
-#endif
-    if (!IsPrecompiled) {
-      operator delete(Buckets);
-    }
-  }
-
-  typedef MvmDenseSetIterator<ValueT, ValueInfoT> iterator;
-  typedef MvmDenseSetIterator<ValueT, ValueInfoT, true> const_iterator;
-  inline iterator begin() {
-    // When the map is empty, avoid the overhead of AdvancePastEmptyBuckets().
-    return empty() ? end() : iterator(Buckets, Buckets+NumBuckets);
-  }
-  inline iterator end() {
-    return iterator(Buckets+NumBuckets, Buckets+NumBuckets);
-  }
-  inline const_iterator begin() const {
-    return empty() ? end() : const_iterator(Buckets, Buckets+NumBuckets);
-  }
-  inline const_iterator end() const {
-    return const_iterator(Buckets+NumBuckets, Buckets+NumBuckets);
-  }
-
-  bool empty() const { return NumEntries == 0; }
-  unsigned size() const { return NumEntries; }
-
-  /// Grow the denseset so that it has at least Size buckets. Does not shrink
-  void resize(size_t Size) {
-    if (Size > NumBuckets)
-      grow(Size);
-  }
-
-  void clear() {
-    if (NumEntries == 0 && NumTombstones == 0) return;
-    
-    // If the capacity of the array is huge, and the # elements used is small,
-    // shrink the array.
-    if (NumEntries * 4 < NumBuckets && NumBuckets > 64) {
-      shrink_and_clear();
-      return;
-    }
-
-    const ValueT EmptyValue = getEmptyValue(), TombstoneValue = getTombstoneValue();
-    for (BucketT *P = Buckets, *E = Buckets+NumBuckets; P != E; ++P) {
-      if (!ValueInfoT::isEqual(*P, EmptyValue)) {
-        if (!ValueInfoT::isEqual(*P, TombstoneValue)) {
-          P->~ValueT();
-          --NumEntries;
-        }
-        *P = EmptyValue;
-      }
-    }
-    assert(NumEntries == 0 && "Node count imbalance!");
-    NumTombstones = 0;
-  }
-
-  /// count - Return true if the specified key is in the set.
-  bool count(const KeyT &Val) const {
-    BucketT *TheBucket;
-    return LookupBucketFor(Val, TheBucket);
-  }
-
-  iterator find(const KeyT &Val) {
-    BucketT *TheBucket;
-    if (LookupBucketFor(Val, TheBucket))
-      return iterator(TheBucket, Buckets+NumBuckets);
-    return end();
-  }
-  const_iterator find(const KeyT &Val) const {
-    BucketT *TheBucket;
-    if (LookupBucketFor(Val, TheBucket))
-      return const_iterator(TheBucket, Buckets+NumBuckets);
-    return end();
-  }
-
-  /// lookup - Return the entry for the specified key, or a default
-  /// constructed value if no such entry exists.
-  ValueT lookup(const KeyT &Val) const {
-    BucketT *TheBucket;
-    if (LookupBucketFor(Val, TheBucket))
-      return *TheBucket;
-    return ValueT();
-  }
-
-  // Inserts key,value pair into the map if the key isn't already in the map.
-  // If the key is already in the map, it returns false and doesn't update the
-  // value.
-  std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
-    BucketT *TheBucket;
-    if (LookupBucketFor(KV.first, TheBucket))
-      return std::make_pair(iterator(TheBucket, Buckets+NumBuckets),
-                            false); // Already in map.
-
-    // Otherwise, insert the new element.
-    TheBucket = InsertIntoBucket(KV.first, KV.second, TheBucket);
-    return std::make_pair(iterator(TheBucket, Buckets+NumBuckets),
-                          true);
-  }
-
-  /// insert - Range insertion of pairs.
-  template<typename InputIt>
-  void insert(InputIt I, InputIt E) {
-    for (; I != E; ++I)
-      insert(*I);
-  }
-
-
-  bool erase(const KeyT &Val) {
-    BucketT *TheBucket;
-    if (!LookupBucketFor(Val, TheBucket))
-      return false; // not in map.
-
-    (*TheBucket).~ValueT();
-    *TheBucket = getTombstoneValue();
-    --NumEntries;
-    ++NumTombstones;
-    return true;
-  }
-  void erase(iterator I) {
-    BucketT *TheBucket = &*I;
-    (*TheBucket).~ValueT();
-    *TheBucket = getTombstoneValue();
-    --NumEntries;
-    ++NumTombstones;
-  }
-
-  void swap(MvmDenseSet& RHS) {
-    std::swap(NumBuckets, RHS.NumBuckets);
-    std::swap(Buckets, RHS.Buckets);
-    std::swap(NumEntries, RHS.NumEntries);
-    std::swap(NumTombstones, RHS.NumTombstones);
-  }
-
-  value_type& FindAndConstruct(const KeyT &Key) {
-    BucketT *TheBucket;
-    if (LookupBucketFor(Key, TheBucket))
-      return *TheBucket;
-
-    return *InsertIntoBucket(Key, ValueT(), TheBucket);
-  }
-
-  ValueT &operator[](const KeyT &Key) {
-    return FindAndConstruct(Key);
-  }
-
-  /// isPointerIntoBucketsArray - Return true if the specified pointer points
-  /// somewhere into the MvmDenseSet's array of buckets.
-  bool isPointerIntoBucketsArray(const void *Ptr) const {
-    return Ptr >= Buckets && Ptr < Buckets+NumBuckets;
-  }
-
-  /// getPointerIntoBucketsArray() - Return an opaque pointer into the buckets
-  /// array.  In conjunction with the previous method, this can be used to
-  /// determine whether an insertion caused the MvmDenseSet to reallocate.
-  const void *getPointerIntoBucketsArray() const { return Buckets; }
-
-private:
-  BucketT *InsertIntoBucket(const KeyT &Key, const ValueT &Value,
-                            BucketT *TheBucket) {
-    // If the load of the hash table is more than 3/4, or if fewer than 1/8 of
-    // the buckets are empty (meaning that many are filled with tombstones),
-    // grow the table.
-    //
-    // The later case is tricky.  For example, if we had one empty bucket with
-    // tons of tombstones, failing lookups (e.g. for insertion) would have to
-    // probe almost the entire table until it found the empty bucket.  If the
-    // table completely filled with tombstones, no lookup would ever succeed,
-    // causing infinite loops in lookup.
-    ++NumEntries;
-    if (NumEntries*4 >= NumBuckets*3) {
-      this->grow(NumBuckets * 2);
-      LookupBucketFor(Key, TheBucket);
-    }
-    if (NumBuckets-(NumEntries+NumTombstones) < NumBuckets/8) {
-      this->grow(NumBuckets);
-      LookupBucketFor(Key, TheBucket);
-    }
-
-    // If we are writing over a tombstone, remember this.
-    if (!ValueInfoT::isEqual(*TheBucket, getEmptyValue()))
-      --NumTombstones;
-
-    new (TheBucket) ValueT(Value);
-    return TheBucket;
-  }
-
-  static unsigned getHashValue(const KeyT &Val) {
-    return KeyInfoT::getHashValue(Val);
-  }
-  static const ValueT getEmptyValue() {
-    return ValueInfoT::getEmptyKey();
-  }
-  static const ValueT getTombstoneValue() {
-    return ValueInfoT::getTombstoneKey();
-  }
-
-  /// LookupBucketFor - Lookup the appropriate bucket for Val, returning it in
-  /// FoundBucket.  If the bucket contains the key and a value, this returns
-  /// true, otherwise it returns a bucket with an empty marker or tombstone and
-  /// returns false.
-  bool LookupBucketFor(const KeyT &Key, BucketT *&FoundBucket) const {
-    unsigned BucketNo = getHashValue(Key);
-    unsigned ProbeAmt = 1;
-    BucketT *BucketsPtr = Buckets;
-
-    if (NumBuckets == 0) {
-      FoundBucket = 0;
-      return false;
-    }
-
-    // FoundTombstone - Keep track of whether we find a tombstone while probing.
-    BucketT *FoundTombstone = 0;
-    const ValueT EmptyValue = getEmptyValue();
-    const ValueT TombstoneValue = getTombstoneValue();
-
-    while (1) {
-      BucketT *ThisBucket = BucketsPtr + (BucketNo & (NumBuckets-1));
-      // Found Val's bucket?  If so, return it.
-      if (ValueInfoT::isEqualKey(*ThisBucket, Key)) {
-        FoundBucket = ThisBucket;
-        return true;
-      }
-
-      // If we found an empty bucket, the key doesn't exist in the set.
-      // Insert it and return the default value.
-      if (ValueInfoT::isEqual(*ThisBucket, EmptyValue)) {
-        // If we've already seen a tombstone while probing, fill it in instead
-        // of the empty bucket we eventually probed to.
-        if (FoundTombstone) ThisBucket = FoundTombstone;
-        FoundBucket = FoundTombstone ? FoundTombstone : ThisBucket;
-        return false;
-      }
-
-      // If this is a tombstone, remember it.  If Val ends up not in the map, we
-      // prefer to return it than something that would require more probing.
-      if (ValueInfoT::isEqual(*ThisBucket, TombstoneValue) && !FoundTombstone)
-        FoundTombstone = ThisBucket;  // Remember the first tombstone found.
-
-      // Otherwise, it's a hash collision or a tombstone, continue quadratic
-      // probing.
-      BucketNo += ProbeAmt++;
-    }
-  }
-
-  void init(unsigned InitBuckets) {
-    NumEntries = 0;
-    NumTombstones = 0;
-    NumBuckets = InitBuckets;
-
-    if (InitBuckets == 0) {
-      Buckets = 0;
-      return;
-    }
-
-    assert(InitBuckets && (InitBuckets & (InitBuckets-1)) == 0 &&
-           "# initial buckets must be a power of two!");
-    Buckets = static_cast<BucketT*>(operator new(sizeof(BucketT)*InitBuckets));
-    // Initialize all the entries to EmptyValue.
-    const ValueT EmptyValue = getEmptyValue();
-    for (unsigned i = 0; i != InitBuckets; ++i)
-      new (&Buckets[i]) ValueT(EmptyValue);
-  }
-
-  void grow(unsigned AtLeast) {
-    unsigned OldNumBuckets = NumBuckets;
-    BucketT *OldBuckets = Buckets;
-
-    if (NumBuckets < 64)
-      NumBuckets = 64;
-
-    // Double the number of buckets.
-    while (NumBuckets < AtLeast)
-      NumBuckets <<= 1;
-    NumTombstones = 0;
-    Buckets = static_cast<BucketT*>(operator new(sizeof(BucketT)*NumBuckets));
-
-    // Initialize all the values to EmptyValue.
-    const ValueT EmptyValue = getEmptyValue();
-    for (unsigned i = 0, e = NumBuckets; i != e; ++i)
-      new (&Buckets[i]) ValueT(EmptyValue);
-
-    // Insert all the old elements.
-    const ValueT TombstoneValue = getTombstoneValue();
-    for (BucketT *B = OldBuckets, *E = OldBuckets+OldNumBuckets; B != E; ++B) {
-      if (!ValueInfoT::isEqual(*B, EmptyValue) &&
-          !ValueInfoT::isEqual(*B, TombstoneValue)) {
-        // Insert the value into the new table.
-        BucketT *DestBucket;
-        KeyT key = ValueInfoT::toKey(*B);
-        bool FoundVal = LookupBucketFor(key, DestBucket);
-        (void)FoundVal; // silence warning.
-        assert(!FoundVal && "Key already in new map?");
-        new (DestBucket) ValueT(*B);
-
-        // Free the value.
-        (*B).~ValueT();
-      }
-    }
-
-#ifndef NDEBUG
-    if (OldNumBuckets)
-      memset((void*)OldBuckets, 0x5a, sizeof(BucketT)*OldNumBuckets);
-#endif
-    // Free the old table.
-    if (!IsPrecompiled) {
-      operator delete(OldBuckets);
-    } else {
-      IsPrecompiled = false;
-    }
-  }
-
-  void shrink_and_clear() {
-    unsigned OldNumBuckets = NumBuckets;
-    BucketT *OldBuckets = Buckets;
-
-    // Reduce the number of buckets.
-    NumBuckets = NumEntries > 32 ? 1 << (llvm::Log2_32_Ceil(NumEntries) + 1)
-                                 : 64;
-    NumTombstones = 0;
-    Buckets = static_cast<BucketT*>(operator new(sizeof(BucketT)*NumBuckets));
-
-    // Initialize all the entries to EmptyValue.
-    const ValueT EmptyValue = getEmptyValue();
-    for (unsigned i = 0, e = NumBuckets; i != e; ++i)
-      new (&Buckets[i]) ValueT(EmptyValue);
-
-    // Free the old buckets.
-    const ValueT TombstoneValue = getTombstoneValue();
-    for (BucketT *B = OldBuckets, *E = OldBuckets+OldNumBuckets; B != E; ++B) {
-      if (!ValueInfoT::isEqual(*B, EmptyValue) &&
-          !ValueInfoT::isEqual(*B, TombstoneValue)) {
-        // Free the value.
-        (*B).~ValueT();
-      }
-    }
-
-#ifndef NDEBUG
-    memset((void*)OldBuckets, 0x5a, sizeof(BucketT)*OldNumBuckets);
-#endif
-    if (!IsPrecompiled) {
-      // Free the old table.
-      operator delete(OldBuckets);
-    } else {
-      IsPrecompiled = false;
-    }
-
-    NumEntries = 0;
-  }
-  
-public:
-  /// Return the approximate size (in bytes) of the actual map.
-  /// This is just the raw memory used by MvmDenseSet.
-  /// If entries are pointers to objects, the size of the referenced objects
-  /// are not included.
-  size_t getMemorySize() const {
-    return NumBuckets * sizeof(BucketT);
-  }
-};
-
-template<typename ValueT,
-         typename ValueInfoT, bool IsConst>
-class MvmDenseSetIterator {
-  typedef ValueT Bucket;
-  typedef MvmDenseSetIterator<ValueT, ValueInfoT, true> ConstIterator;
-  friend class MvmDenseSetIterator<ValueT, ValueInfoT, true>;
-public:
-  typedef ptrdiff_t difference_type;
-  typedef typename llvm::conditional<IsConst, const Bucket, Bucket>::type value_type;
-  typedef value_type *pointer;
-  typedef value_type &reference;
-  typedef std::forward_iterator_tag iterator_category;
-private:
-  pointer Ptr, End;
-public:
-  MvmDenseSetIterator() : Ptr(0), End(0) {}
-
-  MvmDenseSetIterator(pointer Pos, pointer E) : Ptr(Pos), End(E) {
-    AdvancePastEmptyBuckets();
-  }
-
-  // If IsConst is true this is a converting constructor from iterator to
-  // const_iterator and the default copy constructor is used.
-  // Otherwise this is a copy constructor for iterator.
-  MvmDenseSetIterator(const MvmDenseSetIterator<ValueT, ValueInfoT, false>& I)
-    : Ptr(I.Ptr), End(I.End) {}
-
-  reference operator*() const {
-    return *Ptr;
-  }
-  pointer operator->() const {
-    return Ptr;
-  }
-
-  bool operator==(const ConstIterator &RHS) const {
-    return Ptr == RHS.operator->();
-  }
-  bool operator!=(const ConstIterator &RHS) const {
-    return Ptr != RHS.operator->();
-  }
-
-  inline MvmDenseSetIterator& operator++() {  // Preincrement
-    ++Ptr;
-    AdvancePastEmptyBuckets();
-    return *this;
-  }
-  MvmDenseSetIterator operator++(int) {  // Postincrement
-    MvmDenseSetIterator tmp = *this; ++*this; return tmp;
-  }
-
-private:
-  void AdvancePastEmptyBuckets() {
-    const ValueT Empty = ValueInfoT::getEmptyKey();
-    const ValueT Tombstone = ValueInfoT::getTombstoneKey();
-
-    while (Ptr != End &&
-           (ValueInfoT::isEqual(*Ptr, Empty) ||
-            ValueInfoT::isEqual(*Ptr, Tombstone)))
-      ++Ptr;
-  }
-};
-
-} // end namespace mvm
-
-#endif

Modified: vmkit/trunk/include/vmkit/System.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/vmkit/System.h?rev=145034&r1=145033&r2=145034&view=diff
==============================================================================
--- vmkit/trunk/include/vmkit/System.h (original)
+++ vmkit/trunk/include/vmkit/System.h Mon Nov 21 04:39:23 2011
@@ -64,11 +64,11 @@
 #if ARCH_X64
 const word_t kThreadStart   = 0x0000000110000000LL;
 const word_t kThreadIDMask  = 0xFFFFFFFFFFF00000LL;
-const word_t kMvmThreadMask = 0xFFFFFFFFF0000000LL;
+const word_t kVmkitThreadMask = 0xFFFFFFFFF0000000LL;
 #else
 const word_t kThreadStart   = 0x10000000;
 const word_t kThreadIDMask  = 0x7FF00000;
-const word_t kMvmThreadMask = 0xF0000000;
+const word_t kVmkitThreadMask = 0xF0000000;
 #endif
 
 #if MACOS_OS
@@ -135,8 +135,8 @@
   }
 
   // Apply this mask to verify that the current thread was created by Mvm.
-  static word_t GetMvmThreadMask() {
-    return kMvmThreadMask;
+  static word_t GetVmkitThreadMask() {
+    return kVmkitThreadMask;
   }
 
   // Get the memory start of thread stack addresses.

Modified: vmkit/trunk/include/vmkit/Thread.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/vmkit/Thread.h?rev=145034&r1=145033&r2=145034&view=diff
==============================================================================
--- vmkit/trunk/include/vmkit/Thread.h (original)
+++ vmkit/trunk/include/vmkit/Thread.h Mon Nov 21 04:39:23 2011
@@ -219,9 +219,9 @@
     internalClearException();
   }
 
-  bool isMvmThread() {
+  bool isVmkitThread() {
     if (!baseAddr) return false;
-    else return (((word_t)this) & System::GetMvmThreadMask()) == baseAddr;
+    else return (((word_t)this) & System::GetVmkitThreadMask()) == baseAddr;
   }
 
   /// baseAddr - The base address for all threads.

Modified: vmkit/trunk/include/vmkit/UTF8.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/vmkit/UTF8.h?rev=145034&r1=145033&r2=145034&view=diff
==============================================================================
--- vmkit/trunk/include/vmkit/UTF8.h (original)
+++ vmkit/trunk/include/vmkit/UTF8.h Mon Nov 21 04:39:23 2011
@@ -3,8 +3,8 @@
 
 #include <map>
 #include "vmkit/Allocator.h"
-#include "vmkit/MvmDenseMap.h"
-#include "vmkit/MvmDenseSet.h"
+#include "vmkit/VmkitDenseMap.h"
+#include "vmkit/VmkitDenseSet.h"
 
 namespace mvm {
 
@@ -76,9 +76,9 @@
   }
 };
 
-// Provide MvmDenseMapInfo for UTF8.
+// Provide VmkitDenseMapInfo for UTF8.
 template<>
-struct MvmDenseMapInfo<const UTF8*> {
+struct VmkitDenseMapInfo<const UTF8*> {
   static inline const UTF8* getEmptyKey() {
     return &EmptyKey;
   }
@@ -98,9 +98,9 @@
 };
 
 
-// Provide MvmDenseMapInfo for UTF8MapKey.
+// Provide VmkitDenseMapInfo for UTF8MapKey.
 template<>
-struct MvmDenseMapInfo<UTF8MapKey> {
+struct VmkitDenseMapInfo<UTF8MapKey> {
   static inline const UTF8MapKey getEmptyKey() {
     static UTF8MapKey EmptyKey(NULL, -1);
     return EmptyKey;
@@ -121,11 +121,11 @@
 
 class UTF8Map : public mvm::PermanentObject {
 public:
-  typedef MvmDenseSet<UTF8MapKey, const UTF8*>::iterator iterator;
+  typedef VmkitDenseSet<UTF8MapKey, const UTF8*>::iterator iterator;
   
   LockNormal lock;
   BumpPtrAllocator& allocator;
-  MvmDenseSet<UTF8MapKey, const UTF8*> map;
+  VmkitDenseSet<UTF8MapKey, const UTF8*> map;
 
   const UTF8* lookupOrCreateAsciiz(const char* asciiz); 
   const UTF8* lookupOrCreateReader(const uint16* buf, uint32 size);
@@ -133,7 +133,7 @@
   const UTF8* lookupReader(const uint16* buf, uint32 size);
   
   UTF8Map(BumpPtrAllocator& A) : allocator(A) {}
-  UTF8Map(BumpPtrAllocator& A, MvmDenseSet<UTF8MapKey, const UTF8*>* m)
+  UTF8Map(BumpPtrAllocator& A, VmkitDenseSet<UTF8MapKey, const UTF8*>* m)
       : allocator(A), map(*m) {}
 
   ~UTF8Map() {

Copied: vmkit/trunk/include/vmkit/VmkitDenseMap.h (from r145031, vmkit/trunk/include/vmkit/MvmDenseMap.h)
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/vmkit/VmkitDenseMap.h?p2=vmkit/trunk/include/vmkit/VmkitDenseMap.h&p1=vmkit/trunk/include/vmkit/MvmDenseMap.h&r1=145031&r2=145034&rev=145034&view=diff
==============================================================================
--- vmkit/trunk/include/vmkit/MvmDenseMap.h (original)
+++ vmkit/trunk/include/vmkit/VmkitDenseMap.h Mon Nov 21 04:39:23 2011
@@ -1,4 +1,4 @@
-//===- MvmDenseMap.h - Dense probed hash table ------------------*- C++ -*-===//
+//===- VmkitDenseMap.h - Dense probed hash table ------------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// This file defines the MvmDenseMap copied from llvm/ADT/DenseMap.h, but
+// This file defines the VmkitDenseMap copied from llvm/ADT/DenseMap.h, but
 // without storing pairs.
 //
 //===----------------------------------------------------------------------===//
@@ -29,7 +29,7 @@
 namespace mvm {
 
 template<typename T>
-struct MvmDenseMapInfo {
+struct VmkitDenseMapInfo {
   //static inline T getEmptyKey();
   //static inline T getTombstoneKey();
   //static unsigned getHashValue(const T &Val);
@@ -37,21 +37,21 @@
 };
 
 template<typename KeyT, typename ValueT,
-         typename KeyInfoT = MvmDenseMapInfo<KeyT>,
+         typename KeyInfoT = VmkitDenseMapInfo<KeyT>,
          bool IsConst = false>
-class MvmDenseMapIterator;
+class VmkitDenseMapIterator;
 
 template<typename KeyT, typename ValueT>
-struct MvmPair {
+struct VmkitPair {
   KeyT first;
   ValueT second;
 };
 
 template<typename KeyT, typename ValueT,
-         typename KeyInfoT = MvmDenseMapInfo<KeyT> >
-class MvmDenseMap {
+         typename KeyInfoT = VmkitDenseMapInfo<KeyT> >
+class VmkitDenseMap {
 public:
-  typedef MvmPair<KeyT, ValueT> BucketT;
+  typedef VmkitPair<KeyT, ValueT> BucketT;
   uint32_t NumBuckets;
   BucketT *Buckets;
 
@@ -63,12 +63,12 @@
   typedef ValueT mapped_type;
   typedef BucketT value_type;
 
-  explicit MvmDenseMap(unsigned NumInitBuckets = 0) {
+  explicit VmkitDenseMap(unsigned NumInitBuckets = 0) {
     IsPrecompiled = false;
     init(NumInitBuckets);
   }
 
-  ~MvmDenseMap() {
+  ~VmkitDenseMap() {
     const KeyT EmptyKey = getEmptyKey(), TombstoneKey = getTombstoneKey();
     for (BucketT *P = Buckets, *E = Buckets+NumBuckets; P != E; ++P) {
       if (!KeyInfoT::isEqual(P->first, EmptyKey) &&
@@ -85,8 +85,8 @@
     }
   }
 
-  typedef MvmDenseMapIterator<KeyT, ValueT, KeyInfoT> iterator;
-  typedef MvmDenseMapIterator<KeyT, ValueT, KeyInfoT, true> const_iterator;
+  typedef VmkitDenseMapIterator<KeyT, ValueT, KeyInfoT> iterator;
+  typedef VmkitDenseMapIterator<KeyT, ValueT, KeyInfoT, true> const_iterator;
   inline iterator begin() {
     // When the map is empty, avoid the overhead of AdvancePastEmptyBuckets().
     return empty() ? end() : iterator(Buckets, Buckets+NumBuckets);
@@ -204,7 +204,7 @@
     ++NumTombstones;
   }
 
-  void swap(MvmDenseMap& RHS) {
+  void swap(VmkitDenseMap& RHS) {
     std::swap(NumBuckets, RHS.NumBuckets);
     std::swap(Buckets, RHS.Buckets);
     std::swap(NumEntries, RHS.NumEntries);
@@ -224,15 +224,15 @@
   }
 
   /// isPointerIntoBucketsArray - Return true if the specified pointer points
-  /// somewhere into the MvmDenseMap's array of buckets (i.e. either to a key or
-  /// value in the MvmDenseMap).
+  /// somewhere into the VmkitDenseMap's array of buckets (i.e. either to a key or
+  /// value in the VmkitDenseMap).
   bool isPointerIntoBucketsArray(const void *Ptr) const {
     return Ptr >= Buckets && Ptr < Buckets+NumBuckets;
   }
 
   /// getPointerIntoBucketsArray() - Return an opaque pointer into the buckets
   /// array.  In conjunction with the previous method, this can be used to
-  /// determine whether an insertion caused the MvmDenseMap to reallocate.
+  /// determine whether an insertion caused the VmkitDenseMap to reallocate.
   const void *getPointerIntoBucketsArray() const { return Buckets; }
 
 private:
@@ -436,7 +436,7 @@
   
 public:
   /// Return the approximate size (in bytes) of the actual map.
-  /// This is just the raw memory used by MvmDenseMap.
+  /// This is just the raw memory used by VmkitDenseMap.
   /// If entries are pointers to objects, the size of the referenced objects
   /// are not included.
   size_t getMemorySize() const {
@@ -446,10 +446,10 @@
 
 template<typename KeyT, typename ValueT,
          typename KeyInfoT, bool IsConst>
-class MvmDenseMapIterator {
-  typedef MvmPair<KeyT, ValueT> Bucket;
-  typedef MvmDenseMapIterator<KeyT, ValueT, KeyInfoT, true> ConstIterator;
-  friend class MvmDenseMapIterator<KeyT, ValueT, KeyInfoT, true>;
+class VmkitDenseMapIterator {
+  typedef VmkitPair<KeyT, ValueT> Bucket;
+  typedef VmkitDenseMapIterator<KeyT, ValueT, KeyInfoT, true> ConstIterator;
+  friend class VmkitDenseMapIterator<KeyT, ValueT, KeyInfoT, true>;
 public:
   typedef ptrdiff_t difference_type;
   typedef typename llvm::conditional<IsConst, const Bucket, Bucket>::type value_type;
@@ -459,16 +459,16 @@
 private:
   pointer Ptr, End;
 public:
-  MvmDenseMapIterator() : Ptr(0), End(0) {}
+  VmkitDenseMapIterator() : Ptr(0), End(0) {}
 
-  MvmDenseMapIterator(pointer Pos, pointer E) : Ptr(Pos), End(E) {
+  VmkitDenseMapIterator(pointer Pos, pointer E) : Ptr(Pos), End(E) {
     AdvancePastEmptyBuckets();
   }
 
   // If IsConst is true this is a converting constructor from iterator to
   // const_iterator and the default copy constructor is used.
   // Otherwise this is a copy constructor for iterator.
-  MvmDenseMapIterator(const MvmDenseMapIterator<KeyT, ValueT,
+  VmkitDenseMapIterator(const VmkitDenseMapIterator<KeyT, ValueT,
                                           KeyInfoT, false>& I)
     : Ptr(I.Ptr), End(I.End) {}
 
@@ -486,13 +486,13 @@
     return Ptr != RHS.operator->();
   }
 
-  inline MvmDenseMapIterator& operator++() {  // Preincrement
+  inline VmkitDenseMapIterator& operator++() {  // Preincrement
     ++Ptr;
     AdvancePastEmptyBuckets();
     return *this;
   }
-  MvmDenseMapIterator operator++(int) {  // Postincrement
-    MvmDenseMapIterator tmp = *this; ++*this; return tmp;
+  VmkitDenseMapIterator operator++(int) {  // Postincrement
+    VmkitDenseMapIterator tmp = *this; ++*this; return tmp;
   }
 
 private:

Copied: vmkit/trunk/include/vmkit/VmkitDenseSet.h (from r145031, vmkit/trunk/include/vmkit/MvmDenseSet.h)
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/vmkit/VmkitDenseSet.h?p2=vmkit/trunk/include/vmkit/VmkitDenseSet.h&p1=vmkit/trunk/include/vmkit/MvmDenseSet.h&r1=145031&r2=145034&rev=145034&view=diff
==============================================================================
--- vmkit/trunk/include/vmkit/MvmDenseSet.h (original)
+++ vmkit/trunk/include/vmkit/VmkitDenseSet.h Mon Nov 21 04:39:23 2011
@@ -1,4 +1,4 @@
-//===- MvmDenseSet.h - Dense probed hash set --------------------*- C++ -*-===//
+//===- VmkitDenseSet.h - Dense probed hash set --------------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// This file defines the MvmDenseSet class copied from llvm/ADT/DenseMap.h, but
+// This file defines the VmkitDenseSet class copied from llvm/ADT/DenseMap.h, but
 // without storing pairs.
 //
 //===----------------------------------------------------------------------===//
@@ -30,14 +30,14 @@
 namespace mvm {
 
 template<typename ValueT,
-         typename ValueInfoT = MvmDenseMapInfo<ValueT>,
+         typename ValueInfoT = VmkitDenseMapInfo<ValueT>,
          bool IsConst = false>
-class MvmDenseSetIterator;
+class VmkitDenseSetIterator;
 
 template<typename KeyT, typename ValueT,
-         typename KeyInfoT = MvmDenseMapInfo<KeyT>,
-         typename ValueInfoT = MvmDenseMapInfo<ValueT> >
-class MvmDenseSet {
+         typename KeyInfoT = VmkitDenseMapInfo<KeyT>,
+         typename ValueInfoT = VmkitDenseMapInfo<ValueT> >
+class VmkitDenseSet {
 public:
   typedef ValueT BucketT;
   uint32_t NumBuckets;
@@ -51,12 +51,12 @@
   typedef ValueT mapped_type;
   typedef BucketT value_type;
 
-  explicit MvmDenseSet(unsigned NumInitBuckets = 0) {
+  explicit VmkitDenseSet(unsigned NumInitBuckets = 0) {
     IsPrecompiled = false;
     init(NumInitBuckets);
   }
 
-  ~MvmDenseSet() {
+  ~VmkitDenseSet() {
     const ValueT EmptyValue = getEmptyValue(), TombstoneValue = getTombstoneValue();
     for (BucketT *P = Buckets, *E = Buckets+NumBuckets; P != E; ++P) {
       if (!ValueInfoT::isEqual(*P, EmptyValue) &&
@@ -72,8 +72,8 @@
     }
   }
 
-  typedef MvmDenseSetIterator<ValueT, ValueInfoT> iterator;
-  typedef MvmDenseSetIterator<ValueT, ValueInfoT, true> const_iterator;
+  typedef VmkitDenseSetIterator<ValueT, ValueInfoT> iterator;
+  typedef VmkitDenseSetIterator<ValueT, ValueInfoT, true> const_iterator;
   inline iterator begin() {
     // When the map is empty, avoid the overhead of AdvancePastEmptyBuckets().
     return empty() ? end() : iterator(Buckets, Buckets+NumBuckets);
@@ -191,7 +191,7 @@
     ++NumTombstones;
   }
 
-  void swap(MvmDenseSet& RHS) {
+  void swap(VmkitDenseSet& RHS) {
     std::swap(NumBuckets, RHS.NumBuckets);
     std::swap(Buckets, RHS.Buckets);
     std::swap(NumEntries, RHS.NumEntries);
@@ -211,14 +211,14 @@
   }
 
   /// isPointerIntoBucketsArray - Return true if the specified pointer points
-  /// somewhere into the MvmDenseSet's array of buckets.
+  /// somewhere into the VmkitDenseSet's array of buckets.
   bool isPointerIntoBucketsArray(const void *Ptr) const {
     return Ptr >= Buckets && Ptr < Buckets+NumBuckets;
   }
 
   /// getPointerIntoBucketsArray() - Return an opaque pointer into the buckets
   /// array.  In conjunction with the previous method, this can be used to
-  /// determine whether an insertion caused the MvmDenseSet to reallocate.
+  /// determine whether an insertion caused the VmkitDenseSet to reallocate.
   const void *getPointerIntoBucketsArray() const { return Buckets; }
 
 private:
@@ -416,7 +416,7 @@
   
 public:
   /// Return the approximate size (in bytes) of the actual map.
-  /// This is just the raw memory used by MvmDenseSet.
+  /// This is just the raw memory used by VmkitDenseSet.
   /// If entries are pointers to objects, the size of the referenced objects
   /// are not included.
   size_t getMemorySize() const {
@@ -426,10 +426,10 @@
 
 template<typename ValueT,
          typename ValueInfoT, bool IsConst>
-class MvmDenseSetIterator {
+class VmkitDenseSetIterator {
   typedef ValueT Bucket;
-  typedef MvmDenseSetIterator<ValueT, ValueInfoT, true> ConstIterator;
-  friend class MvmDenseSetIterator<ValueT, ValueInfoT, true>;
+  typedef VmkitDenseSetIterator<ValueT, ValueInfoT, true> ConstIterator;
+  friend class VmkitDenseSetIterator<ValueT, ValueInfoT, true>;
 public:
   typedef ptrdiff_t difference_type;
   typedef typename llvm::conditional<IsConst, const Bucket, Bucket>::type value_type;
@@ -439,16 +439,16 @@
 private:
   pointer Ptr, End;
 public:
-  MvmDenseSetIterator() : Ptr(0), End(0) {}
+  VmkitDenseSetIterator() : Ptr(0), End(0) {}
 
-  MvmDenseSetIterator(pointer Pos, pointer E) : Ptr(Pos), End(E) {
+  VmkitDenseSetIterator(pointer Pos, pointer E) : Ptr(Pos), End(E) {
     AdvancePastEmptyBuckets();
   }
 
   // If IsConst is true this is a converting constructor from iterator to
   // const_iterator and the default copy constructor is used.
   // Otherwise this is a copy constructor for iterator.
-  MvmDenseSetIterator(const MvmDenseSetIterator<ValueT, ValueInfoT, false>& I)
+  VmkitDenseSetIterator(const VmkitDenseSetIterator<ValueT, ValueInfoT, false>& I)
     : Ptr(I.Ptr), End(I.End) {}
 
   reference operator*() const {
@@ -465,13 +465,13 @@
     return Ptr != RHS.operator->();
   }
 
-  inline MvmDenseSetIterator& operator++() {  // Preincrement
+  inline VmkitDenseSetIterator& operator++() {  // Preincrement
     ++Ptr;
     AdvancePastEmptyBuckets();
     return *this;
   }
-  MvmDenseSetIterator operator++(int) {  // Postincrement
-    MvmDenseSetIterator tmp = *this; ++*this; return tmp;
+  VmkitDenseSetIterator operator++(int) {  // Postincrement
+    VmkitDenseSetIterator tmp = *this; ++*this; return tmp;
   }
 
 private:

Modified: vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp?rev=145034&r1=145033&r2=145034&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp Mon Nov 21 04:39:23 2011
@@ -1041,7 +1041,7 @@
   return ConstantStruct::get(STy, ClassElts);
 }
 
-Constant* JavaAOTCompiler::CreateConstantFromClassMap(const mvm::MvmDenseMap<const UTF8*, CommonClass*>& map) {
+Constant* JavaAOTCompiler::CreateConstantFromClassMap(const mvm::VmkitDenseMap<const UTF8*, CommonClass*>& map) {
   StructType* STy = 
     dyn_cast<StructType>(JavaIntrinsics.J3DenseMapType->getContainedType(0));
   Module& Mod = *getLLVMModule();
@@ -1055,7 +1055,7 @@
     ArrayType* ATy = ArrayType::get(JavaIntrinsics.ptrType, map.NumBuckets * 2);
 
     for (uint32 i = 0; i < map.NumBuckets; ++i) {
-      mvm::MvmPair<const UTF8*, CommonClass*> pair = map.Buckets[i];
+      mvm::VmkitPair<const UTF8*, CommonClass*> pair = map.Buckets[i];
       if (pair.first == &mvm::TombstoneKey) {
         TempElts.push_back(ConstantExpr::getCast(Instruction::BitCast, UTF8TombstoneGV, JavaIntrinsics.ptrType));
         TempElts.push_back(Constant::getNullValue(JavaIntrinsics.ptrType));
@@ -1086,7 +1086,7 @@
                             ConstantStruct::get(STy, elements), "ClassMap");
 }
 
-Constant* JavaAOTCompiler::CreateConstantFromUTF8Map(const mvm::MvmDenseSet<mvm::UTF8MapKey, const UTF8*>& set) {
+Constant* JavaAOTCompiler::CreateConstantFromUTF8Map(const mvm::VmkitDenseSet<mvm::UTF8MapKey, const UTF8*>& set) {
   StructType* STy = 
     dyn_cast<StructType>(JavaIntrinsics.J3DenseMapType->getContainedType(0));
   Module& Mod = *getLLVMModule();

Modified: vmkit/trunk/lib/J3/VMCore/LockedMap.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/LockedMap.h?rev=145034&r1=145033&r2=145034&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/LockedMap.h (original)
+++ vmkit/trunk/lib/J3/VMCore/LockedMap.h Mon Nov 21 04:39:23 2011
@@ -24,7 +24,7 @@
 #include "types.h"
 
 #include "vmkit/Allocator.h"
-#include "vmkit/MvmDenseMap.h"
+#include "vmkit/VmkitDenseMap.h"
 #include "vmkit/Locks.h"
 #include "UTF8.h"
 
@@ -111,25 +111,25 @@
 class ClassMap : public mvm::PermanentObject {
 public:
   ClassMap() {}
-  ClassMap(mvm::MvmDenseMap<const mvm::UTF8*, UserCommonClass*>* precompiled) : map(*precompiled) {}
+  ClassMap(mvm::VmkitDenseMap<const mvm::UTF8*, UserCommonClass*>* precompiled) : map(*precompiled) {}
 
   mvm::LockRecursive lock;
-  mvm::MvmDenseMap<const mvm::UTF8*, UserCommonClass*> map;
-  typedef mvm::MvmDenseMap<const mvm::UTF8*, UserCommonClass*>::iterator iterator;
+  mvm::VmkitDenseMap<const mvm::UTF8*, UserCommonClass*> map;
+  typedef mvm::VmkitDenseMap<const mvm::UTF8*, UserCommonClass*>::iterator iterator;
 };
 
 class TypeMap : public mvm::PermanentObject {
 public:
   mvm::LockNormal lock;
-  mvm::MvmDenseMap<const mvm::UTF8*, Typedef*> map;
-  typedef mvm::MvmDenseMap<const mvm::UTF8*, Typedef*>::iterator iterator;
+  mvm::VmkitDenseMap<const mvm::UTF8*, Typedef*> map;
+  typedef mvm::VmkitDenseMap<const mvm::UTF8*, Typedef*>::iterator iterator;
 };
 
 class SignMap : public mvm::PermanentObject {
 public:
   mvm::LockNormal lock;
-  mvm::MvmDenseMap<const mvm::UTF8*, Signdef*> map;
-  typedef mvm::MvmDenseMap<const mvm::UTF8*, Signdef*>::iterator iterator;
+  mvm::VmkitDenseMap<const mvm::UTF8*, Signdef*> map;
+  typedef mvm::VmkitDenseMap<const mvm::UTF8*, Signdef*>::iterator iterator;
 };
 
 } // end namespace j3

Modified: vmkit/trunk/lib/J3/VMCore/Precompiled.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/Precompiled.cpp?rev=145034&r1=145033&r2=145034&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/Precompiled.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/Precompiled.cpp Mon Nov 21 04:39:23 2011
@@ -150,12 +150,12 @@
   upcalls->OfLong->classLoader = loader;
   upcalls->OfDouble->classLoader = loader;
 
-  mvm::MvmDenseSet<mvm::UTF8MapKey, const UTF8*>* precompiledUTF8Map =
-    reinterpret_cast<mvm::MvmDenseSet<mvm::UTF8MapKey, const UTF8*>*>(dlsym(nativeHandle, "UTF8Map"));
+  mvm::VmkitDenseSet<mvm::UTF8MapKey, const UTF8*>* precompiledUTF8Map =
+    reinterpret_cast<mvm::VmkitDenseSet<mvm::UTF8MapKey, const UTF8*>*>(dlsym(nativeHandle, "UTF8Map"));
   loader->hashUTF8 = new (loader->allocator, "UTF8Map") UTF8Map(loader->allocator, precompiledUTF8Map);
   
-  mvm::MvmDenseMap<const UTF8*, CommonClass*>* precompiledClassMap =
-    reinterpret_cast<mvm::MvmDenseMap<const UTF8*, CommonClass*>*>(dlsym(nativeHandle, "ClassMap"));
+  mvm::VmkitDenseMap<const UTF8*, CommonClass*>* precompiledClassMap =
+    reinterpret_cast<mvm::VmkitDenseMap<const UTF8*, CommonClass*>*>(dlsym(nativeHandle, "ClassMap"));
   loader->classes = new (loader->allocator, "ClassMap") ClassMap(precompiledClassMap);
 
   for (ClassMap::iterator i = loader->getClasses()->map.begin(),

Modified: vmkit/trunk/lib/Mvm/CommonThread/ctthread.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/CommonThread/ctthread.cpp?rev=145034&r1=145033&r2=145034&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/CommonThread/ctthread.cpp (original)
+++ vmkit/trunk/lib/Mvm/CommonThread/ctthread.cpp Mon Nov 21 04:39:23 2011
@@ -41,7 +41,7 @@
 
 void Thread::yield(void) {
   Thread* th = mvm::Thread::get();
-  if (th->isMvmThread()) {
+  if (th->isVmkitThread()) {
     if (th->doYield && !th->inRV) {
       th->MyVM->rendezvous.join();
     }
@@ -180,7 +180,7 @@
 }
 
 void Thread::enterUncooperativeCode(uint16_t level) {
-  if (isMvmThread()) {
+  if (isVmkitThread()) {
     if (!inRV) {
       assert(!lastSP && "SP already set when entering uncooperative code");
       // Get the caller.
@@ -197,7 +197,7 @@
 }
 
 void Thread::enterUncooperativeCode(word_t SP) {
-  if (isMvmThread()) {
+  if (isVmkitThread()) {
     if (!inRV) {
       assert(!lastSP && "SP already set when entering uncooperative code");
       // The cas is not necessary, but it does a memory barrier.
@@ -209,7 +209,7 @@
 }
 
 void Thread::leaveUncooperativeCode() {
-  if (isMvmThread()) {
+  if (isVmkitThread()) {
     if (!inRV) {
       assert(lastSP && "No last SP when leaving uncooperative code");
       word_t savedSP = lastSP;





More information about the vmkit-commits mailing list