| Index: test/cctest/test-serialize.cc | 
| diff --git a/test/cctest/test-serialize.cc b/test/cctest/test-serialize.cc | 
| index bd0bca75b304e252856c79d5f70dd2579447e598..7fa4792fcb5daf99de05ebae55c4f35ecd6cb710 100644 | 
| --- a/test/cctest/test-serialize.cc | 
| +++ b/test/cctest/test-serialize.cc | 
| @@ -104,7 +104,7 @@ TEST(ExternalReferenceEncoder) { | 
| isolate->stats_table()->SetCounterFunction(counter_function); | 
| v8::V8::Initialize(); | 
|  | 
| -  ExternalReferenceEncoder encoder; | 
| +  ExternalReferenceEncoder encoder(isolate); | 
| CHECK_EQ(make_code(BUILTIN, Builtins::kArrayCode), | 
| Encode(encoder, Builtins::kArrayCode)); | 
| CHECK_EQ(make_code(v8::internal::RUNTIME_FUNCTION, Runtime::kAbort), | 
| @@ -141,7 +141,7 @@ TEST(ExternalReferenceDecoder) { | 
| isolate->stats_table()->SetCounterFunction(counter_function); | 
| v8::V8::Initialize(); | 
|  | 
| -  ExternalReferenceDecoder decoder; | 
| +  ExternalReferenceDecoder decoder(isolate); | 
| CHECK_EQ(AddressOf(Builtins::kArrayCode), | 
| decoder.Decode(make_code(BUILTIN, Builtins::kArrayCode))); | 
| CHECK_EQ(AddressOf(Runtime::kAbort), | 
| @@ -228,9 +228,9 @@ void FileByteSink::WriteSpaceUsed( | 
| } | 
|  | 
|  | 
| -static bool WriteToFile(const char* snapshot_file) { | 
| +static bool WriteToFile(Isolate* isolate, const char* snapshot_file) { | 
| FileByteSink file(snapshot_file); | 
| -  StartupSerializer ser(&file); | 
| +  StartupSerializer ser(isolate, &file); | 
| ser.Serialize(); | 
|  | 
| file.WriteSpaceUsed( | 
| @@ -251,19 +251,20 @@ static void Serialize() { | 
| // can be loaded from v8natives.js and their addresses can be processed.  This | 
| // will clear the pending fixups array, which would otherwise contain GC roots | 
| // that would confuse the serialization/deserialization process. | 
| +  v8::Isolate* isolate = v8::Isolate::GetCurrent(); | 
| { | 
| -    v8::Isolate* isolate = v8::Isolate::GetCurrent(); | 
| v8::HandleScope scope(isolate); | 
| v8::Context::New(isolate); | 
| } | 
| -  WriteToFile(FLAG_testing_serialization_file); | 
| +  WriteToFile(reinterpret_cast<Isolate*>(isolate), | 
| +              FLAG_testing_serialization_file); | 
| } | 
|  | 
|  | 
| // Test that the whole heap can be serialized. | 
| TEST(Serialize) { | 
| if (!Snapshot::HaveASnapshotToStartFrom()) { | 
| -    Serializer::Enable(); | 
| +    Serializer::Enable(Isolate::Current()); | 
| v8::V8::Initialize(); | 
| Serialize(); | 
| } | 
| @@ -273,7 +274,7 @@ TEST(Serialize) { | 
| // Test that heap serialization is non-destructive. | 
| TEST(SerializeTwice) { | 
| if (!Snapshot::HaveASnapshotToStartFrom()) { | 
| -    Serializer::Enable(); | 
| +    Serializer::Enable(Isolate::Current()); | 
| v8::V8::Initialize(); | 
| Serialize(); | 
| Serialize(); | 
| @@ -371,9 +372,9 @@ DEPENDENT_TEST(DeserializeFromSecondSerializationAndRunScript2, | 
|  | 
| TEST(PartialSerialization) { | 
| if (!Snapshot::HaveASnapshotToStartFrom()) { | 
| -    Serializer::Enable(); | 
| -    v8::V8::Initialize(); | 
| Isolate* isolate = Isolate::Current(); | 
| +    Serializer::Enable(isolate); | 
| +    v8::V8::Initialize(); | 
| v8::Isolate* v8_isolate = reinterpret_cast<v8::Isolate*>(isolate); | 
| Heap* heap = isolate->heap(); | 
|  | 
| @@ -415,11 +416,11 @@ TEST(PartialSerialization) { | 
| env.Dispose(); | 
|  | 
| FileByteSink startup_sink(startup_name.start()); | 
| -    StartupSerializer startup_serializer(&startup_sink); | 
| +    StartupSerializer startup_serializer(isolate, &startup_sink); | 
| startup_serializer.SerializeStrongReferences(); | 
|  | 
| FileByteSink partial_sink(FLAG_testing_serialization_file); | 
| -    PartialSerializer p_ser(&startup_serializer, &partial_sink); | 
| +    PartialSerializer p_ser(isolate, &startup_serializer, &partial_sink); | 
| p_ser.Serialize(&raw_foo); | 
| startup_serializer.SerializeWeakReferences(); | 
|  | 
| @@ -494,16 +495,17 @@ DEPENDENT_TEST(PartialDeserialization, PartialSerialization) { | 
| int snapshot_size = 0; | 
| byte* snapshot = ReadBytes(file_name, &snapshot_size); | 
|  | 
| +    Isolate* isolate = Isolate::Current(); | 
| Object* root; | 
| { | 
| SnapshotByteSource source(snapshot, snapshot_size); | 
| Deserializer deserializer(&source); | 
| ReserveSpaceForSnapshot(&deserializer, file_name); | 
| -      deserializer.DeserializePartial(&root); | 
| +      deserializer.DeserializePartial(isolate, &root); | 
| CHECK(root->IsString()); | 
| } | 
| -    v8::HandleScope handle_scope(v8::Isolate::GetCurrent()); | 
| -    Handle<Object> root_handle(root, Isolate::Current()); | 
| +    HandleScope handle_scope(isolate); | 
| +    Handle<Object> root_handle(root, isolate); | 
|  | 
|  | 
| Object* root2; | 
| @@ -511,7 +513,7 @@ DEPENDENT_TEST(PartialDeserialization, PartialSerialization) { | 
| SnapshotByteSource source(snapshot, snapshot_size); | 
| Deserializer deserializer(&source); | 
| ReserveSpaceForSnapshot(&deserializer, file_name); | 
| -      deserializer.DeserializePartial(&root2); | 
| +      deserializer.DeserializePartial(isolate, &root2); | 
| CHECK(root2->IsString()); | 
| CHECK(*root_handle == root2); | 
| } | 
| @@ -521,9 +523,9 @@ DEPENDENT_TEST(PartialDeserialization, PartialSerialization) { | 
|  | 
| TEST(ContextSerialization) { | 
| if (!Snapshot::HaveASnapshotToStartFrom()) { | 
| -    Serializer::Enable(); | 
| v8::V8::Initialize(); | 
| Isolate* isolate = Isolate::Current(); | 
| +    Serializer::Enable(isolate); | 
| v8::Isolate* v8_isolate = reinterpret_cast<v8::Isolate*>(isolate); | 
| Heap* heap = isolate->heap(); | 
|  | 
| @@ -561,11 +563,11 @@ TEST(ContextSerialization) { | 
| env.Dispose(); | 
|  | 
| FileByteSink startup_sink(startup_name.start()); | 
| -    StartupSerializer startup_serializer(&startup_sink); | 
| +    StartupSerializer startup_serializer(isolate, &startup_sink); | 
| startup_serializer.SerializeStrongReferences(); | 
|  | 
| FileByteSink partial_sink(FLAG_testing_serialization_file); | 
| -    PartialSerializer p_ser(&startup_serializer, &partial_sink); | 
| +    PartialSerializer p_ser(isolate, &startup_serializer, &partial_sink); | 
| p_ser.Serialize(&raw_context); | 
| startup_serializer.SerializeWeakReferences(); | 
|  | 
| @@ -605,16 +607,17 @@ DEPENDENT_TEST(ContextDeserialization, ContextSerialization) { | 
| int snapshot_size = 0; | 
| byte* snapshot = ReadBytes(file_name, &snapshot_size); | 
|  | 
| +    Isolate* isolate = Isolate::Current(); | 
| Object* root; | 
| { | 
| SnapshotByteSource source(snapshot, snapshot_size); | 
| Deserializer deserializer(&source); | 
| ReserveSpaceForSnapshot(&deserializer, file_name); | 
| -      deserializer.DeserializePartial(&root); | 
| +      deserializer.DeserializePartial(isolate, &root); | 
| CHECK(root->IsContext()); | 
| } | 
| -    v8::HandleScope handle_scope(v8::Isolate::GetCurrent()); | 
| -    Handle<Object> root_handle(root, Isolate::Current()); | 
| +    HandleScope handle_scope(isolate); | 
| +    Handle<Object> root_handle(root, isolate); | 
|  | 
|  | 
| Object* root2; | 
| @@ -622,7 +625,7 @@ DEPENDENT_TEST(ContextDeserialization, ContextSerialization) { | 
| SnapshotByteSource source(snapshot, snapshot_size); | 
| Deserializer deserializer(&source); | 
| ReserveSpaceForSnapshot(&deserializer, file_name); | 
| -      deserializer.DeserializePartial(&root2); | 
| +      deserializer.DeserializePartial(isolate, &root2); | 
| CHECK(root2->IsContext()); | 
| CHECK(*root_handle != root2); | 
| } | 
|  |