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

Side by Side Diff: src/heap/heap.h

Issue 759823006: Ensure double alignment when deserializing. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 6 years 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
« no previous file with comments | « no previous file | src/heap/heap.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 #ifndef V8_HEAP_HEAP_H_ 5 #ifndef V8_HEAP_HEAP_H_
6 #define V8_HEAP_HEAP_H_ 6 #define V8_HEAP_HEAP_H_
7 7
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 1708 matching lines...) Expand 10 before | Expand all | Expand 10 after
1719 // size, pretenuring decision, and preferred old-space. 1719 // size, pretenuring decision, and preferred old-space.
1720 static AllocationSpace SelectSpace(int object_size, 1720 static AllocationSpace SelectSpace(int object_size,
1721 AllocationSpace preferred_old_space, 1721 AllocationSpace preferred_old_space,
1722 PretenureFlag pretenure) { 1722 PretenureFlag pretenure) {
1723 DCHECK(preferred_old_space == OLD_POINTER_SPACE || 1723 DCHECK(preferred_old_space == OLD_POINTER_SPACE ||
1724 preferred_old_space == OLD_DATA_SPACE); 1724 preferred_old_space == OLD_DATA_SPACE);
1725 if (object_size > Page::kMaxRegularHeapObjectSize) return LO_SPACE; 1725 if (object_size > Page::kMaxRegularHeapObjectSize) return LO_SPACE;
1726 return (pretenure == TENURED) ? preferred_old_space : NEW_SPACE; 1726 return (pretenure == TENURED) ? preferred_old_space : NEW_SPACE;
1727 } 1727 }
1728 1728
1729 HeapObject* DoubleAlignForDeserialization(HeapObject* object, int size);
1730
1729 // Allocate an uninitialized object. The memory is non-executable if the 1731 // Allocate an uninitialized object. The memory is non-executable if the
1730 // hardware and OS allow. This is the single choke-point for allocations 1732 // hardware and OS allow. This is the single choke-point for allocations
1731 // performed by the runtime and should not be bypassed (to extend this to 1733 // performed by the runtime and should not be bypassed (to extend this to
1732 // inlined allocations, use the Heap::DisableInlineAllocation() support). 1734 // inlined allocations, use the Heap::DisableInlineAllocation() support).
1733 MUST_USE_RESULT inline AllocationResult AllocateRaw( 1735 MUST_USE_RESULT inline AllocationResult AllocateRaw(
1734 int size_in_bytes, AllocationSpace space, AllocationSpace retry_space); 1736 int size_in_bytes, AllocationSpace space, AllocationSpace retry_space);
1735 1737
1736 // Allocates a heap object based on the map. 1738 // Allocates a heap object based on the map.
1737 MUST_USE_RESULT AllocationResult 1739 MUST_USE_RESULT AllocationResult
1738 Allocate(Map* map, AllocationSpace space, 1740 Allocate(Map* map, AllocationSpace space,
(...skipping 833 matching lines...) Expand 10 before | Expand all | Expand 10 after
2572 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. 2574 DisallowHeapAllocation no_allocation; // i.e. no gc allowed.
2573 2575
2574 private: 2576 private:
2575 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 2577 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
2576 }; 2578 };
2577 #endif // DEBUG 2579 #endif // DEBUG
2578 } 2580 }
2579 } // namespace v8::internal 2581 } // namespace v8::internal
2580 2582
2581 #endif // V8_HEAP_HEAP_H_ 2583 #endif // V8_HEAP_HEAP_H_
OLDNEW
« no previous file with comments | « no previous file | src/heap/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698