| Index: src/platform-macos.cc | 
| =================================================================== | 
| --- src/platform-macos.cc	(revision 3000) | 
| +++ src/platform-macos.cc	(working copy) | 
| @@ -42,6 +42,7 @@ | 
| #include <mach/mach.h> | 
| #include <mach/semaphore.h> | 
| #include <mach/task.h> | 
| +#include <mach/vm_statistics.h> | 
| #include <sys/time.h> | 
| #include <sys/resource.h> | 
| #include <sys/types.h> | 
| @@ -123,12 +124,22 @@ | 
| } | 
|  | 
|  | 
| +// Constants used for mmap. | 
| +// kMmapFd is used to pass vm_alloc flags to tag the region with the user | 
| +// defined tag 255 This helps identify V8-allocated regions in memory analysis | 
| +// tools like vmmap(1). | 
| +static const int kMmapFd = VM_MAKE_TAG(255); | 
| +static const off_t kMmapFdOffset = 0; | 
| + | 
| + | 
| void* OS::Allocate(const size_t requested, | 
| size_t* allocated, | 
| bool is_executable) { | 
| const size_t msize = RoundUp(requested, getpagesize()); | 
| int prot = PROT_READ | PROT_WRITE | (is_executable ? PROT_EXEC : 0); | 
| -  void* mbase = mmap(NULL, msize, prot, MAP_PRIVATE | MAP_ANON, -1, 0); | 
| +  void* mbase = mmap(NULL, msize, prot, | 
| +                     MAP_PRIVATE | MAP_ANON, | 
| +                     kMmapFd, kMmapFdOffset); | 
| if (mbase == MAP_FAILED) { | 
| LOG(StringEvent("OS::Allocate", "mmap failed")); | 
| return NULL; | 
| @@ -280,9 +291,6 @@ | 
| } | 
|  | 
|  | 
| -// Constants used for mmap. | 
| -static const int kMmapFd = -1; | 
| -static const int kMmapFdOffset = 0; | 
|  | 
|  | 
| VirtualMemory::VirtualMemory(size_t size) { | 
|  |