| OLD | NEW | 
|---|
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 <sstream> | 5 #include <sstream> | 
| 6 | 6 | 
| 7 #include "src/v8.h" | 7 #include "src/v8.h" | 
| 8 | 8 | 
| 9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" | 
| 10 #include "src/layout-descriptor.h" | 10 #include "src/layout-descriptor.h" | 
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 238   // It must not become fast-mode descriptor here, because otherwise it has to | 238   // It must not become fast-mode descriptor here, because otherwise it has to | 
| 239   // be fast pointer layout descriptor already but it's is slow mode now. | 239   // be fast pointer layout descriptor already but it's is slow mode now. | 
| 240   DCHECK_LT(kSmiValueSize, layout_descriptor_length); | 240   DCHECK_LT(kSmiValueSize, layout_descriptor_length); | 
| 241 | 241 | 
| 242   // Trim, clean and reinitialize this slow-mode layout descriptor. | 242   // Trim, clean and reinitialize this slow-mode layout descriptor. | 
| 243   int array_length = GetSlowModeBackingStoreLength(layout_descriptor_length); | 243   int array_length = GetSlowModeBackingStoreLength(layout_descriptor_length); | 
| 244   int current_length = length(); | 244   int current_length = length(); | 
| 245   if (current_length != array_length) { | 245   if (current_length != array_length) { | 
| 246     DCHECK_LT(array_length, current_length); | 246     DCHECK_LT(array_length, current_length); | 
| 247     int delta = current_length - array_length; | 247     int delta = current_length - array_length; | 
| 248     heap->RightTrimFixedArray<Heap::FROM_GC>(this, delta); | 248     heap->RightTrimFixedArray<Heap::SEQUENTIAL_TO_SWEEPER>(this, delta); | 
| 249   } | 249   } | 
| 250   memset(DataPtr(), 0, DataSize()); | 250   memset(DataPtr(), 0, DataSize()); | 
| 251   LayoutDescriptor* layout_descriptor = | 251   LayoutDescriptor* layout_descriptor = | 
| 252       Initialize(this, map, descriptors, num_descriptors); | 252       Initialize(this, map, descriptors, num_descriptors); | 
| 253   DCHECK_EQ(this, layout_descriptor); | 253   DCHECK_EQ(this, layout_descriptor); | 
| 254   return layout_descriptor; | 254   return layout_descriptor; | 
| 255 } | 255 } | 
| 256 | 256 | 
| 257 | 257 | 
| 258 bool LayoutDescriptor::IsConsistentWithMap(Map* map, bool check_tail) { | 258 bool LayoutDescriptor::IsConsistentWithMap(Map* map, bool check_tail) { | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 279       int n = capacity(); | 279       int n = capacity(); | 
| 280       for (int i = last_field_index; i < n; i++) { | 280       for (int i = last_field_index; i < n; i++) { | 
| 281         DCHECK(IsTagged(i)); | 281         DCHECK(IsTagged(i)); | 
| 282       } | 282       } | 
| 283     } | 283     } | 
| 284   } | 284   } | 
| 285   return true; | 285   return true; | 
| 286 } | 286 } | 
| 287 } | 287 } | 
| 288 }  // namespace v8::internal | 288 }  // namespace v8::internal | 
| OLD | NEW | 
|---|