tcmalloc: Use futex syscall in SpinLockDelay() for ARM.

SpinLockDelay() was avoiding using futex() when compiled for ARM.
The alternative implementation was sleeping for 2 ms. This caused
performance issues in Telemetry's SvgCubics benchmark. The score for
this benchmark more than doubles when this patch is applied (scores were
measured on veyron_jerry, veyron_minnie, daisy). Other benchmarks
(blink_perf.bindings/post-message, blink_perf.canvas/draw-static-webgl-
to-hw-accelerated-canvas-2d) benefit from this change to a lesser
extent. This patch also removes a reference to futex1 in a comment in
linux-syscall_support.h, as this is not a valid syscall name.

Note that a similar fix was pushed in the upstream version of tcmalloc
(issue-693, https://github.com/gperftools/gperftools/commit/7df7f14).

BUG=

Change-Id: I390ac51ed5e1b0ad021ac63eaf3bce81cdca8599
Committed: https://crrev.com/7f1336053e39737671a52ca7a265007e9024ee8a
Review-Url: https://codereview.chromium.org/2457473003
Cr-Original-Commit-Position: refs/heads/master@{#437099}
Cr-Original-Original-Commit-Position: refs/heads/master@{#432628}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e787102a66a74471263456e204209ea6b29e2d53
2 files changed
tree: bdb997bdc66e48f0140dffc84bbd50a0a2a2ab70
  1. src/