gecko-dev/tools
Jim Chen 0574002b30 Bug 1260208 - part 0 - correctly compare EHTable when sorting; r=froydnj
operator< for EHTable compares the LHS start PC with the RHS *end* PC.
Because the ranges are non-overlapping, this works fine for two distinct
EHTables. However, the comparison doesn't work if LHS and RHS refer to
the same EHTable; in that case operator< returns true, even though it
should return false because the two operands are identical.

The operator is used to sort a std::vector using std::sort [1].  I think
the libc++ std::sort implementation has a quirk where, if the comparison
function has the above bug, sort will sometimes get confused, and start
sorting "values" outside of the memory range that it's given.  This
results in memory corruption and subsequent unpredictable behavior.

The fix is simply to compare only the start PCs in EHTable, so that
std::sort can work on it correctly.

[1] http://mxr.mozilla.org/mozilla-central/source/tools/profiler/core/EHABIStackWalk.cpp?rev=86730d0a8209#485
2016-05-03 09:13:49 -04:00
..
bloatview
check-moz-style Bug 875605 - Add tests to check-moz-style. r=ms2ger 2013-05-26 09:42:31 -04:00
docs Bug 1259514 - Add manifestparser and reftest to Python search path; r=chmanchester 2016-03-24 11:19:44 -07:00
jprof Bug 1261384: Clean up warnings-as-errors nits in jprof (NPOTB) rs=me 2016-04-01 11:08:04 -04:00
leak-gauge
lint Bug 1229588: Add a taskcluster test for eslint. r=dustin 2016-01-06 13:33:30 -08:00
memory
memory-profiler Bug 757969 - use __thread in ThreadLocal; r=froydnj 2016-01-22 10:33:44 -07:00
mercurial Bug 1268573 - Pin revision in hgwatchman repo; r=smacleod 2016-04-28 10:20:25 -07:00
power Revert "Bug 1114647 - Rename "plugin-container" to "firefox-webcontent" and create a new executable target for Win32 called "firefox-plugin-container" r=ted,jhamer" because of widespread breakage due to whitelisted executable names in third parties 2016-04-08 13:34:40 -04:00
profiler Bug 1260208 - part 0 - correctly compare EHTable when sorting; r=froydnj 2016-05-03 09:13:49 -04:00
quitter Bug 1255567 - Sign quitter extension for valgrind-test and pgo/profileserver, r=jgriffin 2016-03-10 15:37:51 -05:00
rb Back out ff446e81eaf5 (bug 1216681) for Linux PGO bustage 2016-02-11 20:27:36 -08:00
rewriting
update-packaging Bug 1235676 - Replace $(abspath $(DIST)) with $(ABS_DIST). r=mshal 2015-12-31 08:10:02 +09:00
mach_commands.py Bug 1244736 - Remove mach update-uuids and related code; r=froydnj 2016-02-01 16:10:08 -08:00