| OLD | NEW |
| 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/bits.h" | 9 #include "src/base/bits.h" |
| 10 #include "src/base/once.h" | 10 #include "src/base/once.h" |
| (...skipping 2693 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2704 AllocationResult allocation = AllocateMap(EXTERNAL_ONE_BYTE_STRING_TYPE, | 2704 AllocationResult allocation = AllocateMap(EXTERNAL_ONE_BYTE_STRING_TYPE, |
| 2705 ExternalOneByteString::kSize); | 2705 ExternalOneByteString::kSize); |
| 2706 if (!allocation.To(&obj)) return false; | 2706 if (!allocation.To(&obj)) return false; |
| 2707 set_native_source_string_map(Map::cast(obj)); | 2707 set_native_source_string_map(Map::cast(obj)); |
| 2708 } | 2708 } |
| 2709 | 2709 |
| 2710 ALLOCATE_VARSIZE_MAP(FIXED_DOUBLE_ARRAY_TYPE, fixed_double_array) | 2710 ALLOCATE_VARSIZE_MAP(FIXED_DOUBLE_ARRAY_TYPE, fixed_double_array) |
| 2711 ALLOCATE_VARSIZE_MAP(BYTE_ARRAY_TYPE, byte_array) | 2711 ALLOCATE_VARSIZE_MAP(BYTE_ARRAY_TYPE, byte_array) |
| 2712 ALLOCATE_VARSIZE_MAP(FREE_SPACE_TYPE, free_space) | 2712 ALLOCATE_VARSIZE_MAP(FREE_SPACE_TYPE, free_space) |
| 2713 | 2713 |
| 2714 #define ALLOCATE_EXTERNAL_ARRAY_MAP(Type, type, TYPE, ctype, size) \ | 2714 #define ALLOCATE_EXTERNAL_ARRAY_MAP(Type, type, TYPE, ctype, size) \ |
| 2715 ALLOCATE_MAP(EXTERNAL_##TYPE##_ARRAY_TYPE, ExternalArray::kAlignedSize, \ | 2715 ALLOCATE_MAP(EXTERNAL_##TYPE##_ARRAY_TYPE, ExternalArray::kSize, \ |
| 2716 external_##type##_array) | 2716 external_##type##_array) |
| 2717 | 2717 |
| 2718 TYPED_ARRAYS(ALLOCATE_EXTERNAL_ARRAY_MAP) | 2718 TYPED_ARRAYS(ALLOCATE_EXTERNAL_ARRAY_MAP) |
| 2719 #undef ALLOCATE_EXTERNAL_ARRAY_MAP | 2719 #undef ALLOCATE_EXTERNAL_ARRAY_MAP |
| 2720 | 2720 |
| 2721 #define ALLOCATE_FIXED_TYPED_ARRAY_MAP(Type, type, TYPE, ctype, size) \ | 2721 #define ALLOCATE_FIXED_TYPED_ARRAY_MAP(Type, type, TYPE, ctype, size) \ |
| 2722 ALLOCATE_VARSIZE_MAP(FIXED_##TYPE##_ARRAY_TYPE, fixed_##type##_array) | 2722 ALLOCATE_VARSIZE_MAP(FIXED_##TYPE##_ARRAY_TYPE, fixed_##type##_array) |
| 2723 | 2723 |
| 2724 TYPED_ARRAYS(ALLOCATE_FIXED_TYPED_ARRAY_MAP) | 2724 TYPED_ARRAYS(ALLOCATE_FIXED_TYPED_ARRAY_MAP) |
| 2725 #undef ALLOCATE_FIXED_TYPED_ARRAY_MAP | 2725 #undef ALLOCATE_FIXED_TYPED_ARRAY_MAP |
| (...skipping 883 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3609 if (profiler->is_tracking_allocations()) { | 3609 if (profiler->is_tracking_allocations()) { |
| 3610 profiler->UpdateObjectSizeEvent(object->address(), object->Size()); | 3610 profiler->UpdateObjectSizeEvent(object->address(), object->Size()); |
| 3611 } | 3611 } |
| 3612 } | 3612 } |
| 3613 | 3613 |
| 3614 | 3614 |
| 3615 AllocationResult Heap::AllocateExternalArray(int length, | 3615 AllocationResult Heap::AllocateExternalArray(int length, |
| 3616 ExternalArrayType array_type, | 3616 ExternalArrayType array_type, |
| 3617 void* external_pointer, | 3617 void* external_pointer, |
| 3618 PretenureFlag pretenure) { | 3618 PretenureFlag pretenure) { |
| 3619 int size = ExternalArray::kAlignedSize; | 3619 int size = ExternalArray::kSize; |
| 3620 AllocationSpace space = SelectSpace(size, pretenure); | 3620 AllocationSpace space = SelectSpace(size, pretenure); |
| 3621 HeapObject* result; | 3621 HeapObject* result; |
| 3622 { | 3622 { |
| 3623 AllocationResult allocation = AllocateRaw(size, space, OLD_SPACE); | 3623 AllocationResult allocation = AllocateRaw(size, space, OLD_SPACE); |
| 3624 if (!allocation.To(&result)) return allocation; | 3624 if (!allocation.To(&result)) return allocation; |
| 3625 } | 3625 } |
| 3626 | 3626 |
| 3627 result->set_map_no_write_barrier(MapForExternalArrayType(array_type)); | 3627 result->set_map_no_write_barrier(MapForExternalArrayType(array_type)); |
| 3628 ExternalArray::cast(result)->set_length(length); | 3628 ExternalArray::cast(result)->set_length(length); |
| 3629 ExternalArray::cast(result)->set_external_pointer(external_pointer); | 3629 ExternalArray::cast(result)->set_external_pointer(external_pointer); |
| (...skipping 2804 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6434 static_cast<int>(object_sizes_last_time_[index])); | 6434 static_cast<int>(object_sizes_last_time_[index])); |
| 6435 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT) | 6435 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT) |
| 6436 #undef ADJUST_LAST_TIME_OBJECT_COUNT | 6436 #undef ADJUST_LAST_TIME_OBJECT_COUNT |
| 6437 | 6437 |
| 6438 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); | 6438 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); |
| 6439 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); | 6439 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); |
| 6440 ClearObjectStats(); | 6440 ClearObjectStats(); |
| 6441 } | 6441 } |
| 6442 } | 6442 } |
| 6443 } // namespace v8::internal | 6443 } // namespace v8::internal |
| OLD | NEW |