| Index: src/platform.h | 
| diff --git a/src/platform.h b/src/platform.h | 
| index 8b27c19a65f45d92cb8fdf2f52f0adad14715865..51d5698273f9a089f440342e63132a11ae9964dd 100644 | 
| --- a/src/platform.h | 
| +++ b/src/platform.h | 
| @@ -100,7 +100,7 @@ int random(); | 
|  | 
| #endif  // WIN32 | 
|  | 
| -#include "lazy-instance.h" | 
| +#include "mutex.h" | 
| #include "utils.h" | 
| #include "v8globals.h" | 
|  | 
| @@ -309,10 +309,6 @@ class OS { | 
|  | 
| static int StackWalk(Vector<StackFrame> frames); | 
|  | 
| -  // Factory method for creating platform dependent Mutex. | 
| -  // Please use delete to reclaim the storage for the returned Mutex. | 
| -  static Mutex* CreateMutex(); | 
| - | 
| // Factory method for creating platform dependent Semaphore. | 
| // Please use delete to reclaim the storage for the returned Semaphore. | 
| static Semaphore* CreateSemaphore(int count); | 
| @@ -716,72 +712,6 @@ class Thread { | 
|  | 
|  | 
| // ---------------------------------------------------------------------------- | 
| -// Mutex | 
| -// | 
| -// Mutexes are used for serializing access to non-reentrant sections of code. | 
| -// The implementations of mutex should allow for nested/recursive locking. | 
| - | 
| -class Mutex { | 
| - public: | 
| -  virtual ~Mutex() {} | 
| - | 
| -  // Locks the given mutex. If the mutex is currently unlocked, it becomes | 
| -  // locked and owned by the calling thread, and immediately. If the mutex | 
| -  // is already locked by another thread, suspends the calling thread until | 
| -  // the mutex is unlocked. | 
| -  virtual int Lock() = 0; | 
| - | 
| -  // Unlocks the given mutex. The mutex is assumed to be locked and owned by | 
| -  // the calling thread on entrance. | 
| -  virtual int Unlock() = 0; | 
| - | 
| -  // Tries to lock the given mutex. Returns whether the mutex was | 
| -  // successfully locked. | 
| -  virtual bool TryLock() = 0; | 
| -}; | 
| - | 
| -struct CreateMutexTrait { | 
| -  static Mutex* Create() { | 
| -    return OS::CreateMutex(); | 
| -  } | 
| -}; | 
| - | 
| -// POD Mutex initialized lazily (i.e. the first time Pointer() is called). | 
| -// Usage: | 
| -//   static LazyMutex my_mutex = LAZY_MUTEX_INITIALIZER; | 
| -// | 
| -//   void my_function() { | 
| -//     ScopedLock my_lock(my_mutex.Pointer()); | 
| -//     // Do something. | 
| -//   } | 
| -// | 
| -typedef LazyDynamicInstance< | 
| -    Mutex, CreateMutexTrait, ThreadSafeInitOnceTrait>::type LazyMutex; | 
| - | 
| -#define LAZY_MUTEX_INITIALIZER LAZY_DYNAMIC_INSTANCE_INITIALIZER | 
| - | 
| -// ---------------------------------------------------------------------------- | 
| -// ScopedLock | 
| -// | 
| -// Stack-allocated ScopedLocks provide block-scoped locking and | 
| -// unlocking of a mutex. | 
| -class ScopedLock { | 
| - public: | 
| -  explicit ScopedLock(Mutex* mutex): mutex_(mutex) { | 
| -    ASSERT(mutex_ != NULL); | 
| -    mutex_->Lock(); | 
| -  } | 
| -  ~ScopedLock() { | 
| -    mutex_->Unlock(); | 
| -  } | 
| - | 
| - private: | 
| -  Mutex* mutex_; | 
| -  DISALLOW_COPY_AND_ASSIGN(ScopedLock); | 
| -}; | 
| - | 
| - | 
| -// ---------------------------------------------------------------------------- | 
| // Socket | 
| // | 
|  | 
|  |