OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "src/globals.h" | 7 #include "src/globals.h" |
8 #include "src/heap/heap.h" | 8 #include "src/heap/heap.h" |
9 #include "src/heap/spaces.h" | 9 #include "src/heap/spaces.h" |
10 #include "src/heap/spaces-inl.h" | 10 #include "src/heap/spaces-inl.h" |
11 // FIXME(mstarzinger, marja): This is weird, but required because of the missing | 11 // FIXME(mstarzinger, marja): This is weird, but required because of the missing |
12 // (disallowed) include: src/heap/incremental-marking.h -> src/objects-inl.h | 12 // (disallowed) include: src/heap/incremental-marking.h -> src/objects-inl.h |
13 #include "src/objects-inl.h" | 13 #include "src/objects-inl.h" |
14 #include "test/cctest/cctest.h" | 14 #include "test/cctest/cctest.h" |
15 | 15 |
16 namespace v8 { | 16 namespace v8 { |
17 namespace internal { | 17 namespace internal { |
18 | 18 |
19 static Address AllocateLabBackingStore(Heap* heap, intptr_t size_in_bytes) { | 19 static Address AllocateLabBackingStore(Heap* heap, intptr_t size_in_bytes) { |
20 AllocationResult result = heap->old_space()->AllocateRaw( | 20 AllocationResult result = heap->old_space()->AllocateRaw( |
21 static_cast<int>(size_in_bytes), kDoubleAligned); | 21 static_cast<int>(size_in_bytes), kDoubleAligned); |
22 Object* obj = result.ToObjectChecked(); | 22 Address adr = result.ToObjectChecked()->address(); |
23 Address adr = HeapObject::cast(obj)->address(); | |
24 return adr; | 23 return adr; |
25 } | 24 } |
26 | 25 |
27 | 26 |
28 static void VerifyIterable(v8::internal::Address base, | 27 static void VerifyIterable(v8::internal::Address base, |
29 v8::internal::Address limit, | 28 v8::internal::Address limit, |
30 std::vector<intptr_t> expected_size) { | 29 std::vector<intptr_t> expected_size) { |
31 CHECK_LE(reinterpret_cast<intptr_t>(base), reinterpret_cast<intptr_t>(limit)); | 30 CHECK_LE(reinterpret_cast<intptr_t>(base), reinterpret_cast<intptr_t>(limit)); |
32 HeapObject* object = nullptr; | 31 HeapObject* object = nullptr; |
33 size_t counter = 0; | 32 size_t counter = 0; |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 break; | 278 break; |
280 } | 279 } |
281 } | 280 } |
282 } | 281 } |
283 VerifyIterable(base, limit, expected_sizes); | 282 VerifyIterable(base, limit, expected_sizes); |
284 } | 283 } |
285 #endif // V8_HOST_ARCH_32_BIT | 284 #endif // V8_HOST_ARCH_32_BIT |
286 | 285 |
287 } // namespace internal | 286 } // namespace internal |
288 } // namespace v8 | 287 } // namespace v8 |
OLD | NEW |