OLD | NEW |
1 // Copyright 2007-2010 the V8 project authors. All rights reserved. | 1 // Copyright 2007-2010 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 | 181 |
182 //---------------------------------------------------------------------------- | 182 //---------------------------------------------------------------------------- |
183 // Tests that the heap can be deserialized. | 183 // Tests that the heap can be deserialized. |
184 | 184 |
185 v8::Isolate* InitializeFromFile(const char* snapshot_file) { | 185 v8::Isolate* InitializeFromFile(const char* snapshot_file) { |
186 int len; | 186 int len; |
187 byte* str = ReadBytes(snapshot_file, &len); | 187 byte* str = ReadBytes(snapshot_file, &len); |
188 if (!str) return NULL; | 188 if (!str) return NULL; |
189 v8::Isolate* v8_isolate = NULL; | 189 v8::Isolate* v8_isolate = NULL; |
190 { | 190 { |
191 SnapshotData snapshot_data(str, len); | 191 SnapshotData snapshot_data(Vector<const byte>(str, len)); |
192 Deserializer deserializer(&snapshot_data); | 192 Deserializer deserializer(&snapshot_data); |
193 Isolate* isolate = Isolate::NewForTesting(); | 193 Isolate* isolate = Isolate::NewForTesting(); |
194 v8_isolate = reinterpret_cast<v8::Isolate*>(isolate); | 194 v8_isolate = reinterpret_cast<v8::Isolate*>(isolate); |
195 v8::Isolate::Scope isolate_scope(v8_isolate); | 195 v8::Isolate::Scope isolate_scope(v8_isolate); |
196 isolate->Init(&deserializer); | 196 isolate->Init(&deserializer); |
197 } | 197 } |
198 DeleteArray(str); | 198 DeleteArray(str); |
199 return v8_isolate; | 199 return v8_isolate; |
200 } | 200 } |
201 | 201 |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 v8::Isolate::Scope isolate_scope(v8_isolate); | 386 v8::Isolate::Scope isolate_scope(v8_isolate); |
387 | 387 |
388 const char* file_name = FLAG_testing_serialization_file; | 388 const char* file_name = FLAG_testing_serialization_file; |
389 | 389 |
390 int snapshot_size = 0; | 390 int snapshot_size = 0; |
391 byte* snapshot = ReadBytes(file_name, &snapshot_size); | 391 byte* snapshot = ReadBytes(file_name, &snapshot_size); |
392 | 392 |
393 Isolate* isolate = reinterpret_cast<Isolate*>(v8_isolate); | 393 Isolate* isolate = reinterpret_cast<Isolate*>(v8_isolate); |
394 Object* root; | 394 Object* root; |
395 { | 395 { |
396 SnapshotData snapshot_data(snapshot, snapshot_size); | 396 SnapshotData snapshot_data(Vector<const byte>(snapshot, snapshot_size)); |
397 Deserializer deserializer(&snapshot_data); | 397 Deserializer deserializer(&snapshot_data); |
398 deserializer.DeserializePartial(isolate, &root); | 398 deserializer.DeserializePartial(isolate, &root); |
399 CHECK(root->IsString()); | 399 CHECK(root->IsString()); |
400 } | 400 } |
401 HandleScope handle_scope(isolate); | 401 HandleScope handle_scope(isolate); |
402 Handle<Object> root_handle(root, isolate); | 402 Handle<Object> root_handle(root, isolate); |
403 | 403 |
404 | 404 |
405 Object* root2; | 405 Object* root2; |
406 { | 406 { |
407 SnapshotData snapshot_data(snapshot, snapshot_size); | 407 SnapshotData snapshot_data(Vector<const byte>(snapshot, snapshot_size)); |
408 Deserializer deserializer(&snapshot_data); | 408 Deserializer deserializer(&snapshot_data); |
409 deserializer.DeserializePartial(isolate, &root2); | 409 deserializer.DeserializePartial(isolate, &root2); |
410 CHECK(root2->IsString()); | 410 CHECK(root2->IsString()); |
411 CHECK(*root_handle == root2); | 411 CHECK(*root_handle == root2); |
412 } | 412 } |
413 } | 413 } |
414 v8_isolate->Dispose(); | 414 v8_isolate->Dispose(); |
415 } | 415 } |
416 } | 416 } |
417 | 417 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
496 v8::Isolate::Scope isolate_scope(v8_isolate); | 496 v8::Isolate::Scope isolate_scope(v8_isolate); |
497 | 497 |
498 const char* file_name = FLAG_testing_serialization_file; | 498 const char* file_name = FLAG_testing_serialization_file; |
499 | 499 |
500 int snapshot_size = 0; | 500 int snapshot_size = 0; |
501 byte* snapshot = ReadBytes(file_name, &snapshot_size); | 501 byte* snapshot = ReadBytes(file_name, &snapshot_size); |
502 | 502 |
503 Isolate* isolate = reinterpret_cast<Isolate*>(v8_isolate); | 503 Isolate* isolate = reinterpret_cast<Isolate*>(v8_isolate); |
504 Object* root; | 504 Object* root; |
505 { | 505 { |
506 SnapshotData snapshot_data(snapshot, snapshot_size); | 506 SnapshotData snapshot_data(Vector<const byte>(snapshot, snapshot_size)); |
507 Deserializer deserializer(&snapshot_data); | 507 Deserializer deserializer(&snapshot_data); |
508 deserializer.DeserializePartial(isolate, &root); | 508 deserializer.DeserializePartial(isolate, &root); |
509 CHECK(root->IsContext()); | 509 CHECK(root->IsContext()); |
510 } | 510 } |
511 HandleScope handle_scope(isolate); | 511 HandleScope handle_scope(isolate); |
512 Handle<Object> root_handle(root, isolate); | 512 Handle<Object> root_handle(root, isolate); |
513 | 513 |
514 | 514 |
515 Object* root2; | 515 Object* root2; |
516 { | 516 { |
517 SnapshotData snapshot_data(snapshot, snapshot_size); | 517 SnapshotData snapshot_data(Vector<const byte>(snapshot, snapshot_size)); |
518 Deserializer deserializer(&snapshot_data); | 518 Deserializer deserializer(&snapshot_data); |
519 deserializer.DeserializePartial(isolate, &root2); | 519 deserializer.DeserializePartial(isolate, &root2); |
520 CHECK(root2->IsContext()); | 520 CHECK(root2->IsContext()); |
521 CHECK(*root_handle != root2); | 521 CHECK(*root_handle != root2); |
522 } | 522 } |
523 } | 523 } |
524 v8_isolate->Dispose(); | 524 v8_isolate->Dispose(); |
525 } | 525 } |
526 } | 526 } |
527 | 527 |
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1212 { | 1212 { |
1213 DisallowCompilation no_compile(reinterpret_cast<Isolate*>(isolate2)); | 1213 DisallowCompilation no_compile(reinterpret_cast<Isolate*>(isolate2)); |
1214 script = v8::ScriptCompiler::CompileUnbound( | 1214 script = v8::ScriptCompiler::CompileUnbound( |
1215 isolate2, &source, v8::ScriptCompiler::kConsumeCodeCache); | 1215 isolate2, &source, v8::ScriptCompiler::kConsumeCodeCache); |
1216 } | 1216 } |
1217 v8::Local<v8::Value> result = script->BindToCurrentContext()->Run(); | 1217 v8::Local<v8::Value> result = script->BindToCurrentContext()->Run(); |
1218 CHECK(result->ToString(isolate2)->Equals(v8_str("XY"))); | 1218 CHECK(result->ToString(isolate2)->Equals(v8_str("XY"))); |
1219 } | 1219 } |
1220 isolate2->Dispose(); | 1220 isolate2->Dispose(); |
1221 } | 1221 } |
OLD | NEW |