Commit Graph

24 Commits

Author SHA1 Message Date
Brian Birtles
9d4bf99681 Bug 1039924 part 3 - Templatize TimeDuration so it can support different behaviors with regards to tick count arithmetic; r=froydnj
This patch prepares the way for having a separate StickyTimeDuration class
by factoring TimeDuration into a templated base class: BaseTimeDuration.
BaseTimeDuration takes a templated parameter, ValueCalculator, which is a helper
object that defines how various arithmetic operations are performed on its
mValue member (an int64_t count of ticks).

This patch does not actually define or use the ValueCalculator parameter yet but
simply performs the renaming and templatization.

With regards to the templatization, arithmetic operators are defined to take
objects with the same ValueCalculator template parameter (so that we don't, for
example, apply non-safe arithmetic to a StickyTimeDuration).
However, comparison operators are defined to also operate on objects with
a different ValueCalculator template parameter since comparison should be
independent of the type of arithmetic used.

Likewise, the constructor and assignment operator are defined to operate on
objects with a different ValueCalculator template parameter so that objects can
be converted from TimeDuration to StickyTimeDuration and vice-versa.
The constructor is marked as explicit, however, so that we don't silently
convert a StickyTimeDuration to a TimeDuration and unwittingly apply
non-safe arithmetic to a StickyTimeDuration.

TimeDuration is defined as a specialization of BaseTimeDuration that uses
TimeDurationValueCalculator as its ValueCalculator type.
TimeDurationValueCalculator is filled-in in a subsequent patch.
2014-09-25 14:25:49 +09:00
Brian Birtles
c333e39282 Bug 1039924 part 1 - Separate platform-dependent parts of TimeDuration into TimeDurationPlatformUtils; r=froydnj
In order to have different templated versions of TimeDuration we first split out
the platform-specific code so that this code doesn't need to concern itself with
templates (and because putting template code in .cpp files is messy).
2014-09-25 14:25:48 +09:00
Birunthan Mohanathas
68ba4f3767 Bug 1022456 - Convert xpcom/ds/ to Gecko style. r=froydnj 2014-07-09 08:15:21 -07:00
Shu-yu Guo
82fe2098a8 Bug 989509 - Part 2: dom/, netwerk/, startupcache/, and xpcom/ (r=aklotz,bent,gvselto,mayhemer,Mossop) 2014-04-03 19:29:40 -07:00
Gabriele Svelto
a81746a966 Bug 906754 - Ensure that TimeStamp's static fields are initialized only once. r=froydnj 2013-10-28 20:50:09 +01:00
Birunthan Mohanathas
0244dd58be Bug 784739 - Switch from NULL to nullptr in xpcom/ (1/3); r=ehsan 2013-10-10 16:41:00 -04:00
Ehsan Akhgari
08772d21ac Bug 918105 - Minimize the #includes in xpcom/ds; r=bsmedberg 2013-09-19 15:31:21 -04:00
Gabriele Svelto
f886fc6f10 Bug 852250 - When restarting recompute the process startup timestamp instead of using the timestamp stored it in MOZ_APP_RESTART during the shutdown procedure. r=nfroyd 2013-07-31 12:51:58 +02:00
Gabriele Svelto
871c2afe3b Bug 793735 - Add functionality to create TimeStamp instances representing the process creation time, r=nfroyd 2013-03-28 11:28:09 +01:00
Nathan Froyd
0f42f822c1 Backout 61e1edc0b6bf (bug 793735), 77014412cd4a (bug 793735), and 8c5aa269c3cd (bug 793735) for botching FHR data 2013-04-09 16:25:42 -04:00
Gabriele Svelto
1fcd998ace Bug 793735 - Add functionality to create TimeStamp instances representing the process creation time, r=froydnj 2013-03-28 11:28:09 +01:00
Honza Bambas
3e6e5d6690 Bug 827287 - make it possible to use TimeStamp without performance concerns (TimeStamp::NowLoRes), r=ehsan, sr=roc 2013-02-11 22:56:59 +01:00
Justin Lebar
b09af6f193 No bug: Fix comment in TimeStamp_posix.cpp. DONTBUILD 2012-10-20 11:12:20 -04:00
Ehsan Akhgari
e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Ehsan Akhgari
92064e6d3f Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d2b70213ac Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Boris Zbarsky
69a743e18b Bug 558306 part 1.5. Make TimeDuration::FromMilliseconds take a double. r=cjones, sr=roc 2010-07-21 15:57:33 -04:00
Chris Jones
b46adb74f9 Bug 576467: Check the return value of clock_getres(). r=roc 2010-07-15 14:27:43 -05:00
Ginn Chen
0540a17b38 revert 43e12453336f, it was fixed by another changeset 2010-04-28 17:44:24 +08:00
Ginn Chen
48cb4e7a17 Bug 560717 Linux FPE running make check r=bsmedberg 2010-04-28 17:40:03 +08:00
Vladimir Vukicevic
88d322d93f b=560717; fix TimeStamp initialization in TimeStamp_posix; r=bsmedberg 2010-04-26 14:26:40 -07:00
Chris Jones
29f7a03ce4 Bug 541185: Fall back on clock_getres() when resolution detection fails, and remove bogus upper-bound sanity check. r=roc 2010-03-01 15:44:05 -06:00
Chris Jones
e5a816f1aa Bug 522126, part 2: Add a POSIX clock (CLOCK_MONOTONIC) implementation of TimeStamp/TimeDuration. r=roc 2010-01-07 11:21:28 -06:00