Commit Graph

71 Commits

Author SHA1 Message Date
Wes Kocher
c90904f9bf Merge inbound to central, a=merge CLOSED TREE
MozReview-Commit-ID: 9HQViJrDT6S
2017-04-26 17:30:31 -07:00
Nicholas Nethercote
bc1d6a21a2 Bug 1358320 - Make TimeStamp::ProcessCreation()'s outparam optional. r=gsvelto.
TimeStamp::ProcessCreations()'s aIsInconsistent outparam is ignored by the
majority of its caller. This patch makes it optional. Notably, this makes
ProcessCreation() easier to use in a constructor's initializer list.
2017-04-26 14:55:54 +10:00
Wes Kocher
675c0065d0 Backed out changeset 31d1116ced93 (bug 1349444) for assertions on Windows a=backout
MozReview-Commit-ID: 4dOhE2GADv3
2017-04-25 15:52:10 -07:00
Wes Kocher
bb10f1e55f Backed out changeset 5b18b53232b8 (bug 1355559) for assertions on Windows
MozReview-Commit-ID: G2UXc5l6b2T
2017-04-25 15:51:33 -07:00
Wes Kocher
bf1d6ef1c2 Backed out changeset 8868bb11e7a8 (bug 1358251) for assertions on Windows
MozReview-Commit-ID: Laffk7TtWgP
2017-04-25 15:50:52 -07:00
David Major
23f65c763c Bug 1358251: EnsureSymInitialized doesn't need to EnsureWalkThreadReady. r=mstange 2017-04-25 16:10:14 -04:00
David Major
27bac27c90 Bug 1355559: Acquire the stack walk workaround lock in LdrResolveDelayLoadedAPI. r=mstange 2017-04-25 16:10:14 -04:00
David Major
5be9ebe23b Bug 1349444: Take the stack walk workaround lock in LdrUnloadDll. r=mstange
This will prevent the profiler from suspending a target thread while that thread holds the RtlLookupFunctionEntry lock, which the profiler itself also wants to use.
2017-04-25 16:10:14 -04:00
Tom Tromey
99f4608655 Bug 1334278 - change mozilla::Smprintf to return a UniquePtr; r=froydnj
Change mozilla::Smprintf and friends to return a UniquePtr, rather than
relying on manual memory management.  (Though after this patch there are
still a handful of spots needing SmprintfFree.)

MozReview-Commit-ID: COa4nzIX5qa

--HG--
extra : rebase_source : ab4a11b4d2e758099bd0794d5c25d799a7e42680
2017-03-03 08:17:27 -07:00
David Major
fc18ed5283 Bug 1354292: Let the stack walker unwind leaf functions without a function entry. r=njn 2017-04-18 18:52:06 -04:00
David Major
e97b534db7 Bug 1353420: Register the JIT region with mozglue so it can avoid stack-walking that code. r=luke 2017-04-18 18:52:04 -04:00
Nathan Froyd
997e7cec82 Backout e824f50f5ca6 (bug 1353787) for massive OS X test bustage on a CLOSED TREE 2017-04-07 16:35:45 -04:00
Nathan Froyd
51d8c87bbb Bug 1353787 - use first-fit mutexes on OS X; r=erahm
Changing the fairness policy makes OS X mutexes roughly an order of
magnitude faster in the contended case.
2017-04-07 15:42:19 -04:00
Tom Tromey
8e0d0b9741 Bug 1350097 - handle very long floating point output in cvt_f; r=froydnj
Bug 1350097 points out a case where the assertion in cvt_f, added in
https://bugzilla.mozilla.org/show_bug.cgi?id=1060419#c127, triggers.
Before this addition, code calling this printf variant would end up just
printing something invalid, as the truncated value would be emitted.
This patch increases the buffer size to be sufficient for DBL_MAX.

MozReview-Commit-ID: AVphURGa6jL

--HG--
extra : rebase_source : c7a2dad8e496434a631441ccc25dfee2db1ea71a
2017-03-24 08:18:51 -06:00
Jan Beich
ff86fa2735 Bug 1350955 - Enable adaptive mutex usage on FreeBSD. r=froydnj
MozReview-Commit-ID: 7bfgK4TfZsH

--HG--
extra : rebase_source : f369497ac3b907b3f05cb78ce8567cbe4016fda4
2017-03-27 15:14:00 +00:00
Nathan Froyd
5b67a265dc Bug 1312087 - part 0 - use PTHREAD_MUTEX_ADAPTIVE_NP mutexes on Linux/glibc; r=erahm
This matches NSPR's behavior for its PRLock type.
2017-03-21 11:20:36 -04:00
Tom Ritter
bdf4234dd1 Bug 1344809 Move function definition to cpp to fix mingw 'definition is marked dllimport' error r=froydnj
MozReview-Commit-ID: 8iAaa3FXvDq

--HG--
extra : rebase_source : aa2b14a00127c87853ebbc9961393e8c82ea0882
2017-03-13 11:51:10 -05:00
Aaron Klotz
7dba35d193 Bug 1344827: Only disable critical section debug info on beta and release; r=fitzgen
--HG--
extra : amend_source : 764d4a20231a3262bda1dd463d82fc018815ab7b
2017-03-06 12:11:45 -07:00
Tom Tromey
3f70992816 Bug 1341880 - do not emit trailing \0 in PrintfState; r=glandium
MozReview-Commit-ID: 2di7CsDCWLF

--HG--
extra : rebase_source : f5469d4b3e818204848123ea163c7f0f08563f7c
2017-02-27 13:29:54 -07:00
Nathan Froyd
8828af4759 Bug 1336344 - use sizeof(pthread_mutex_t) to size MutexImpl's platformData_; r=fitzgen
For pthreads platforms, we have a terribly large condition for the size
of a MutexImpl that attempts to hardcode the number of words that
pthread_mutex_t takes.  This hardcoding isn't always correct.  We
originally did this to try and keep <pthread.h> includes out of the
headers, but the PlatformConditionVariable.h header already includes
<pthread.h> anyway, and <pthread.h> isn't so namespace-invasive as
<windows.h>.  So go ahead and include <pthread.h> and use the actual
definition of pthread_mutex_t to size the platformData_ member.
2017-02-22 16:41:35 -05:00
Makoto Kato
a5d634db34 Bug 1256565 - Part 1. Implement GetEventTimeStamp(). r=jchen,karlt
Android uses android.os.SystemClock.uptimeMilles for event time and SystemClock.uptimeMilles uses SYSTEM_TIME_MONOTONIC.

So since TimeStamp posix impelemetation uses SYSTEM_TIME_MONOTONIC too, so we can use event time on FromSystemTime.

MozReview-Commit-ID: 5Qb5kmnHHCI

--HG--
extra : rebase_source : 26d1554fa60e3216edfd4b149380910fe2a9d845
2017-02-20 12:34:44 +09:00
Wes Kocher
8c4ce17711 Merge inbound to m-c a=merge
MozReview-Commit-ID: DCUf7VEDrTt
2017-02-17 13:38:51 -08:00
Jan de Mooij
7c17ed23c6 Bug 1337499 - Take the Win64 stackwalk lock in WalkStackMain64 to avoid deadlocks. r=mstange 2017-02-17 10:51:11 +01:00
Tom Tromey
410b2299d0 Bug 1060419 - update comments in Printf.h; r=froydnj
MozReview-Commit-ID: H1njGy5JJ6f

--HG--
extra : rebase_source : c8874a1e13fa4e12790fa4ba909671ba9c2da01b
2017-01-05 15:43:45 -07:00
Tom Tromey
f0b5bc050d Bug 1060419 - use result of SprintfLiteral in Printf.cpp; r=froydnj
MozReview-Commit-ID: HSHAeKVu6PU

--HG--
extra : rebase_source : ad15e1e0e13cf3974a1116f796b7a201fcfb36fd
2017-01-05 08:15:48 -07:00
Sylvestre Ledru
6d892b8f7f Bug 1338086 - Remove useless else blocks in order to reduce complexity in mozglue/misc/ r=froydnj
MozReview-Commit-ID: Btyl5N6EsUY

--HG--
extra : rebase_source : 087a18c13a70801bf8417478654b125665e3f2ec
2017-02-09 10:55:26 +01:00
Tom Tromey
6c09e4eb63 Bug 1060419 - add %S and %ls support to Smprintf; r=froydnj
MozReview-Commit-ID: CQMZCkCOXDV

--HG--
extra : rebase_source : 6b4ca87528cf820c71d62c50b734e3a4c06139ff
2017-01-19 15:56:09 -07:00
Tom Tromey
1610a7b7cb Bug 1060419 - move Smprintf et al to mozglue, r=froydnj
MozReview-Commit-ID: 4U23r6JhLls

--HG--
extra : rebase_source : 8e020d5d26d31b95f5b2c0e729ec27540c123b01
2017-01-13 10:25:59 -07:00
Nathan Froyd
bf582d23fa Bug 1312086 - part 3 - move js::{Mutex,ConditionVariable}Impl to mozglue; r=fitzgen,glandium 2017-02-08 20:52:55 -05:00
Botond Ballo
c57de18781 Bug 1331495 - Add an operator<< overload for TimeDuration. r=froydnj
MozReview-Commit-ID: dYKdlKI8Le

--HG--
extra : rebase_source : a56ed17f1c505ca50e3a9bb9ad0e34a1060ef1ac
2017-01-16 16:55:58 -05:00
Eric Rahm
87cfbc1b65 Bug 1322735 - Remove MOZ_STACKWALKING define. r=glandium
With frame pointer omission disabled we should always have usable stacks on Windows. This allows us to remove the MOZ_STACKWALKING define as it will always be enabled.

MozReview-Commit-ID: 54xs3Hf1r4P

--HG--
extra : rebase_source : dfaf13fb4c2185985f4f074c338ccf1fef8f3c94
2016-12-20 15:11:36 -08:00
Phil Ringnalda
1c2d0d367f Backed out 3 changesets (bug 1322735) for ASan leaks and xpcshell/selftest.py failures
CLOSED TREE

Backed out changeset 01cfc71ce542 (bug 1322735)
Backed out changeset 84c729c41230 (bug 1322735)
Backed out changeset b419aaefae95 (bug 1322735)
2017-01-10 20:17:34 -08:00
Eric Rahm
2e195de610 Bug 1322735 - Remove MOZ_STACKWALKING define. r=glandium
With frame pointer omission disabled we should always have usable stacks on Windows. This allows us to remove the MOZ_STACKWALKING define as it will always be enabled.

MozReview-Commit-ID: 54xs3Hf1r4P

--HG--
extra : rebase_source : 5fe27cdeeb464d81fbedc8c02ac187658bd759e7
2016-12-20 15:11:36 -08:00
Ting-Yu Chou
9b4a42ffed Bug 1322465 part 9 - Use explicit/MOZ_IMPLICIT for the unary constructors in mozglue/. r=Ehsan
MozReview-Commit-ID: MHgGyQGRdM

--HG--
extra : rebase_source : 9b5cb97c0264a734cd166393a49252db22af4bf1
2016-12-16 15:57:53 +08:00
Botond Ballo
71a6962e97 Bug 1321885 - Add Max() and Min() methods to TimeDuration. r=froydnj
MozReview-Commit-ID: 4WvRa3ZSrmP

--HG--
extra : rebase_source : d7433ab7cdb949194e494568f0bf94b91639e27e
extra : source : bac442a609767fbb21b266dbd719d6eb968fbf3d
2016-07-27 14:07:57 -04:00
Cervantes Yu
daacdebe95 Bug 1317259 - Prevent double init in mozilla::TimeStamp::Startup() on Windows. r=froydnj
MozReview-Commit-ID: JKfEFqo5qHj

--HG--
extra : rebase_source : 730f9a969215d559dbcc3c2b4126fa543de5dbbe
2016-11-14 19:01:17 +08:00
Eric Faust
121151ec67 Bug 1263595 - Avoid deadlock between the JIT and the gecko profiler on win64. (r=froydnj) 2016-09-15 21:35:14 -07:00
Wes Kocher
611fb66887 Backed out changeset 39da44265946 (bug 1263595) for build bustage a=backout CLOSED TREE 2016-09-16 14:19:22 -07:00
Eric Faust
db0cfdc6bc Bug 1263595 - Avoid deadlock between the JIT and the gecko profiler on win64. (r=froydnj) 2016-09-15 21:35:14 -07:00
Phil Ringnalda
6beabc555f Backed out changeset 48694b762a84 (bug 1263595) for -Werror bustage
CLOSED TREE
2016-09-15 22:04:50 -07:00
Eric Faust
c725e729c5 Bug 1263595 - Avoid deadlock between the JIT and the gecko profiler on win64. (r=froydnj) 2016-09-15 21:35:14 -07:00
Igor
175543fda8 Bug 1293384 - Part 2: Rename Snprintf.h header to Sprintf.h. r=froydnj 2016-08-14 23:43:21 -07:00
Igor
a57972337d Bug 1293384 - Part 1: Rename snprintf_literal to SprintfLiteral. r=froydnj 2016-08-14 23:44:00 -07:00
stefanh@inbox.com
d1b0bda574 Bug 1287937 - Remove obsolete mac-specific code from modules/libmar/verify/MacVerifyCrypto.cpp and mozglue/misc/StackWalk.cpp. r=spohl. 2016-07-23 00:29:04 +02:00
Nathan Froyd
1d13f4878d Bug 1285665 - avoid #define'ing constants that expand to use defined(); r=dholbert
Newer versions of clang warn about this construct, as the behavior is
not consistent between compilers.  These warnings break
warnings-as-error builds, and seem like reasonable warnings to fix, so
let's do that.

X86_OR_PPC was only used in one place, so inlining it and getting rid of
the definition seemed reasonable.
2016-07-20 00:50:02 -04:00
Chris Peterson
43c2748f66 Bug 1277775 - Replace MOZ_CONSTEXPR{_VAR,_TMPL} with constexpr. r=froydnj 2016-07-08 14:39:53 -07:00
Chris Peterson
2b3b60f7b1 Bug 1277155 - Part 1: Remove snprintf() polyfills for VS2013 in Sprintf.h and #defines. r=froydnj r=mhowell 2016-06-27 20:45:03 -07:00
Chris Peterson
8a9e2d2bd4 Bug 1272513 - Part 2: Remove redundant -Wshadow CXXFLAGS from moz.build files. r=glandium 2016-05-14 00:54:55 -07:00
Gregory Szorc
d4bcf273d0 Bug 1256464 - Use LPSTR instead of LPVOID to avoid C4477 on VS2015; r=froydnj
Without this change, Visual Studio 2015 complains:

mozglue/misc/StackWalk.cpp(261): warning C4477: 'fprintf' : format
string '%s' requires an argument of type 'char *', but variadic argument
2 has type 'LPVOID'

MozReview-Commit-ID: HIAs5L57Nd1

--HG--
extra : rebase_source : 1ac50c03c4d6b14e22f3d55aca026fce15565f5c
2016-03-14 17:18:42 -07:00
Chris Manchester
7c92933074 Bug 1216681 - Add a windows version of fileid to extract a guid from windows binaries. r=jimm,ted
This patch introduces a small utility program to extract a guid from a shared library
or executable on windows to identify the correct symbol file to read in fix_stack_using_bpsyms.py.
In order for this to work correctly on windows, the library name provided by
MozDescribeCodeAddress needs to be a full path, so the LoadedImageName field
from the IMAGEHLP_MODULE64 structure is used here instead of the ModuleName
field.

MozReview-Commit-ID: 8zkfLWjKVs2
2015-10-29 13:25:03 -07:00