Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: test/cctest/test-serialize.cc

Issue 932823002: Limit size of first page based on serialized data. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: remove printf debugging Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/cctest/test-heap.cc ('k') | test/cctest/test-strings.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 exit(1); 126 exit(1);
127 } 127 }
128 fclose(file); 128 fclose(file);
129 } 129 }
130 130
131 131
132 static bool WriteToFile(Isolate* isolate, const char* snapshot_file) { 132 static bool WriteToFile(Isolate* isolate, const char* snapshot_file) {
133 SnapshotByteSink sink; 133 SnapshotByteSink sink;
134 StartupSerializer ser(isolate, &sink); 134 StartupSerializer ser(isolate, &sink);
135 ser.Serialize(); 135 ser.Serialize();
136 SnapshotData snapshot_data(sink, ser); 136 SnapshotData snapshot_data(ser);
137 WritePayload(snapshot_data.RawData(), snapshot_file); 137 WritePayload(snapshot_data.RawData(), snapshot_file);
138 return true; 138 return true;
139 } 139 }
140 140
141 141
142 static void Serialize(v8::Isolate* isolate) { 142 static void Serialize(v8::Isolate* isolate) {
143 // We have to create one context. One reason for this is so that the builtins 143 // We have to create one context. One reason for this is so that the builtins
144 // can be loaded from v8natives.js and their addresses can be processed. This 144 // can be loaded from v8natives.js and their addresses can be processed. This
145 // will clear the pending fixups array, which would otherwise contain GC roots 145 // will clear the pending fixups array, which would otherwise contain GC roots
146 // that would confuse the serialization/deserialization process. 146 // that would confuse the serialization/deserialization process.
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 StartupSerializer startup_serializer(isolate, &startup_sink); 369 StartupSerializer startup_serializer(isolate, &startup_sink);
370 startup_serializer.SerializeStrongReferences(); 370 startup_serializer.SerializeStrongReferences();
371 371
372 SnapshotByteSink partial_sink; 372 SnapshotByteSink partial_sink;
373 PartialSerializer partial_serializer(isolate, &startup_serializer, 373 PartialSerializer partial_serializer(isolate, &startup_serializer,
374 &partial_sink); 374 &partial_sink);
375 partial_serializer.Serialize(&raw_foo); 375 partial_serializer.Serialize(&raw_foo);
376 376
377 startup_serializer.SerializeWeakReferences(); 377 startup_serializer.SerializeWeakReferences();
378 378
379 SnapshotData startup_snapshot(startup_sink, startup_serializer); 379 SnapshotData startup_snapshot(startup_serializer);
380 SnapshotData partial_snapshot(partial_sink, partial_serializer); 380 SnapshotData partial_snapshot(partial_serializer);
381 381
382 WritePayload(partial_snapshot.RawData(), FLAG_testing_serialization_file); 382 WritePayload(partial_snapshot.RawData(), FLAG_testing_serialization_file);
383 WritePayload(startup_snapshot.RawData(), startup_name.start()); 383 WritePayload(startup_snapshot.RawData(), startup_name.start());
384 384
385 startup_name.Dispose(); 385 startup_name.Dispose();
386 } 386 }
387 v8_isolate->Exit(); 387 v8_isolate->Exit();
388 v8_isolate->Dispose(); 388 v8_isolate->Dispose();
389 } 389 }
390 } 390 }
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 SnapshotByteSink startup_sink; 487 SnapshotByteSink startup_sink;
488 StartupSerializer startup_serializer(isolate, &startup_sink); 488 StartupSerializer startup_serializer(isolate, &startup_sink);
489 startup_serializer.SerializeStrongReferences(); 489 startup_serializer.SerializeStrongReferences();
490 490
491 SnapshotByteSink partial_sink; 491 SnapshotByteSink partial_sink;
492 PartialSerializer partial_serializer(isolate, &startup_serializer, 492 PartialSerializer partial_serializer(isolate, &startup_serializer,
493 &partial_sink); 493 &partial_sink);
494 partial_serializer.Serialize(&raw_context); 494 partial_serializer.Serialize(&raw_context);
495 startup_serializer.SerializeWeakReferences(); 495 startup_serializer.SerializeWeakReferences();
496 496
497 SnapshotData startup_snapshot(startup_sink, startup_serializer); 497 SnapshotData startup_snapshot(startup_serializer);
498 SnapshotData partial_snapshot(partial_sink, partial_serializer); 498 SnapshotData partial_snapshot(partial_serializer);
499 499
500 WritePayload(partial_snapshot.RawData(), FLAG_testing_serialization_file); 500 WritePayload(partial_snapshot.RawData(), FLAG_testing_serialization_file);
501 WritePayload(startup_snapshot.RawData(), startup_name.start()); 501 WritePayload(startup_snapshot.RawData(), startup_name.start());
502 502
503 startup_name.Dispose(); 503 startup_name.Dispose();
504 } 504 }
505 v8_isolate->Dispose(); 505 v8_isolate->Dispose();
506 } 506 }
507 } 507 }
508 508
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 SnapshotByteSink startup_sink; 623 SnapshotByteSink startup_sink;
624 StartupSerializer startup_serializer(isolate, &startup_sink); 624 StartupSerializer startup_serializer(isolate, &startup_sink);
625 startup_serializer.SerializeStrongReferences(); 625 startup_serializer.SerializeStrongReferences();
626 626
627 SnapshotByteSink partial_sink; 627 SnapshotByteSink partial_sink;
628 PartialSerializer partial_serializer(isolate, &startup_serializer, 628 PartialSerializer partial_serializer(isolate, &startup_serializer,
629 &partial_sink); 629 &partial_sink);
630 partial_serializer.Serialize(&raw_context); 630 partial_serializer.Serialize(&raw_context);
631 startup_serializer.SerializeWeakReferences(); 631 startup_serializer.SerializeWeakReferences();
632 632
633 SnapshotData startup_snapshot(startup_sink, startup_serializer); 633 SnapshotData startup_snapshot(startup_serializer);
634 SnapshotData partial_snapshot(partial_sink, partial_serializer); 634 SnapshotData partial_snapshot(partial_serializer);
635 635
636 WritePayload(partial_snapshot.RawData(), FLAG_testing_serialization_file); 636 WritePayload(partial_snapshot.RawData(), FLAG_testing_serialization_file);
637 WritePayload(startup_snapshot.RawData(), startup_name.start()); 637 WritePayload(startup_snapshot.RawData(), startup_name.start());
638 638
639 startup_name.Dispose(); 639 startup_name.Dispose();
640 } 640 }
641 v8_isolate->Dispose(); 641 v8_isolate->Dispose();
642 } 642 }
643 } 643 }
644 644
(...skipping 771 matching lines...) Expand 10 before | Expand all | Expand 10 after
1416 { 1416 {
1417 DisallowCompilation no_compile(reinterpret_cast<Isolate*>(isolate2)); 1417 DisallowCompilation no_compile(reinterpret_cast<Isolate*>(isolate2));
1418 script = v8::ScriptCompiler::CompileUnbound( 1418 script = v8::ScriptCompiler::CompileUnbound(
1419 isolate2, &source, v8::ScriptCompiler::kConsumeCodeCache); 1419 isolate2, &source, v8::ScriptCompiler::kConsumeCodeCache);
1420 } 1420 }
1421 v8::Local<v8::Value> result = script->BindToCurrentContext()->Run(); 1421 v8::Local<v8::Value> result = script->BindToCurrentContext()->Run();
1422 CHECK(result->ToString(isolate2)->Equals(v8_str("XY"))); 1422 CHECK(result->ToString(isolate2)->Equals(v8_str("XY")));
1423 } 1423 }
1424 isolate2->Dispose(); 1424 isolate2->Dispose();
1425 } 1425 }
OLDNEW
« no previous file with comments | « test/cctest/test-heap.cc ('k') | test/cctest/test-strings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698