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

Side by Side Diff: src/serialize.cc

Issue 22852024: Track JS allocations as they arrive with no affection on performance when tracking is switched off (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Make separate API for JS allocations recording, add example of checking JS allocations recording in… Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 563 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 "Runtime::AllocateInOldDataSpace"); 574 "Runtime::AllocateInOldDataSpace");
575 Add(ExternalReference::new_space_high_promotion_mode_active_address(isolate). 575 Add(ExternalReference::new_space_high_promotion_mode_active_address(isolate).
576 address(), 576 address(),
577 UNCLASSIFIED, 577 UNCLASSIFIED,
578 62, 578 62,
579 "Heap::NewSpaceAllocationLimitAddress"); 579 "Heap::NewSpaceAllocationLimitAddress");
580 Add(ExternalReference::allocation_sites_list_address(isolate).address(), 580 Add(ExternalReference::allocation_sites_list_address(isolate).address(),
581 UNCLASSIFIED, 581 UNCLASSIFIED,
582 63, 582 63,
583 "Heap::allocation_sites_list_address()"); 583 "Heap::allocation_sites_list_address()");
584 Add(ExternalReference::is_tracking_allocations_address(isolate).address(),
585 UNCLASSIFIED,
586 64,
587 "HeapProfiler::is_tracking_allocations_address");
588 Add(ExternalReference::record_object_allocation_function(isolate).address(),
589 UNCLASSIFIED,
590 65,
591 "HeapProfiler::RecordObjectAllocationFromMasm");
584 592
585 // Add a small set of deopt entry addresses to encoder without generating the 593 // Add a small set of deopt entry addresses to encoder without generating the
586 // deopt table code, which isn't possible at deserialization time. 594 // deopt table code, which isn't possible at deserialization time.
587 HandleScope scope(isolate); 595 HandleScope scope(isolate);
588 for (int entry = 0; entry < kDeoptTableSerializeEntryCount; ++entry) { 596 for (int entry = 0; entry < kDeoptTableSerializeEntryCount; ++entry) {
589 Address address = Deoptimizer::GetDeoptimizationEntry( 597 Address address = Deoptimizer::GetDeoptimizationEntry(
590 isolate, 598 isolate,
591 entry, 599 entry,
592 Deoptimizer::LAZY, 600 Deoptimizer::LAZY,
593 Deoptimizer::CALCULATE_ENTRY_ADDRESS); 601 Deoptimizer::CALCULATE_ENTRY_ADDRESS);
594 Add(address, LAZY_DEOPTIMIZATION, 64 + entry, "lazy_deopt"); 602 Add(address, LAZY_DEOPTIMIZATION, 64 + entry, "lazy_deopt");
Hannes Payer (out of office) 2013/08/28 09:51:32 64 => 66
Alexandra Mikhaylova 2013/09/19 16:03:38 Done.
595 } 603 }
596 } 604 }
597 605
598 606
599 ExternalReferenceEncoder::ExternalReferenceEncoder() 607 ExternalReferenceEncoder::ExternalReferenceEncoder()
600 : encodings_(Match), 608 : encodings_(Match),
601 isolate_(Isolate::Current()) { 609 isolate_(Isolate::Current()) {
602 ExternalReferenceTable* external_references = 610 ExternalReferenceTable* external_references =
603 ExternalReferenceTable::instance(isolate_); 611 ExternalReferenceTable::instance(isolate_);
604 for (int i = 0; i < external_references->size(); ++i) { 612 for (int i = 0; i < external_references->size(); ++i) {
(...skipping 1252 matching lines...) Expand 10 before | Expand all | Expand 10 after
1857 1865
1858 bool SnapshotByteSource::AtEOF() { 1866 bool SnapshotByteSource::AtEOF() {
1859 if (0u + length_ - position_ > 2 * sizeof(uint32_t)) return false; 1867 if (0u + length_ - position_ > 2 * sizeof(uint32_t)) return false;
1860 for (int x = position_; x < length_; x++) { 1868 for (int x = position_; x < length_; x++) {
1861 if (data_[x] != SerializerDeserializer::nop()) return false; 1869 if (data_[x] != SerializerDeserializer::nop()) return false;
1862 } 1870 }
1863 return true; 1871 return true;
1864 } 1872 }
1865 1873
1866 } } // namespace v8::internal 1874 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698