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

Side by Side Diff: src/api.cc

Issue 2498163003: Revert of [serializer] print use count of external references. (Closed)
Patch Set: Created 4 years, 1 month 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 | « no previous file | src/external-reference-table.h » ('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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/api.h" 5 #include "src/api.h"
6 6
7 #include <string.h> // For memcpy, strlen. 7 #include <string.h> // For memcpy, strlen.
8 #ifdef V8_USE_ADDRESS_SANITIZER 8 #ifdef V8_USE_ADDRESS_SANITIZER
9 #include <sanitizer/asan_interface.h> 9 #include <sanitizer/asan_interface.h>
10 #endif // V8_USE_ADDRESS_SANITIZER 10 #endif // V8_USE_ADDRESS_SANITIZER
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 int num_contexts = static_cast<int>(data->contexts_.Size()); 552 int num_contexts = static_cast<int>(data->contexts_.Size());
553 i::List<i::Object*> contexts(num_contexts); 553 i::List<i::Object*> contexts(num_contexts);
554 for (int i = 0; i < num_contexts; i++) { 554 for (int i = 0; i < num_contexts; i++) {
555 i::HandleScope scope(isolate); 555 i::HandleScope scope(isolate);
556 i::Handle<i::Context> context = 556 i::Handle<i::Context> context =
557 v8::Utils::OpenHandle(*data->contexts_.Get(i)); 557 v8::Utils::OpenHandle(*data->contexts_.Get(i));
558 contexts.Add(*context); 558 contexts.Add(*context);
559 } 559 }
560 data->contexts_.Clear(); 560 data->contexts_.Clear();
561 561
562 #ifdef DEBUG
563 i::ExternalReferenceTable::instance(isolate)->ResetCount();
564 #endif // DEBUG
565
566 i::StartupSerializer startup_serializer(isolate, function_code_handling); 562 i::StartupSerializer startup_serializer(isolate, function_code_handling);
567 startup_serializer.SerializeStrongReferences(); 563 startup_serializer.SerializeStrongReferences();
568 564
569 // Serialize each context with a new partial serializer. 565 // Serialize each context with a new partial serializer.
570 i::List<i::SnapshotData*> context_snapshots(num_contexts); 566 i::List<i::SnapshotData*> context_snapshots(num_contexts);
571 for (int i = 0; i < num_contexts; i++) { 567 for (int i = 0; i < num_contexts; i++) {
572 i::PartialSerializer partial_serializer(isolate, &startup_serializer, 568 i::PartialSerializer partial_serializer(isolate, &startup_serializer,
573 callback); 569 callback);
574 partial_serializer.Serialize(&contexts[i]); 570 partial_serializer.Serialize(&contexts[i]);
575 context_snapshots.Add(new i::SnapshotData(&partial_serializer)); 571 context_snapshots.Add(new i::SnapshotData(&partial_serializer));
576 } 572 }
577 573
578 startup_serializer.SerializeWeakReferencesAndDeferred(); 574 startup_serializer.SerializeWeakReferencesAndDeferred();
579
580 #ifdef DEBUG
581 if (i::FLAG_external_reference_stats) {
582 i::ExternalReferenceTable::instance(isolate)->PrintCount();
583 }
584 #endif // DEBUG
585
586 i::SnapshotData startup_snapshot(&startup_serializer); 575 i::SnapshotData startup_snapshot(&startup_serializer);
587 StartupData result = 576 StartupData result =
588 i::Snapshot::CreateSnapshotBlob(&startup_snapshot, &context_snapshots); 577 i::Snapshot::CreateSnapshotBlob(&startup_snapshot, &context_snapshots);
589 578
590 // Delete heap-allocated context snapshot instances. 579 // Delete heap-allocated context snapshot instances.
591 for (const auto& context_snapshot : context_snapshots) { 580 for (const auto& context_snapshot : context_snapshots) {
592 delete context_snapshot; 581 delete context_snapshot;
593 } 582 }
594 data->created_ = true; 583 data->created_ = true;
595 return result; 584 return result;
(...skipping 9188 matching lines...) Expand 10 before | Expand all | Expand 10 after
9784 Address callback_address = 9773 Address callback_address =
9785 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); 9774 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback));
9786 VMState<EXTERNAL> state(isolate); 9775 VMState<EXTERNAL> state(isolate);
9787 ExternalCallbackScope call_scope(isolate, callback_address); 9776 ExternalCallbackScope call_scope(isolate, callback_address);
9788 callback(info); 9777 callback(info);
9789 } 9778 }
9790 9779
9791 9780
9792 } // namespace internal 9781 } // namespace internal
9793 } // namespace v8 9782 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/external-reference-table.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698