| Index: src/global-handles.h | 
| diff --git a/src/global-handles.h b/src/global-handles.h | 
| index 767989c77e3ceb23f6602294e2c0e27da2421e0a..d1d5d1ebe68696a668816edac7ec10012f11b266 100644 | 
| --- a/src/global-handles.h | 
| +++ b/src/global-handles.h | 
| @@ -100,12 +100,11 @@ struct ObjectGroupRetainerInfo { | 
| enum WeaknessType { | 
| NORMAL_WEAK,  // Embedder gets a handle to the dying object. | 
| // In the following cases, the embedder gets the parameter they passed in | 
| -  // earlier, and the 0, 1 or 2 first internal fields. Note that the internal | 
| +  // earlier, and 0 or 2 first internal fields. Note that the internal | 
| // fields must contain aligned non-V8 pointers.  Getting pointers to V8 | 
| // objects through this interface would be GC unsafe so in that case the | 
| // embedder gets a null pointer instead. | 
| -  PHANTOM_WEAK_0_INTERNAL_FIELDS, | 
| -  PHANTOM_WEAK_1_INTERNAL_FIELDS, | 
| +  PHANTOM_WEAK, | 
| PHANTOM_WEAK_2_INTERNAL_FIELDS | 
| }; | 
|  | 
| @@ -145,9 +144,9 @@ class GlobalHandles { | 
|  | 
| // It would be nice to template this one, but it's really hard to get | 
| // the template instantiator to work right if you do. | 
| -  static void MakePhantom(Object** location, void* parameter, | 
| -                          int number_of_internal_fields, | 
| -                          PhantomCallbackData<void>::Callback weak_callback); | 
| +  static void MakeWeak(Object** location, void* parameter, | 
| +                       WeakCallbackInfo<void>::Callback weak_callback, | 
| +                       v8::WeakCallbackType type); | 
|  | 
| void RecordStats(HeapStats* stats); | 
|  | 
| @@ -349,7 +348,7 @@ class GlobalHandles { | 
|  | 
| class GlobalHandles::PendingPhantomCallback { | 
| public: | 
| -  typedef PhantomCallbackData<void> Data; | 
| +  typedef v8::WeakCallbackInfo<void> Data; | 
| PendingPhantomCallback(Node* node, Data data, Data::Callback callback) | 
| : node_(node), data_(data), callback_(callback) {} | 
|  | 
|  |