Commit Graph

61809 Commits

Author SHA1 Message Date
Andrew McCreight
767b21fb24 Bug 1176342, part 2 - De-COM the flags for InitClassesWithNewWrappedGlobal. r=mrbkap
MozReview-Commit-ID: 4QFtHPIzUd0

--HG--
extra : rebase_source : e7b8c4156be165c44ddb2e7be557e52438c63d42
2017-09-19 13:12:50 -07:00
Andrew McCreight
36eb42025b Bug 1176342, part 1 - De-COM InitClassesWithNewWrappedGlobal. r=mrbkap
MozReview-Commit-ID: EfRQW3QUXCG

--HG--
extra : rebase_source : 895694d28cc228cfb095639880738c84767e08a8
2017-09-18 16:35:39 -07:00
Sebastian Hengst
cbf485433e Backed out changeset 61a277705d59 (bug 1400438) for heap write hazard. r=backout 2017-09-20 16:52:02 +02:00
Xidorn Quan
4599882448 Bug 1400438 - Use array instead of linked list for -moz-border-*-colors. r=heycam,mattwoodrow
MozReview-Commit-ID: LPl1Rlg5gRn

--HG--
extra : source : 418288301c994faded0993a1cd3d73fc3b6521be
extra : amend_source : 7cba1fc0ca13b86782aa05ab4dae4cdc7eb9fbf6
2017-09-20 22:52:20 +10:00
David Teller
0f4729ce0f Bug 1401299 - Removing leftover putc(stderr, ...) from ParseNode;r=nbp
MozReview-Commit-ID: 5F78rFhxWYE

--HG--
extra : rebase_source : cad1a315428da0923822d9c829bdce4f26020598
2017-09-19 20:48:35 +02:00
Ted Campbell
63b0ef8f64 Bug 1401014 - Fix resume point in IonBuilder::setPropTryInlineAccess r=jandem
MozReview-Commit-ID: L5VpnS41tiH

--HG--
extra : rebase_source : d7eef0358a28a652b7038af8cf609d038c27ee6f
2017-09-20 00:50:20 -04:00
Bobby Holley
4d49b6baed Bug 1400435 - Remove special case from analysis. r=sfink
MozReview-Commit-ID: LdX4k3hDysU
2017-09-19 22:53:25 -07:00
Cameron McCormack
402b6433ed Bug 1368922 - Set mIsDirty atomically. r=hiro
MozReview-Commit-ID: Ei3zCECVRFf

--HG--
extra : rebase_source : 0429db876e33329a250dced6e8bfcd965a5dfbc8
2017-09-20 11:30:08 +08:00
Blake Kaplan
d5d500f633 Bug 1398396 - Initialize the locale stuff on runtimes instead of contexts. r=billm
MozReview-Commit-ID: Il9HAqYdTzK

--HG--
extra : rebase_source : 29a294c02bc2be1534766f33192854f51984883e
2017-09-11 15:46:14 -07:00
Blake Kaplan
9b6798ea6f Bug 1398396 - Make locale functions take a runtime instead of a context. r=janv,jorendorff
Most of these functions already solely operate on the runtime even though they
take a context. That leads to confusion at the API user level since it looks
like they're stored on the context. JS_GetDefaultLocale still takes a context
because it actually does use the passed-in context.

MozReview-Commit-ID: 4d0LQIBExvg

--HG--
extra : rebase_source : 79370897a9dca839a6760411ea95d97c5e92cb06
2017-09-11 15:25:40 -07:00
Steve Fink
8ae1a159b8 Bug 1386344 - JS shell: implement help(/pattern/), r=tcampbell
--HG--
extra : rebase_source : b3b6ab2109f6af9e474ea164f0c520f02233dd45
2017-07-30 15:51:57 -07:00
Steve Fink
7997149dd2 Bug 1400442 - Trim down whitelists to only what is required, and mark all known issues with bug numbers, r=jonco
I also snuck in some last-minute assertions and minor fixes into this patch:

- don't stop reporting for a callee if we've seen it already (or rather, make the reachable set local to a root rather than global to all roots). This slows down runs with hundreds of hazards, but results in every problematic root being reported, for a more accurate count.

- annotate away some thread assertions

- special-case annotation for bug 1400435 since it's a whole family of hazards

--HG--
extra : rebase_source : ac7335d45e3e0772d34cb42cc6a3f628564fd3d1
2017-09-15 17:18:13 -07:00
Steve Fink
f01d6be6a4 Bug 1400442 - Special-case annotation for a->b->emplace(); a->b->Init(), r=bhackett
--HG--
extra : rebase_source : 0029b7764332896fd882d68e429800662d9178b2
2017-09-15 17:17:49 -07:00
Steve Fink
cd9758653e Bug 1400442 - stylo heap write analysis: Miscellaneous minor annotations, r=jonco
--HG--
extra : rebase_source : d22cdb4f63009949b538541c82d41db6fc57c7aa
2017-09-15 17:15:34 -07:00
Steve Fink
724031b982 Bug 1400442 - Annotate Servo_ComputedValues_EqualCustomProperties as safe, r=manishearth
--HG--
extra : rebase_source : 9b828ee29363fcff1f5be587958b822a29f3d5be
2017-08-31 08:10:51 -07:00
Steve Fink
a1e4291a8a Bug 1400442 - Annotate nsTArray::InsertElementAt as returning a value that propagates safety of the array, r=jonco
--HG--
extra : rebase_source : f69a5bf2e2d01f55453d6df0d077b3f9a0bfa7d4
2017-09-15 11:00:37 -07:00
Steve Fink
a4eeddfca1 Bug 1400442 - Annotate border colors array as being thread-owned by container, r=bhackett
nsStyleStruct has the field:

  nsBorderColors** mBorderColors;

It starts out nullptr, and when it is needed, it allocates an array of 4 nsBorderColors pointers. But the nsStyleStruct exclusively owns the array; nothing else can get at it. This change teaches the analysis that if 'this' is a safe nsStyleStruct*, then it should treat mBorderColors as if it were an inline length-4 array.

--HG--
extra : rebase_source : e9d4a550a728e403b3bb30e7dd61341c2680962d
2017-09-15 17:18:08 -07:00
Steve Fink
22f464bca9 Bug 1400442 - Backward-compatible js::Class[Ops].trace annotation, r=me
--HG--
extra : rebase_source : eac8e39bab5a3979c1e18a5494c899af777a1958
2017-09-15 09:24:48 -07:00
Steve Fink
6fac83771a Bug 1400442 - analyzeHeapWrites: getter_Copies preserves safety (similar to getter_AddRefs), r=bhackett
--HG--
extra : rebase_source : 4ae6297aa5725532bec513055dd451b8cbcf7bde
2017-09-08 15:03:06 -07:00
Steve Fink
2b08c335d7 Bug 1400442 - analyzeHeapWrites: implement a cache for checking whether local variables are safe pointers, r=jonco
--HG--
extra : rebase_source : fce58842604238e6102f43057301fff27ee58d6f
2017-09-08 15:00:56 -07:00
Steve Fink
1ec4752dd2 Bug 1400442 - Refactor the --function debugging command line option (and alias it to -f) to analyzeHeapWrites.js, r=me
--HG--
extra : rebase_source : b8f81284ffe70712f2a245c495158c3584650ce4
2017-09-08 14:59:43 -07:00
Steve Fink
5e41355433 Bug 1400442 - Fix handling of parameterNames, r=jonco
This is for nicer output only, and does not affect the computation. A WorkListEntry contains a stack of CallSites, and the top of the stack represents the entry itself and so should share parameterNames. This changes fixes cases where some names were being registered in a different table than ended up being used by printouts.

--HG--
extra : rebase_source : e52bbc9ab3e4596d748ca2d729772a61cde1430a
2017-09-08 14:57:02 -07:00
Steve Fink
ed820e5f99 Bug 1400442 - Broaden the annotation for string appending functions to handle more types, r=jonco
--HG--
extra : rebase_source : c55d9900278cf6a31a16567e5ff658306c08e87c
2017-09-08 14:54:22 -07:00
Steve Fink
2c2bec029d Bug 1400442 - Annotate MOZ_CrashPrintf, r=jonco
--HG--
extra : rebase_source : 0ea91eb0373a1b0c848ce7e97f43a2006c190f29
2017-09-08 14:54:00 -07:00
Steve Fink
5a2de7af69 Bug 1400442 - Targeted annotation for static local array of member pointers in LangGroupFontPrefs::Initialize, r=bhackett
The code is

    void
    LangGroupFontPrefs::Initialize(nsIAtom* aLangGroupAtom)
    {
        nsFont* fontTypes[] = {
            &mDefaultVariableFont,
            &mDefaultFixedFont,
            &mDefaultSerifFont,
            &mDefaultSansSerifFont,
            &mDefaultMonospaceFont,
            &mDefaultCursiveFont,
            &mDefaultFantasyFont
        };

        nsFont* font = fontTypes[3];
        font->size = 42;
    }

'this' is known to be a safe pointer (exclusively owned by the current thread), so a pointer to one of its members is also safe. But the analysis can't track safety across all that, so I have a special-case annotation here that says that fontTypes[3] returns a safe pointer if and only if 'this' is safe.

Note that all of those fields (eg mDefaultVariableFont) are nsFont structs, not pointers, so although you'd expect this to be one dereference away from a safe pointer's memory, it is not; assigning to font->size ends up being a write to some offset within the 'this' pointer, which is known to be safe here.

--HG--
extra : rebase_source : 60bf982911b8a66bc612cb5c7eeb04ec766ecf70
2017-09-08 15:03:22 -07:00
Steve Fink
c849aebbd6 Bug 1400442 - Annotate atof as not doing any racy writes, r=me
--HG--
extra : rebase_source : 206bba89c68e8dc37c135fed03490282eff61d76
2017-09-08 14:37:19 -07:00
Steve Fink
3fa9c0cd2a Bug 1400442 - Propagate safety through RefPtr, r=bhackett
--HG--
extra : rebase_source : 187dda47209195746d88a00733d9b806da2c4f14
2017-08-31 09:47:53 -07:00
Steve Fink
9f483c4259 Bug 1400442 - CFG dumping utility, handy for debugging, r=me
--HG--
extra : rebase_source : ca41fae3c6f0507ed0be567ca5cd641e59475c8b
2017-09-15 17:15:46 -07:00
Steve Fink
5b5e84123b Bug 1400468 - Control verbosity, r=jonco
--HG--
extra : rebase_source : 950699da0c0d8c894542c71881cce3359a8c6697
2017-08-31 11:53:14 -07:00
Steve Fink
cf00ad1217 Bug 1400468 - Port hazard analysis test scripts to python3, r=jonco
--HG--
extra : rebase_source : 1cf32c7b383b2f2e8bbe44f8d09cb027b086ebbf
2017-08-31 17:14:45 -07:00
Steve Fink
2434340f83 Bug 1400468 - Trim output, r=jonco
--HG--
extra : rebase_source : de700225cbfcfc4a3fad56327d9007eabff02859
2017-08-09 13:54:41 -07:00
Steve Fink
a4306ab94d Bug 1400466 - Cache the information loaded from src_comp.xdb into a structured clone buffer, r=jonco
Note that this requires some enhancements to the JS engine to support reading and writing structured clone data from/to files.

--HG--
extra : rebase_source : 444a2d407bd231efbba4b6b648eeb151f02177db
2017-09-08 14:58:26 -07:00
Steve Fink
ebf6b994dd Bug 1400466 - Implement minimum necessary to allow saving and loading structured clone data, r=jonco
--HG--
extra : rebase_source : ea13ebcc1b3958c99cf04e7345da1aab5536b0ee
2017-09-08 13:56:04 -07:00
Jon Coppeard
ae251056d7 Bug 1399944 - Check for valid GC cell pointers in various places r=sfink 2017-09-19 12:31:31 +01:00
Jon Coppeard
ff71be3b98 Bug 1396613 - Update rust glue with new objectMoved hook signature r=fitzgen 2017-09-19 12:31:31 +01:00
Jon Coppeard
8bd8591183 Bug 1396613 - Make proxy objects override handler's objectMoved method rather than using class hook r=sfink r=mccr8 r=peterv 2017-09-19 12:31:30 +01:00
Jon Coppeard
2a663c4c5a Bug 1396613 - Replace special cases with use of objectMoved hook when tenuring r=sfink 2017-09-19 12:31:30 +01:00
Jon Coppeard
1077972535 Bug 1396613 - Update the object moved hook to allow it to be called when tenuring nursery objects r=sfink r=mccr8 2017-09-19 12:31:30 +01:00
Jan de Mooij
0674dd12d2 Bug 1399471 part 2 - Add a mechanism to check callWithABI invariants in debug builds. r=nbp 2017-09-14 10:03:09 +02:00
Ted Campbell
c4dc79b765 Bug 1399373 - Add diagnostic that scripts have non-empty bytecode. r=nbp
Parts of Spidermonkey expect the bytecode length to always be non-zero.
Bug 1399373 shows crashes when this assumption fails. This patch moves
the check closer to source of error.

MozReview-Commit-ID: 8JROF2KCrNx
2017-09-18 15:12:34 -04:00
Jan de Mooij
7c2f41c8d9 Bug 1399471 part 1 - Disable the full_debug_checks jit pref by default in browser builds. r=nbp 2017-09-18 16:20:17 +02:00
Jan de Mooij
5254105dd0 Backed out changeset e758012cf5b3 for landing with the wrong commit message. 2017-09-18 16:19:57 +02:00
Jan de Mooij
f957a17c7e Bug 1399471 part 1 - Disable the full_debug_checks jit pref by default in browser builds. r=nbp
--HG--
extra : rebase_source : f69fefc6a5df3fe1f95e8eb50bb174990b1d8db5
2017-09-14 10:03:09 +02:00
Luke Wagner
6a7f7de864 Bug 1400383 - clamp HelperThreadState.cpuCount to 8 (r=lth,jandem)
MozReview-Commit-ID: 2SswWMPKqHX

--HG--
extra : rebase_source : 74dec1f521eccb5150c7a0ce3d728c74f2b508c5
2017-09-18 08:53:03 -05:00
Dan Horak
20c2288800 Bug 1400199 - Update atomics for s390(x). r=lhansen
MozReview-Commit-ID: DsDZgICCmjQ

--HG--
extra : rebase_source : fcff1f2b2d43230dcb47c5ff8e965ef5f013acc6
2017-09-18 01:47:00 -04:00
Jan de Mooij
485ed2f2b0 Bug 1384121 part 1 - Don't sweep ObjectGroups under IC helper functions. r=bhackett 2017-09-18 15:08:44 +02:00
Jon Coppeard
b56fe1327b Bug 1399889 - Handle map and set objects being moved before initialisation is finished r=jandem 2017-09-18 11:58:07 +01:00
Sebastian Hengst
1d35d25f21 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 1Wa3jV6n7Wj
2017-09-16 11:35:02 +02:00
Andrew McCreight
292c80dfbd Bug 1400406 - js/xpconnect/moz.build contains a reference to a non-existent directory. r=gps
Also, MOZ_XPCTOOLS does not appear to be a thing any more.

MozReview-Commit-ID: 99BR9rl4EnD

--HG--
extra : rebase_source : 3712b7b2b180b583ca761cdc5d6ddf17728e8b74
2017-09-15 14:35:15 -07:00
Wes Kocher
95f28ef759 Backed out changeset d9bc6c96c492 (bug 1399877) for build bustage a=backout
MozReview-Commit-ID: 1Ftlwl3MfrW
2017-09-15 14:53:20 -07:00