Commit Graph

64970 Commits

Author SHA1 Message Date
bobslept
803e173352 Bug 1461376 - Deduplicate LoadObject using emitLoadStubField. r=mgaudet 2018-05-18 19:57:02 +02:00
Jeff Walden
300564f701 Bug 1461556 - Don't PodZero ObjectGroupCompartment -- just add member initializers inside the class definition. r=jandem
--HG--
extra : rebase_source : 915094b5f3393087952deb579ea92e352544f74f
2018-05-18 11:45:40 -07:00
Jeff Walden
719310e29a Bug 1461556 - Don't PodZero ObjectGroup instances inside the ObjectGroup constructor -- set most fields using member-initializers in the constructor, and add initializers in the class body for the remaining two fields. r=jandem
--HG--
extra : rebase_source : 8549cfea05d0ab0cf0fb7c6eac5f349d2649d167
2018-05-18 11:45:26 -07:00
Jeff Walden
8031f784af Bug 1462544 - Use <algorithm> functions to fill and copy data in Bitmap.* rather than PodOperations.h functions. r=jandem
--HG--
extra : rebase_source : 3e96b8528ffe20339186c9c1363214fa2ddc7539
2018-05-18 11:44:44 -07:00
Jeff Walden
47bf188b58 Bug 1462544 - Various readability and IWYU fixes to ds/Bitmap.h. r=jandem
--HG--
extra : rebase_source : ea026e0f651cac7cfee6b0e2aa3291f548795152
2018-05-18 11:44:28 -07:00
Jeff Walden
561722cb1c Bug 1462540 - Initialize NativeIterator objects (and any associated property name strings and HeapReceiverGuards) all within a single constructor call, without using PodZero. r=jandem
--HG--
extra : rebase_source : 5b1634954f659b7c0b35fde2826b8f91e2d2db43
2018-05-16 23:55:40 -07:00
Jeff Walden
0b60c0f525 Bug 1462540 - Remove NativeIterator::guard_array: its numeric value is identical to NativeIterator::props_end. r=jandem
--HG--
extra : rebase_source : 4170734ae6b3f07adae1f753c60c8749f363de20
2018-05-16 23:24:28 -07:00
Jeff Walden
5c98c1d16e Bug 1462540 - Remove NativeIterator::props_array (it's trivial to recalculate it when it's needed), and add a bunch of alignment assertions verifying the delicate memory layout of NativeIterator followed by the (only dynamically known number of) properties it iterates followed by the (only dynamically known number of) ReceiverGuards it uses. r=jandem
--HG--
extra : rebase_source : de4e3ebde61634d75567b8d9edf91081e3828a35
2018-05-16 23:24:13 -07:00
Jeff Walden
1d684d9831 Bug 1461556 - Add a JSScript constructor to initialize JSScript inside JSScript::Create without using PodZero. r=jandem
--HG--
extra : rebase_source : 2710b604377040c1d6fd7df211556cfbceae75ac
2018-05-16 17:00:57 -07:00
Jeff Walden
041e57eb10 Bug 1461556 - Replace a PodZero of js::gcstats::Statistics::phaseTimes with a loop overwriting every element value with a default-initialized (i.e. zeroed) value. r=jandem
--HG--
extra : rebase_source : 5e28be4fbfc21b47e48f876b5b32a283052ef562
2018-05-16 21:00:59 -07:00
Jeff Walden
2b6f63de78 Bug 1461556 - Replace a PodZero of js::gcstats::Statistics::totalTimes_ with a loop asserting every element was default-initialized to zero. r=jandem
--HG--
extra : rebase_source : e05859608c689e3d9dac671292ad7ed2522fad66
2018-05-16 20:56:18 -07:00
Jeff Walden
890404de4b Bug 1461556 - Add member initializers to the function pointers in JS::AsmJSCacheOps so that JSRuntime::asmJSCacheOps, a js::UnprotectedData<JS::AsmJSCacheOps>, will have its members nulled out automatically when the JSRuntime field is initialized. r=jandem
--HG--
extra : rebase_source : affbfe4407abb456231e74633a6c0a10044a280f
2018-05-16 20:11:59 -07:00
Jeff Walden
37589d31cd Bug 1461556 - Rename TypeSet::clone to TypeSet::cloneIntoUninitialized to indicate that it freshly initializes the TemporaryTypeSet* provided to it. Also removes existing code that, quite unnecessarily, partly initialized that argument. r=jandem
--HG--
extra : rebase_source : 2dcc8becf0ecdf8ea41bae4ad55439ddcfc7be21
2018-05-16 19:29:57 -07:00
Jeff Walden
b1287bc521 |this|-qualify a member-function call inside a MOZ_ASSERT that gcc will ICE on, depending on what code is #include'd, without the qualification. No bug, r=me as does-the-job-and-it's-not-fugly
--HG--
extra : rebase_source : e845db0d62d559073e574262f868aab7d5984455
2018-05-16 19:00:59 -07:00
Jeff Walden
d92b94813c Bug 1461556 - Don't use PodCopy/PodMove to implement typed-array element-to-element copying: bog-standard std::copy and std::copy_n are readily optimized to the same thing, and they don't have a non-obvious requirement that the type being copied be trivial. r=jandem
--HG--
extra : rebase_source : b91630234c96cea9d689c57d4430bd4296622d63
2018-05-16 19:00:54 -07:00
Jeff Walden
db36cedbd6 Bug 1461556 - Give uint8_clamped a defaulted (and also trivial) default constructor, copy constructor, and copy-assignment operator. (This also allows uint8_clamped to be permissibly memmove'd and memcpy'd.) r=jandem
--HG--
extra : rebase_source : 2b0d5c9517c47c68803a00ca701e8abc3f31c5d8
2018-05-16 19:00:04 -07:00
Jeff Walden
0128813edd Bug 1462261 - Abandon the idea of HashTableEntry being "POD", make its constructor explicitly initialize HashTableEntry::keyHash, give it a destructor that destroys the stored T if the entry is live, and call both constructor and destructor in the necessary places. r=jandem
--HG--
extra : rebase_source : 99c72ac86fa32d683397c8060d58872617153976
2018-05-16 14:18:11 -07:00
Jeff Walden
5bd2e61e1d Bug 1462261 - Don't use AlignedStorage2 to implement HashTableEntry. r=jandem
--HG--
extra : rebase_source : 79e9c2287f8e443ff5da1c96f3707b8d066099fc
2018-05-16 13:29:52 -07:00
André Bargull
ffd9baf5df Bug 1462448: Use nursery allocation for baseline string-split and avoid extra heap-slot init for Latin1 strings. r=jandem
--HG--
extra : rebase_source : 72e0dee87f5516dccd9bff5d8a382078cb329f7a
2018-05-17 12:43:44 -07:00
André Bargull
8e29e7d8f2 Bug 1461929: Use FillArgumentsFromArraylike for async functions and async generators. r=arai
--HG--
extra : rebase_source : 75ff82a73c92ce09e9ac7db5f1460077112b5d17
2018-05-16 04:35:02 -07:00
Jan de Mooij
d576950ebd Bug 1461938 part 7 - Move varNames from JSCompartment to JS::Realm. r=jwalden 2018-05-18 15:18:24 +02:00
Jan de Mooij
b95abd503e Bug 1461938 part 6 - Move global object from JSCompartment to JS::Realm. r=jonco 2018-05-18 15:18:23 +02:00
Jan de Mooij
f820ec7afa Bug 1461938 part 5 - Some atoms compartment/realm related changes. r=jonco 2018-05-18 15:18:23 +02:00
Dorel Luca
7579b13da5 Merge mozilla-central to mozilla-inbound 2018-05-18 12:59:56 +03:00
Dorel Luca
9769f2300a Merge mozilla-inbound to mozilla-central. a=merge 2018-05-18 12:56:07 +03:00
Jon Coppeard
ac49c4df5c Bug 1462326 - Add missing null check when calling shell's module resolve hook r=luke 2018-05-18 10:29:02 +01:00
Jon Coppeard
3744f8b7cb Bug 1461448 - Add gray marking phase to delayed marking phase r=sfink 2018-05-18 10:29:00 +01:00
Sebastian Hengst
572b579c85 Bug 1462358 - Quit bug-1461027.js early if TypedObject is not available. r=sfink
MozReview-Commit-ID: 8CtwrwlfOi4

--HG--
extra : rebase_source : ad3b7649ab9caf236f17026ce8ee89148002edbd
2018-05-18 00:58:35 +03:00
Bogdan Tara
3287e1104c Merge inbound to mozilla-central. a=merge 2018-05-18 01:04:08 +03:00
Luke Wagner
b5369fe8a0 Bug 1459761 - Baldr: trigger non-incremental, full GC close to live buffer limit (r=jonco)
--HG--
extra : rebase_source : 47b4489c8cf91996f28bd96a6330eed7178e5839
2018-05-17 11:05:57 -05:00
Jan de Mooij
20c162b7ba Bug 1461938 part 4 - Move RealmOptions from JSCompartment to JS::Realm. r=luke
--HG--
extra : rebase_source : 72156e20ea7e60995d13c26b52bc2ad43daaf44c
2018-05-17 18:04:38 +02:00
Jan de Mooij
2b5a2e2776 Bug 1461938 part 3 - Store JS::Realm* instead of JSCompartment* in ObjectGroup. r=luke
--HG--
extra : rebase_source : a569b3b066beea3cad4acb30ea8e8084e59763f7
2018-05-17 18:04:04 +02:00
Jan de Mooij
2b6f16e9ea Bug 1461938 part 2 - Store JS::Realm* instead of JSCompartment* in JSScript. r=luke
--HG--
extra : rebase_source : 2a831e936b1e2ce55ed2e15c6befba345331ada3
2018-05-17 18:03:36 +02:00
Jan de Mooij
969bbf2190 Bug 1461938 part 1 - Store JS::Realm* instead of JSCompartment* in JSContext. r=luke
--HG--
extra : rebase_source : 7af7e5854bdbe0d750a13e0e8c70a71c2c5f88c3
2018-05-17 18:02:40 +02:00
Jan de Mooij
575aec161b Bug 1461677 - Rename compartment to realm in the memory reporting code. r=njn 2018-05-17 16:15:18 +02:00
Paul Bone
1ff9dd79ca Bug 1460098 - Fix undefined symbol in NoOpt builds on a CLOSED TREE r=bustage
Ensure that gcTracer is defined even when JS_GC_TRACE is not.
2018-05-17 20:57:06 +10:00
Paul Bone
1331a72e49 Bug 1460098 (Part 3) - Move GCTrace's state into the class r=sfink
Move the state for GCTrace into the class.  I've kept a number of internal
methods as static non-class methods so that they need not be listed in the
class declaration.

--HG--
extra : rebase_source : f310f3f475c11038c99645d2bda5e44fc9fb705d
2018-05-16 21:33:20 +10:00
Paul Bone
3377f909c1 Bug 1460098 (Part 2) - Rename AutoInUnsafeCallWithABI -> AutoUnsafeCallWithABI r=tcampbell
--HG--
extra : rebase_source : 1b766236e8f2b7a952861907cfa84ba025f14110
2018-05-15 21:57:11 +10:00
Paul Bone
37761b92d2 Bug 1460098 (Part 1) - Fix bitrot in GCTrace.cpp r=sfink
Fixup bitrot by updating code normally not compiled since JS_GC_TRACE is
usually false.

Move the GC tracing code into a new GCTrace class, this allows ObjectGroup
to declare it as a friend so that GCTrace can call private methods there.

--HG--
extra : rebase_source : 049cc052a9bd04f58b87388ed68cae0b568198fe
2018-05-17 14:00:37 +10:00
Cosmin Sabou
caba9f10be Merge mozilla-central to inbound. a=merge 2018-05-17 12:49:47 +03:00
Cosmin Sabou
0917b1478d Merge inbound to mozilla-central. a=merge 2018-05-17 12:46:31 +03:00
Tom Ritter
c5a26d81ec Bug 1457483 Retrieve nm from environment for check_vanilla_allocations.py r=glandium
MozReview-Commit-ID: HIZpMk4Ierb

--HG--
extra : rebase_source : 670da25b7e516e176f2eae116b58e5e62ccbbde7
2018-04-27 10:25:35 -05:00
Ciure Andrei
ddc5d8ff6d Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-05-17 01:10:17 +03:00
Ciure Andrei
eab785689c Backed out 2 changesets (bug 1458043) for dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway_inproc.html failures a=backout
Backed out changeset 0b5c103fcb70 (bug 1458043)
Backed out changeset 51cdd0595094 (bug 1458043)
2018-05-17 00:54:04 +03:00
Sean Stangl
096ff95b01 Bug 1456524 - Maintain MoveResolver invariants. r=jandem
The MoveResolver is a persistent data structure that requires
state to not leak between borrowers. An early-exit optimization
in the case of OOM allows for state to leak, leading to impossible
move list inputs, tripping assertions.
2018-05-15 15:16:00 +03:00
Jon Coppeard
65b2944794 Bug 1461751 - Simplify module resolve hook to be a function pointer r=luke r=baku 2018-05-16 11:59:09 +01:00
Jon Coppeard
919eec203e Bug 1461319 - Fix assertion failure accessing shape of associated object when tracing debugger object in a moving GC r=sfink 2018-05-16 11:23:03 +01:00
Jon Coppeard
b39f9bf6e4 Bug 1461027 - Fix assertion in NativeObject::fixedData that can be called on a forwarded objected during a moving GC r=sfink 2018-05-16 11:23:03 +01:00
Margareta Eliza Balazs
00ba152869 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-16 13:07:21 +03:00
Margareta Eliza Balazs
d4b9e50875 Merge inbound to mozilla-central. a=merge 2018-05-16 13:00:51 +03:00