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); |
} |