MIPS32r2: Fix Chromium runtime crash
authormilko.leporis <milko.leporis@imgtec.com>
Sun, 5 Jun 2016 20:14:21 +0000 (13:14 -0700)
committerCommit bot <commit-bot@chromium.org>
Sun, 5 Jun 2016 20:14:21 +0000 (13:14 -0700)
commit401e77cfe126eea1a12bd81410871fdb80739283
tree1904f87310a09ed1eeacf50a70ba73ae9cdc812d
parent863689c3f468acdd9b9e06e0835c5fd1e2cad4c6
MIPS32r2: Fix Chromium runtime crash

Crash is caused by ldxc1 instruction, which traps when double values are
not aligned on 8-byte boundaries. Problem was tracked to SkChunkAlloc which
produces pointers aligned on 4-byte boundaries leading to misalignment.

This change makes sure that SkChunkAlloc will produce pointers that are
aligned to 8 bytes.

Appropriate tests are added to tests/MemsetTest.cpp

TEST=Build Chromium with Clang and run on MIPS32r2 platform
TEST=./out/Debug/dm --match Memset
BUG=130022
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1849183004

Review-Url: https://codereview.chromium.org/1849183004
gyp/common_conditions.gypi
include/core/SkChunkAlloc.h
src/core/SkChunkAlloc.cpp
tests/MemsetTest.cpp