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

Side by Side Diff: runtime/vm/benchmark_test.cc

Issue 2995543004: [vm, gc] Require a safepoint for heap iteration. (Closed)
Patch Set: explicit-thread Created 3 years, 4 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 | « runtime/vm/become.cc ('k') | runtime/vm/class_finalizer.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 (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/benchmark_test.h" 5 #include "vm/benchmark_test.h"
6 6
7 #include "bin/builtin.h" 7 #include "bin/builtin.h"
8 #include "bin/file.h" 8 #include "bin/file.h"
9 #include "bin/isolate_data.h" 9 #include "bin/isolate_data.h"
10 10
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 "\n"; 489 "\n";
490 490
491 // Start an Isolate, load a script and create a full snapshot. 491 // Start an Isolate, load a script and create a full snapshot.
492 uint8_t* vm_snapshot_data_buffer; 492 uint8_t* vm_snapshot_data_buffer;
493 uint8_t* isolate_snapshot_data_buffer; 493 uint8_t* isolate_snapshot_data_buffer;
494 // Need to load the script into the dart: core library due to 494 // Need to load the script into the dart: core library due to
495 // the import of dart:_internal. 495 // the import of dart:_internal.
496 TestCase::LoadCoreTestScript(kScriptChars, NULL); 496 TestCase::LoadCoreTestScript(kScriptChars, NULL);
497 Api::CheckAndFinalizePendingClasses(thread); 497 Api::CheckAndFinalizePendingClasses(thread);
498 498
499 TransitionNativeToVM transition(thread);
499 // Write snapshot with object content. 500 // Write snapshot with object content.
500 FullSnapshotWriter writer(Snapshot::kFull, &vm_snapshot_data_buffer, 501 FullSnapshotWriter writer(Snapshot::kFull, &vm_snapshot_data_buffer,
501 &isolate_snapshot_data_buffer, &malloc_allocator, 502 &isolate_snapshot_data_buffer, &malloc_allocator,
502 NULL, NULL /* image_writer */); 503 NULL, NULL /* image_writer */);
503 writer.WriteFullSnapshot(); 504 writer.WriteFullSnapshot();
504 const Snapshot* snapshot = 505 const Snapshot* snapshot =
505 Snapshot::SetupFromBuffer(isolate_snapshot_data_buffer); 506 Snapshot::SetupFromBuffer(isolate_snapshot_data_buffer);
506 ASSERT(snapshot->kind() == Snapshot::kFull); 507 ASSERT(snapshot->kind() == Snapshot::kFull);
507 benchmark->set_score(snapshot->length()); 508 benchmark->set_score(snapshot->length());
508 509
(...skipping 17 matching lines...) Expand all
526 "\n"; 527 "\n";
527 528
528 // Start an Isolate, load a script and create a full snapshot. 529 // Start an Isolate, load a script and create a full snapshot.
529 uint8_t* vm_snapshot_data_buffer; 530 uint8_t* vm_snapshot_data_buffer;
530 uint8_t* isolate_snapshot_data_buffer; 531 uint8_t* isolate_snapshot_data_buffer;
531 // Need to load the script into the dart: core library due to 532 // Need to load the script into the dart: core library due to
532 // the import of dart:_internal. 533 // the import of dart:_internal.
533 TestCase::LoadCoreTestScript(kScriptChars, NULL); 534 TestCase::LoadCoreTestScript(kScriptChars, NULL);
534 Api::CheckAndFinalizePendingClasses(thread); 535 Api::CheckAndFinalizePendingClasses(thread);
535 536
537 TransitionNativeToVM transition(thread);
536 // Write snapshot with object content. 538 // Write snapshot with object content.
537 FullSnapshotWriter writer(Snapshot::kFull, &vm_snapshot_data_buffer, 539 FullSnapshotWriter writer(Snapshot::kFull, &vm_snapshot_data_buffer,
538 &isolate_snapshot_data_buffer, &malloc_allocator, 540 &isolate_snapshot_data_buffer, &malloc_allocator,
539 NULL, NULL /* image_writer */); 541 NULL, NULL /* image_writer */);
540 writer.WriteFullSnapshot(); 542 writer.WriteFullSnapshot();
541 const Snapshot* snapshot = 543 const Snapshot* snapshot =
542 Snapshot::SetupFromBuffer(isolate_snapshot_data_buffer); 544 Snapshot::SetupFromBuffer(isolate_snapshot_data_buffer);
543 ASSERT(snapshot->kind() == Snapshot::kFull); 545 ASSERT(snapshot->kind() == Snapshot::kFull);
544 benchmark->set_score(snapshot->length()); 546 benchmark->set_score(snapshot->length());
545 547
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 timer.Stop(); 694 timer.Stop();
693 int64_t elapsed_time = timer.TotalElapsedTime(); 695 int64_t elapsed_time = timer.TotalElapsedTime();
694 benchmark->set_score(elapsed_time); 696 benchmark->set_score(elapsed_time);
695 } 697 }
696 698
697 BENCHMARK_MEMORY(InitialRSS) { 699 BENCHMARK_MEMORY(InitialRSS) {
698 benchmark->set_score(OS::MaxRSS()); 700 benchmark->set_score(OS::MaxRSS());
699 } 701 }
700 702
701 } // namespace dart 703 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/become.cc ('k') | runtime/vm/class_finalizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698