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

Side by Side Diff: src/heap.cc

Issue 7540025: Merge regexp codeflushing (r8532+r8560) to the 3.3 branch. (Closed) Base URL: http://v8.googlecode.com/svn/branches/3.3/
Patch Set: '' Created 9 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 | Annotate | Revision Log
« no previous file with comments | « src/heap.h ('k') | src/ia32/code-stubs-ia32.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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 initial_semispace_size_(512*KB), 89 initial_semispace_size_(512*KB),
90 max_old_generation_size_(512*MB), 90 max_old_generation_size_(512*MB),
91 max_executable_size_(128*MB), 91 max_executable_size_(128*MB),
92 code_range_size_(0), 92 code_range_size_(0),
93 #endif 93 #endif
94 // Variables set based on semispace_size_ and old_generation_size_ in 94 // Variables set based on semispace_size_ and old_generation_size_ in
95 // ConfigureHeap (survived_since_last_expansion_, external_allocation_limit_) 95 // ConfigureHeap (survived_since_last_expansion_, external_allocation_limit_)
96 // Will be 4 * reserved_semispace_size_ to ensure that young 96 // Will be 4 * reserved_semispace_size_ to ensure that young
97 // generation can be aligned to its size. 97 // generation can be aligned to its size.
98 survived_since_last_expansion_(0), 98 survived_since_last_expansion_(0),
99 sweep_generation_(0),
99 always_allocate_scope_depth_(0), 100 always_allocate_scope_depth_(0),
100 linear_allocation_scope_depth_(0), 101 linear_allocation_scope_depth_(0),
101 contexts_disposed_(0), 102 contexts_disposed_(0),
102 new_space_(this), 103 new_space_(this),
103 old_pointer_space_(NULL), 104 old_pointer_space_(NULL),
104 old_data_space_(NULL), 105 old_data_space_(NULL),
105 code_space_(NULL), 106 code_space_(NULL),
106 map_space_(NULL), 107 map_space_(NULL),
107 cell_space_(NULL), 108 cell_space_(NULL),
108 lo_space_(NULL), 109 lo_space_(NULL),
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 } 730 }
730 } 731 }
731 732
732 EnsureFromSpaceIsCommitted(); 733 EnsureFromSpaceIsCommitted();
733 734
734 int start_new_space_size = Heap::new_space()->SizeAsInt(); 735 int start_new_space_size = Heap::new_space()->SizeAsInt();
735 736
736 if (collector == MARK_COMPACTOR) { 737 if (collector == MARK_COMPACTOR) {
737 // Perform mark-sweep with optional compaction. 738 // Perform mark-sweep with optional compaction.
738 MarkCompact(tracer); 739 MarkCompact(tracer);
739 740 sweep_generation_++;
740 bool high_survival_rate_during_scavenges = IsHighSurvivalRate() && 741 bool high_survival_rate_during_scavenges = IsHighSurvivalRate() &&
741 IsStableOrIncreasingSurvivalTrend(); 742 IsStableOrIncreasingSurvivalTrend();
742 743
743 UpdateSurvivalRateTrend(start_new_space_size); 744 UpdateSurvivalRateTrend(start_new_space_size);
744 745
745 intptr_t old_gen_size = PromotedSpaceSize(); 746 intptr_t old_gen_size = PromotedSpaceSize();
746 old_gen_promotion_limit_ = 747 old_gen_promotion_limit_ =
747 old_gen_size + Max(kMinimumPromotionLimit, old_gen_size / 3); 748 old_gen_size + Max(kMinimumPromotionLimit, old_gen_size / 3);
748 old_gen_allocation_limit_ = 749 old_gen_allocation_limit_ =
749 old_gen_size + Max(kMinimumAllocationLimit, old_gen_size / 2); 750 old_gen_size + Max(kMinimumAllocationLimit, old_gen_size / 2);
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after
1285 template VisitSpecialized<Context::kSize>); 1286 template VisitSpecialized<Context::kSize>);
1286 1287
1287 table_.Register(kVisitConsString, 1288 table_.Register(kVisitConsString,
1288 &ObjectEvacuationStrategy<POINTER_OBJECT>:: 1289 &ObjectEvacuationStrategy<POINTER_OBJECT>::
1289 template VisitSpecialized<ConsString::kSize>); 1290 template VisitSpecialized<ConsString::kSize>);
1290 1291
1291 table_.Register(kVisitSharedFunctionInfo, 1292 table_.Register(kVisitSharedFunctionInfo,
1292 &ObjectEvacuationStrategy<POINTER_OBJECT>:: 1293 &ObjectEvacuationStrategy<POINTER_OBJECT>::
1293 template VisitSpecialized<SharedFunctionInfo::kSize>); 1294 template VisitSpecialized<SharedFunctionInfo::kSize>);
1294 1295
1296 table_.Register(kVisitJSRegExp,
1297 &ObjectEvacuationStrategy<POINTER_OBJECT>::
1298 Visit);
1299
1295 table_.Register(kVisitJSFunction, 1300 table_.Register(kVisitJSFunction,
1296 &ObjectEvacuationStrategy<POINTER_OBJECT>:: 1301 &ObjectEvacuationStrategy<POINTER_OBJECT>::
1297 template VisitSpecialized<JSFunction::kSize>); 1302 template VisitSpecialized<JSFunction::kSize>);
1298 1303
1299 table_.RegisterSpecializations<ObjectEvacuationStrategy<DATA_OBJECT>, 1304 table_.RegisterSpecializations<ObjectEvacuationStrategy<DATA_OBJECT>,
1300 kVisitDataObject, 1305 kVisitDataObject,
1301 kVisitDataObjectGeneric>(); 1306 kVisitDataObjectGeneric>();
1302 1307
1303 table_.RegisterSpecializations<ObjectEvacuationStrategy<POINTER_OBJECT>, 1308 table_.RegisterSpecializations<ObjectEvacuationStrategy<POINTER_OBJECT>,
1304 kVisitJSObject, 1309 kVisitJSObject,
(...skipping 4616 matching lines...) Expand 10 before | Expand all | Expand 10 after
5921 } 5926 }
5922 5927
5923 5928
5924 void ExternalStringTable::TearDown() { 5929 void ExternalStringTable::TearDown() {
5925 new_space_strings_.Free(); 5930 new_space_strings_.Free();
5926 old_space_strings_.Free(); 5931 old_space_strings_.Free();
5927 } 5932 }
5928 5933
5929 5934
5930 } } // namespace v8::internal 5935 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/heap.h ('k') | src/ia32/code-stubs-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698