MIPS: Ensure double aligned allocations through runtime routines.
3rd (of 3) CLs to ensure complete alignment of FixedDoubleArrays. TEST= BUG= R=mstarzinger@chromium.org, plind44@gmail.com Review URL: https://codereview.chromium.org/35313002 Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
b2ff7a09b5
commit
4e7084ebcf
@ -9786,6 +9786,7 @@ static MaybeObject* Allocate(Isolate* isolate,
|
||||
bool double_align,
|
||||
AllocationSpace space) {
|
||||
Heap* heap = isolate->heap();
|
||||
if (double_align) size += kPointerSize;
|
||||
RUNTIME_ASSERT(IsAligned(size, kPointerSize));
|
||||
RUNTIME_ASSERT(size > 0);
|
||||
RUNTIME_ASSERT(size <= heap->MaxRegularSpaceAllocationSize());
|
||||
@ -9797,6 +9798,9 @@ static MaybeObject* Allocate(Isolate* isolate,
|
||||
MemoryChunk* chunk = MemoryChunk::FromAddress(allocation->address());
|
||||
ASSERT(chunk->owner()->identity() == space);
|
||||
#endif
|
||||
if (double_align) {
|
||||
allocation = heap->EnsureDoubleAligned(allocation, size);
|
||||
}
|
||||
heap->CreateFillerObjectAt(allocation->address(), size);
|
||||
return allocation;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user