diff --git a/common.gypi b/common.gypi
index e323fc3a6c4dc5..ea7779ee097a69 100644
--- a/common.gypi
+++ b/common.gypi
@@ -23,14 +23,13 @@
     # Don't bake anything extra into the snapshot.
     'v8_use_external_startup_data%': 0,
 
-    # Disable V8's post-mortem debugging; frequently broken and hardly used.
-    'v8_postmortem_support%': 'false',
-
     'conditions': [
       ['OS == "win"', {
         'os_posix': 0,
+        'v8_postmortem_support%': 'false',
       }, {
         'os_posix': 1,
+        'v8_postmortem_support%': 'true',
       }],
       ['GENERATOR == "ninja" or OS== "mac"', {
         'OBJ_DIR': '<(PRODUCT_DIR)/obj',
diff --git a/deps/v8/src/objects.h b/deps/v8/src/objects.h
index 750ceb3612b5fc..f2f2e495b44ec2 100644
--- a/deps/v8/src/objects.h
+++ b/deps/v8/src/objects.h
@@ -7062,6 +7062,8 @@ class SharedFunctionInfo: public HeapObject {
   static const int kUniqueIdOffset = kFeedbackVectorOffset + kPointerSize;
   static const int kLastPointerFieldOffset = kUniqueIdOffset;
 #else
+  // Just to not break the postmortem support with conditional offsets
+  static const int kUniqueIdOffset = kFeedbackVectorOffset;
   static const int kLastPointerFieldOffset = kFeedbackVectorOffset;
 #endif
 
diff --git a/deps/v8/tools/gen-postmortem-metadata.py b/deps/v8/tools/gen-postmortem-metadata.py
index 04a1ea87f4afaf..62e103a7359714 100644
--- a/deps/v8/tools/gen-postmortem-metadata.py
+++ b/deps/v8/tools/gen-postmortem-metadata.py
@@ -70,8 +70,6 @@
     { 'name': 'ExternalStringTag',      'value': 'kExternalStringTag' },
     { 'name': 'SlicedStringTag',        'value': 'kSlicedStringTag' },
 
-    { 'name': 'FailureTag',             'value': 'kFailureTag' },
-    { 'name': 'FailureTagMask',         'value': 'kFailureTagMask' },
     { 'name': 'HeapObjectTag',          'value': 'kHeapObjectTag' },
     { 'name': 'HeapObjectTagMask',      'value': 'kHeapObjectTagMask' },
     { 'name': 'SmiTag',                 'value': 'kSmiTag' },
@@ -94,8 +92,6 @@
         'value': 'DescriptorArray::kFirstIndex' },
     { 'name': 'prop_type_field',
         'value': 'FIELD' },
-    { 'name': 'prop_type_first_phantom',
-        'value': 'TRANSITION' },
     { 'name': 'prop_type_mask',
         'value': 'PropertyDetails::TypeField::kMask' },
     { 'name': 'prop_index_mask',
@@ -120,9 +116,9 @@
         'value': 'DICTIONARY_ELEMENTS' },
 
     { 'name': 'bit_field2_elements_kind_mask',
-       'value': 'Map::kElementsKindMask' },
+        'value': 'Map::ElementsKindBits::kMask' },
     { 'name': 'bit_field2_elements_kind_shift',
-       'value': 'Map::kElementsKindShift' },
+        'value': 'Map::ElementsKindBits::kShift' },
     { 'name': 'bit_field3_dictionary_map_shift',
         'value': 'Map::DictionaryMap::kShift' },
 
@@ -196,9 +192,9 @@
  * This file is generated by %s.  Do not edit directly.
  */
 
-#include "v8.h"
-#include "frames.h"
-#include "frames-inl.h" /* for architecture-specific frame constants */
+#include "src/v8.h"
+#include "src/frames.h"
+#include "src/frames-inl.h" /* for architecture-specific frame constants */
 
 using namespace v8::internal;
 
diff --git a/node.gyp b/node.gyp
index d58ec25dcb3c7c..2874f130945b16 100644
--- a/node.gyp
+++ b/node.gyp
@@ -526,10 +526,10 @@
             {
               'action_name': 'node_dtrace_provider_o',
               'inputs': [
-                '<(OBJ_DIR)/node/src/node_dtrace.o',
+                '<(OBJ_DIR)/iojs/src/node_dtrace.o',
               ],
               'outputs': [
-                '<(OBJ_DIR)/node/src/node_dtrace_provider.o'
+                '<(OBJ_DIR)/iojs/src/node_dtrace_provider.o'
               ],
               'action': [ 'dtrace', '-G', '-xnolibs', '-s', 'src/node_provider.d',
                 '<@(_inputs)', '-o', '<@(_outputs)' ]
@@ -579,7 +579,7 @@
                 '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
               ],
               'outputs': [
-                '<(OBJ_DIR)/node/src/node_dtrace_ustack.o'
+                '<(OBJ_DIR)/iojs/src/node_dtrace_ustack.o'
               ],
               'conditions': [
                 [ 'target_arch=="ia32"', {
diff --git a/src/v8abbr.h b/src/v8abbr.h
index 6c7a7655e511bf..95a04b40887771 100644
--- a/src/v8abbr.h
+++ b/src/v8abbr.h
@@ -56,7 +56,7 @@
 #define V8_StringTag                V8DBG_STRINGTAG
 
 #define V8_StringEncodingMask       V8DBG_STRINGENCODINGMASK
-#define V8_AsciiStringTag           V8DBG_ASCIISTRINGTAG
+#define V8_AsciiStringTag           V8DBG_ONEBYTESTRINGTAG
 
 #define V8_StringRepresentationMask V8DBG_STRINGREPRESENTATIONMASK
 #define V8_SeqStringTag             V8DBG_SEQSTRINGTAG