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

Side by Side Diff: src/heap.cc

Issue 83253002: Dispose external string resource on heap teardown. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | test/cctest/test-api.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 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 7798 matching lines...) Expand 10 before | Expand all | Expand 10 after
7809 old_space_strings_.Trim(); 7809 old_space_strings_.Trim();
7810 #ifdef VERIFY_HEAP 7810 #ifdef VERIFY_HEAP
7811 if (FLAG_verify_heap) { 7811 if (FLAG_verify_heap) {
7812 Verify(); 7812 Verify();
7813 } 7813 }
7814 #endif 7814 #endif
7815 } 7815 }
7816 7816
7817 7817
7818 void ExternalStringTable::TearDown() { 7818 void ExternalStringTable::TearDown() {
7819 for (int i = 0; i < new_space_strings_.length(); ++i) {
7820 heap_->FinalizeExternalString(ExternalString::cast(new_space_strings_[i]));
7821 }
7819 new_space_strings_.Free(); 7822 new_space_strings_.Free();
7823 for (int i = 0; i < old_space_strings_.length(); ++i) {
7824 heap_->FinalizeExternalString(ExternalString::cast(old_space_strings_[i]));
7825 }
7820 old_space_strings_.Free(); 7826 old_space_strings_.Free();
7821 } 7827 }
7822 7828
7823 7829
7824 void Heap::QueueMemoryChunkForFree(MemoryChunk* chunk) { 7830 void Heap::QueueMemoryChunkForFree(MemoryChunk* chunk) {
7825 chunk->set_next_chunk(chunks_queued_for_free_); 7831 chunk->set_next_chunk(chunks_queued_for_free_);
7826 chunks_queued_for_free_ = chunk; 7832 chunks_queued_for_free_ = chunk;
7827 } 7833 }
7828 7834
7829 7835
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
7955 static_cast<int>(object_sizes_last_time_[index])); 7961 static_cast<int>(object_sizes_last_time_[index]));
7956 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT) 7962 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT)
7957 #undef ADJUST_LAST_TIME_OBJECT_COUNT 7963 #undef ADJUST_LAST_TIME_OBJECT_COUNT
7958 7964
7959 OS::MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); 7965 OS::MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_));
7960 OS::MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); 7966 OS::MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_));
7961 ClearObjectStats(); 7967 ClearObjectStats();
7962 } 7968 }
7963 7969
7964 } } // namespace v8::internal 7970 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | test/cctest/test-api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698