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

Side by Side Diff: src/heap.cc

Issue 390193007: Unify the IsShortcutCandidate predicate. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 5 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 | « no previous file | src/mark-compact.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 // 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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/api.h" 8 #include "src/api.h"
9 #include "src/base/once.h" 9 #include "src/base/once.h"
10 #include "src/base/utils/random-number-generator.h" 10 #include "src/base/utils/random-number-generator.h"
(...skipping 2175 matching lines...) Expand 10 before | Expand all | Expand 10 after
2186 static inline void EvacuateSeqTwoByteString(Map* map, 2186 static inline void EvacuateSeqTwoByteString(Map* map,
2187 HeapObject** slot, 2187 HeapObject** slot,
2188 HeapObject* object) { 2188 HeapObject* object) {
2189 int object_size = SeqTwoByteString::cast(object)-> 2189 int object_size = SeqTwoByteString::cast(object)->
2190 SeqTwoByteStringSize(map->instance_type()); 2190 SeqTwoByteStringSize(map->instance_type());
2191 EvacuateObject<DATA_OBJECT, kObjectAlignment>( 2191 EvacuateObject<DATA_OBJECT, kObjectAlignment>(
2192 map, slot, object, object_size); 2192 map, slot, object, object_size);
2193 } 2193 }
2194 2194
2195 2195
2196 static inline bool IsShortcutCandidate(int type) {
2197 return ((type & kShortcutTypeMask) == kShortcutTypeTag);
2198 }
2199
2200 static inline void EvacuateShortcutCandidate(Map* map, 2196 static inline void EvacuateShortcutCandidate(Map* map,
2201 HeapObject** slot, 2197 HeapObject** slot,
2202 HeapObject* object) { 2198 HeapObject* object) {
2203 ASSERT(IsShortcutCandidate(map->instance_type())); 2199 ASSERT(IsShortcutCandidate(map->instance_type()));
2204 2200
2205 Heap* heap = map->GetHeap(); 2201 Heap* heap = map->GetHeap();
2206 2202
2207 if (marks_handling == IGNORE_MARKS && 2203 if (marks_handling == IGNORE_MARKS &&
2208 ConsString::cast(object)->unchecked_second() == 2204 ConsString::cast(object)->unchecked_second() ==
2209 heap->empty_string()) { 2205 heap->empty_string()) {
(...skipping 4205 matching lines...) Expand 10 before | Expand all | Expand 10 after
6415 static_cast<int>(object_sizes_last_time_[index])); 6411 static_cast<int>(object_sizes_last_time_[index]));
6416 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT) 6412 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT)
6417 #undef ADJUST_LAST_TIME_OBJECT_COUNT 6413 #undef ADJUST_LAST_TIME_OBJECT_COUNT
6418 6414
6419 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); 6415 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_));
6420 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); 6416 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_));
6421 ClearObjectStats(); 6417 ClearObjectStats();
6422 } 6418 }
6423 6419
6424 } } // namespace v8::internal 6420 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/mark-compact.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698