Граф коммитов

53162 Коммитов

Автор SHA1 Сообщение Дата
bobslept 7048fa39ef Bug 1420894 - Optimize a check in float-to-int conversion. r=lth 2018-05-16 16:35:42 +02:00
Jeff Walden 81add2f298 Bug 1462939. r=jandem
--HG--
extra : rebase_source : b7686c55d4604bafc38c6164e0a762d7f1a9d6ac
2018-05-23 10:14:05 -07:00
Matthew Gaudet 3769c55534 Bug 1438556: [Part 3] Assert same compartment in a number of CacheIR helpers r=tcampbell 2018-05-23 14:27:43 -04:00
Matthew Gaudet 42f718290d Bug 1438556: [Part 2] Verify global wrapper not nuked r=tcampbell 2018-05-23 14:27:12 -04:00
Matthew Gaudet 2f7b5c763f Bug 1438556: [Part 1] Use shape guards on the prototype chain for cross-compartment ICs r=tcampbell
This patch unshares some of the property access code between regular and
cross-compartment cases, allowing us to use a series of shape-guards on the
protochain instead of the previous shape-teleporting checks, that would
end up baking in a cross-compartment pointer.

This also attempts to clarify the compartment membership situation while
doing the cross-compartment IC.
2018-05-23 14:26:44 -04:00
Jan de Mooij d3a2977a32 Bug 1461938 part 30 - Move globalWriteBarriered to JS::Realm. r=jonco 2018-05-23 19:45:43 +02:00
Jan de Mooij 0b680b70ff Bug 1461938 part 29 - Move validAccessPtr to JS::Realm. r=evilpie 2018-05-23 19:45:03 +02:00
Jan de Mooij f6e2bba281 Bug 1461938 part 28 - Rename LCovCompartment to LCovRealm and move to JS::Realm. r=luke 2018-05-23 19:44:33 +02:00
Jan de Mooij 62970f8ac6 Bug 1461938 part 27 - Use UniquePtr for various compartment pointers. r=jonco 2018-05-23 19:43:36 +02:00
Jan de Mooij e98e8c8cef Bug 1461938 part 26 - Move performanceMonitoring from JSCompartment to JS::Realm. r=luke 2018-05-23 15:27:36 +02:00
Jan de Mooij e9f0432b1a Bug 1461938 part 25 - Move randomKeyGenerator_ from JSCompartment to JS::Realm. r=evilpie 2018-05-23 15:27:04 +02:00
Jan de Mooij 1c6e8b72c0 Bug 1461938 part 24 - Move randomNumberGenerator from JSCompartment to JS::Realm. r=evilpie 2018-05-23 15:26:33 +02:00
Jan de Mooij 4975a53b6d Bug 1461938 part 23 - Move debugModeBits from JSCompartment to JS::Realm. r=luke 2018-05-23 15:26:00 +02:00
Jan de Mooij eea98b6d64 Bug 1461938 part 22 - Move template objects from JSCompartment to JS::Realm. r=anba 2018-05-23 15:25:20 +02:00
Julian Seward b47ba3757e Bug 1457059 - WebAssembly.Global takes init value as separate argument, not as part of the descriptor. r=lth.
This also has effect of changing the default value from NaN to 0 (as required).
2018-05-23 13:46:23 +02:00
Jan de Mooij b0a1778c10 Bug 1461938 part 21 - Move isSelfHosting and selfHostingScriptSource from JSCompartment to JS::Realm. r=evilpie 2018-05-23 11:05:15 +02:00
Jan de Mooij e8626c8f07 Bug 1461938 part 20 - Move principals and isSystem from JSCompartment to JS::Realm. r=luke 2018-05-23 11:04:27 +02:00
Jan de Mooij 126fa176e1 Bug 1461938 part 19 - Use UniquePtr for script maps. r=luke 2018-05-23 11:03:53 +02:00
Jan de Mooij f11a89d4bf Bug 1461938 part 18 - Move objectMetadataState_ from JSCompartment to JS::Realm. r=luke 2018-05-23 11:03:25 +02:00
Jan de Mooij 8cf14a4dc0 Bug 1461938 part 17 - Move ArraySpeciesLookup from JSCompartment to JS::Realm. r=anba 2018-05-23 11:02:38 +02:00
Jan de Mooij f8a5dcdebc Bug 1461938 part 16 - Move marked flag from JSCompartment to JS::Realm. r=jonco 2018-05-23 11:01:57 +02:00
Jon Coppeard 5e77cd6fcb Bug 1427610 - Support import.meta in the JITs r=jandem 2018-05-23 08:47:28 +01:00
Jon Coppeard 8bdb5cccf0 Bug 1427610 - Implement import.meta in the JS shell r=anba 2018-05-23 08:47:28 +01:00
Jon Coppeard a2f88658e9 Bug 1427610 - Implement import.meta in the JS frontent r=jorendorff 2018-05-23 08:47:28 +01:00
Steve Fink 4bb8f4f750 Bug 1456512 - Test for rogue read barrier. r=test
--HG--
extra : rebase_source : cfdf4259238220d2ca9c12200444365d7be61c2a
extra : source : fde80b4fb96d5252857b637379248182e965c02f
2018-05-22 17:38:34 -07:00
menantea 9f78fa285f Bug 1462566: Add signal handling registers for powerpc; r=bbouvier
--HG--
extra : rebase_source : 9391d18771a43d7237c872357cf2b95b7b3710e0
extra : histedit_source : 89e8c06a54c198f49e42863eb7b5b1816a05a9eb
2018-05-22 16:15:45 +02:00
Benjamin Bouvier 46d3c43952 Bug 1463378: Guard against sentinel values when creating AstRef; r=luke
--HG--
extra : rebase_source : 0320838569a167f56d914b830c66d2c1ee8e33d0
extra : histedit_source : ae4bb293d83b2e2e69889a02d23160fec3352f4f
2018-05-22 14:52:20 +02:00
Benjamin Bouvier 065969e147 Bug 1462333: Block testing function selectforgc when wasm gc is enabled; r=jonco
--HG--
extra : rebase_source : b2234eaca18e9609c8ea0703e095166980b25463
2018-05-21 17:19:57 +02:00
Benjamin Bouvier 363bec3f25 Bug 1462333: Disable VerifyPrebarriers when wasm gc is enabled; r=jonco
--HG--
extra : rebase_source : a52a7537569968873a8123e54484eda303d6f7df
2018-05-21 16:20:13 +02:00
Benjamin Bouvier fd29fc55ad Bug 1462335: Prevents calling into Debugger.memory.takeCensus when wasm gc is enabled; r=jonco
--HG--
extra : rebase_source : af483f4184bec3e5469f10d7de55c254a85b7d62
2018-05-21 16:10:12 +02:00
Jan de Mooij 70cdb7fef8 Bug 1461938 part 15 - Move lastAnimationTime from JSCompartment to JS::Realm. r=jonco 2018-05-22 15:03:55 +02:00
Jan de Mooij 9e41173598 Bug 1461938 part 14 - Move warnedAboutStringGenericsMethods and firedOnNewGlobalObject from JSCompartment to JS::Realm. r=anba 2018-05-22 15:03:24 +02:00
Jan de Mooij 1da2a378bb Bug 1461938 part 13 - Move dtoaCache and newProxyCache from JSCompartment to JS::Realm. r=anba 2018-05-22 15:02:37 +02:00
Jan de Mooij b4bf5c547f Bug 1461938 part 12 - Move script maps from JSCompartment to JS::Realm. r=luke 2018-05-22 15:02:01 +02:00
Jan de Mooij 59c2b6722c Bug 1461938 part 11 - Move RealmStats from JSCompartment to JS::Realm. r=luke 2018-05-22 15:01:24 +02:00
Jan de Mooij dfa989c141 Bug 1461938 part 10 - Move {maps,sets}WithNurseryMemory from JSCompartment to Nursery. r=jonco 2018-05-22 15:00:53 +02:00
Jan de Mooij 578ee6fdf0 Bug 1461938 part 9 - Turn wasm::Compartment into wasm::Realm. r=luke
--HG--
rename : js/src/wasm/WasmCompartment.cpp => js/src/wasm/WasmRealm.cpp
rename : js/src/wasm/WasmCompartment.h => js/src/wasm/WasmRealm.h
2018-05-22 15:00:18 +02:00
Jan de Mooij 9932d946dd Bug 1461938 part 8 - Move some more fields from JSCompartment to JS::Realm. r=luke 2018-05-22 14:59:48 +02:00
Narcis Beleuzu 3fae2ab3f2 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-22 14:24:39 +03:00
Narcis Beleuzu 7bfb685bb2 Merge inbound to mozilla-central. a=merge 2018-05-22 12:49:47 +03:00
Tooru Fujisawa 4f2c6fa86b Bug 1462341 - Properly report OOM inside BytecodeEmitter::emitSwitch. r=anba 2018-05-22 18:10:28 +09:00
Tooru Fujisawa dfdda3967b Bug 1454285 - Part 2: Disallow using innermostEmitterScope while the value does not match the bytecode environment. r=jwalden 2018-05-22 18:10:28 +09:00
Tooru Fujisawa d09f43f12f Bug 1454285 - Part 1: Specify the current scope when emitting await and .generator. r=jwalden 2018-05-22 18:10:28 +09:00
Tom Ritter c59f8dd7b8 Bug 1456552 Make Optimized MinGW builds use -O# instead of falling through and collecting a -O r=ted
We use -O2 for js (because we can) and we use -O1 for the root because there is an x86 compiler bug
that is not immediately bypassable

MozReview-Commit-ID: CnDk2ko3jfo

--HG--
extra : rebase_source : bf889ab143bbf9480a261b06000d62cf0e1af8cc
2018-05-16 16:32:47 -05:00
Tom Ritter a56f337b8c Bug 1457162 Remove -TC from CFLAGS r=ted
-TC specifies 'treat all inputs at C files' which breaks things when you
specify a @list file of inputs.

During configure, -TP is required for C++ configure checks (although we
could probably make it smart and not need it at all), but -TC does not seem
to be required.

MozReview-Commit-ID: DNA8vUMdIXb

--HG--
extra : rebase_source : 523c6d815adf55c834fd858b10010123f86b25f6
2018-05-19 01:26:33 -05:00
Steve Fink 1f09b3daf8 Bug 1462486 - Optimize copyCharsInternal for left-leaning ropes, r=jonco
--HG--
extra : topic : gray.crash
extra : rebase_source : fcc7b13abd76859ad814815fc10f35f5a4984b8e
2018-05-17 15:12:01 -07:00
Steve Fink bf6189a53f Bug 1456518 - Shut down the gray mark observers on worker threads, r=jonco
--HG--
extra : topic : gray.crash
extra : rebase_source : 90a65d8f6c77357d8fef1bcae929179275bd0b5f
2018-05-17 16:20:54 -07:00
Steve Fink 208ab44321 Bug 1456512 - Do not unmark gray during minor collections, r=jonco
--HG--
extra : topic : gray.crash
extra : rebase_source : 7d78be4461da79769d3278be55fb05d206be82bc
2018-05-17 16:13:06 -07:00
Himanshu Teli 1e3e69bf76 Bug 1460883 - Remove flow sensitive alias analysis option r=tcampbell 2018-05-19 18:44:05 +05:30
Jon Coppeard c6d47cefa5 Bug 1462337 - Gray buffering failure can make zeal GCs non-incremental r=sfink 2018-05-21 10:06:40 +01:00
Jan de Mooij f300932410 Bug 1462280 - Remove an invalid assert. r=tcampbell 2018-05-21 09:14:05 +02:00
Jan de Mooij 77cdcf29a8 Bug 1462353 - Remove new.target slot from generators, clean up generator code a bit. r=arai 2018-05-21 09:13:05 +02:00
Tooru Fujisawa 3c8f09cb23 Bug 1461888 - Remove trueEnd offset from SRC_IF_ELSE and SRC_COND. r=jandem 2018-05-21 10:22:04 +09:00
Jan de Mooij f43c8ecf94 Bug 1461178 - Clear properties list when marking an object group as having unknown properties. r=jonco 2018-05-20 21:04:00 +02:00
André Bargull 633fa33ebd Bug 1462751 - Part 3: Update test262 exclusions. r=sfink
--HG--
extra : histedit_source : cf230bfa17a87e3c1486e9f25d8fa8c294190a09
2018-05-18 12:02:09 -07:00
André Bargull 9950039015 Bug 1462751 - Part 2: Update test262 - May 18 2018 edition. r=sfink
--HG--
rename : js/src/tests/test262/language/literals/regexp/u-invalid-quantifiable-assertion.js => js/src/tests/test262/language/literals/regexp/u-invalid-optional-lookahead.js
extra : histedit_source : e44dbb259df1448ad8c0283669e3eed81c34ff47
2018-05-18 12:01:41 -07:00
André Bargull 2f36264838 Bug 1462751 - Part 1: Update test262 importer to handle new flags. r=sfink
--HG--
extra : histedit_source : 48fdf50675cc60d761ecedb3e80de3f82c5aeb35
2018-05-18 12:00:54 -07:00
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
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
Jan de Mooij 168936704e Bug 1461292 part 3 - Rename AutoCompartment to AutoRealm. r=luke 2018-05-16 21:03:18 +02:00
Jon Coppeard 8d493df52b Bug 1444956 - Support BinAST decoding in the script loader r=baku 2018-05-16 15:58:13 +01: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
Jan de Mooij 9cfbaa7e06 Bug 1461292 part 2 - Rename JSAutoNullableCompartment to JSAutoNullableRealm. r=bz 2018-05-16 10:53:45 +02:00
Jan de Mooij 80e44e8003 Bug 1461292 part 1 - Rename JSAutoCompartment to JSAutoRealm. r=bz,luke 2018-05-16 10:53:16 +02:00
Julian Seward bbe16552f5 Bug 1461291 - [wasm] Crash [@ __sanitizer::internal_memmove] or Crash [@ __memmove_ssse3_back] through [@ js::wasm::Instance::memCopy]. r=lth.
This is due to incorrect range checks in Instance::memCopy and
Instance::memFill.  In particular, the checks inadvertantly succeed in the
wraparound cases where (uint32_t)(byteOffset + len) == 0, for the relevant
byteOffset and len pairings.  This patch fixes the checks.

--HG--
extra : rebase_source : 28570b96f5ca39e8d3e5fbbaaad86c65e2471897
2018-05-15 16:10:28 +02:00
Markus Stange 68470bc3c0 Bug 1461555 - Rename PseudoStack to ProfilingStack. r=njn
This also changes many references to the 'pseudo stack' to refer to the 'label
stack' instead. The label stack is one of the two stacks that are managed by
the profiling stack, the other stack being the JS interpreter stack.

MozReview-Commit-ID: Ed0YMMeCBY8

--HG--
extra : rebase_source : 5675d670f424c7d7dda04bafc2b3431fa2485e3c
2018-05-15 01:03:11 -04:00
Markus Stange 633ac66e7f Bug 1461555 - Rename ProfileEntry to ProfilingStackFrame. r=njn
The term "entry" is already used for elements in the profile buffer.

MozReview-Commit-ID: 1aB22V6veQh

--HG--
extra : rebase_source : c664eb4d6bed6cb74ba8a1b67ea99bd8ca57bcf7
extra : source : 3264c0cc0027b240b55bd3aebf27263b1e1d1cc0
2018-05-15 01:14:03 -04:00
Jan de Mooij 28a86c9503 Bug 1461272 - Add missing sealed elements check to ArraySetLength fast path. r=anba
--HG--
extra : rebase_source : 9eb9d4f1ce3c3f24025feccb4d7859f6472982dc
2018-05-15 18:05:40 +02:00
Jan de Mooij 96d904a66b Bug 1375504 - Add some asserts to the CacheIR code. r=tcampbell
--HG--
extra : rebase_source : b16050a49af45d4b0c07d56cf80571276b065682
2018-05-15 18:04:17 +02:00
Benjamin Bouvier d6b8a750aa Bug 1461337: Add a test for anyref and grow-memory; r=lth
--HG--
extra : rebase_source : c1ba4116ad4b5bcfff50c5ecfbe54f3bc200a080
extra : histedit_source : 844e17d34436858406f0cee4e1182b1357309b71
2018-05-15 15:42:25 +02:00
Benjamin Bouvier 7b4477d1d2 Bug 1461337: Handle anyref locales/return value in debugger; r=lth
--HG--
extra : rebase_source : 112bc0e889607af422e765f32ce9151d6e90a94a
extra : histedit_source : 5fb22d23a9ae8209da4cc61da0c3a99a037e10ee
2018-05-14 19:22:42 +02:00
Bogdan Tara 1fa42663b6 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-18 01:08:52 +03:00
bobslept 6cf511fc7a Bug 1461372 - Deduplicate GuardGroupHasUnanalyzedNewScript using emitLoadStubField. r=mgaudet 2018-05-17 21:38:26 +02:00
Benjamin Bouvier 1197c28f3f Bug 1450795: tests; r=luke
--HG--
extra : rebase_source : 5c88205bcc8d7a5bd58ab0c7e787c0a17f9ba208
2018-04-03 18:45:41 +02:00
Benjamin Bouvier a40c79c5a5 Bug 1461689: Add a fuzz-flags.txt file containing interesting flags for fuzzing; r=jandem
--HG--
extra : rebase_source : 52297ca63ac6249aca31b283cf4fc9ae9e1d6be5
2018-05-15 16:31:07 +02:00
Jan de Mooij 9bea88f211 Bug 1461605 part 3 - Remove JS_GetGlobalForCompartmentOrNull. r=luke 2018-05-17 11:00:49 +02:00
Jan de Mooij c7a435f1ca Bug 1461605 part 2 - Rename JS_{Enter,Leave}Compartment -> JS::{Enter,Leave}Realm. r=luke 2018-05-17 11:00:21 +02:00
Jan de Mooij 17f3983d0f Bug 1461605 part 1 - Rename CompartmentOptions to RealmOptions. r=luke,bz 2018-05-17 10:59:45 +02:00
Jon Coppeard 7f1fcc10d1 Bug 1461301 - Simulate OOM when pushing to the mark stack to exercise delayed arena marking in tests r=sfink 2018-05-17 09:37:30 +01:00
Jeff Walden 344259ad39 Bug 1461556 - Don't memset-zero the BacktrackingAllocator::vregs array of non-trivial VirtualRegister instances. r=jandem 2018-05-16 10:45:08 -07:00
Jeff Walden 7fbb143bcd Bug 1461556 - Initialize various asm.js structures using in-class initializers, not PodZero. r=jandem 2018-05-16 10:44:41 -07:00
Jeff Walden 7e808a56db Bug 1461821 - Call the relevant scope-data constructor when allocating it, and poison/mark as undefined the memory for the trailing array of BindingNames, ratther than impermissibly PodZero-ing non-trivial classes willy-nilly. r=jandem 2018-05-16 10:43:51 -07:00
Jeff Walden 912e0bddf0 Bug 1461821 - Convert the trailing array of BindingNames at the end of the various kinds of scope data into raw unsigned chars into which those BindingNames are placement-new'd, rather than memcpy-ing non-trivial classes around and failing to comply with the C++ object model. r=jandem 2018-05-16 10:34:55 -07:00
Jeff Walden 0e6638e74f Bug 1461556 - Don't use mozilla::PodZero in a bunch of places to initialize values of non-trivial type. r=jandem 2018-05-15 09:31:24 -07:00
Jeff Walden dab5bf7048 Bug 1461554 - Change the guard on #define JS_BROKEN_GCC_ATTRIBUTE_WARNING to defend against broken warnings for gcc < 8.1.0, and change the associated comment to grant blanket rs=jwalden for updates to it. r=jonco
--HG--
extra : rebase_source : 673556cd6bf2403cc9c91d7a1fe99532ced163f3
2018-05-15 09:31:23 -07:00
Jeff Walden b3290c3a1a Bug 1461481 - Move filling up a CharBuffer with the characters in a sequence of template literal characters into TokenStreamCharsBase. r=arai
--HG--
extra : rebase_source : 204669716b943659dddd7537c84b0db7b6df008f
2018-05-10 20:17:38 -07:00
Jeff Walden 0b20f6751c Bug 1461481 - Move getChar and updateLineInfoForEOL upward into TokenStreamChars and GeneralTokenStreamChars. r=arai
--HG--
extra : rebase_source : e6f68e8abb204f0efc8b2219c2632446dc715a8f
2018-05-10 20:10:03 -07:00
Jeff Walden 5d31aee4a3 Bug 1461399 - Fix the no-jit build when building with clang static-analysis bits enabled. r=tcampbell
--HG--
extra : rebase_source : eb4899b09a3e3f07d5b83c8fd0d48aa826d6de6c
2018-05-11 20:27:40 -07:00
André Bargull dc7e617a12 Bug 1461791 - Part 2: Use CallSelfHostedFunction in more places to call self-hosted functions. r=jandem 2018-05-16 04:36:00 -07:00
André Bargull 853592a685 Bug 1461791 - Part 1: Create shape table for intrinsic lookups. r=jandem 2018-05-16 04:35:40 -07:00
André Bargull 4782ef15d6 Bug 1461928 - Part 2: Add length member to AutoArrayRooter and change AutoGCRooter's tag to an enum class. r=jonco
--HG--
extra : histedit_source : 5e1137c64bc3878264ed621852a1d952e4e8c1d7
2018-05-16 05:23:44 -07:00
André Bargull 5b8148ca6b Bug 1461928 - Part 1: Remove AutoHashMapRooter and AutoHashSetRooter. r=jonco
--HG--
extra : histedit_source : 7315105e990bbe3ce657db09f51fd9651d8af2f5
2018-05-16 04:32:14 -07:00
Tom Ritter 333013f148 Bug 1443823 Apply no-keep-inline-dllexport to MinGW x64 also r=glandium
MozReview-Commit-ID: 2Nyw738ZHou

--HG--
extra : rebase_source : 4a18e47f8f1cb425864811230fd33c6620760021
2018-03-23 14:35:30 -05:00
Eric Rahm 04238b5088 Bug 1441876 - Implement a more efficient JSRope hasher. r=sfink
This replaces the existing logic that does a full copy of the rope and then
hashes and instead iteratively hashes each portion of the rope. While it
avoids allocating a new string it still does some allocations in order to
iteratively process the rope rather than risk stack exhaustion.

--HG--
extra : rebase_source : d48f8dff0954887d373ebed0a2e05147533bbe1a
extra : amend_source : 609a93af42cfa30265201f8209c5c4fead4759b6
extra : histedit_source : f3fd518035f75259d8288b82eb29fc2ba04e5e03
2018-05-17 17:46:51 -07:00
Steve Fink 04b78b24fd Bug 1442722 - discardTransferables is a no-op for DifferentProcess clones, r=jorendorff, a=abillings
--HG--
extra : topic : clone.refactor
extra : rebase_source : 6e118ef810c3f825316f7d316ae4621a9993d13d
2018-04-06 15:33:32 -07:00
Steve Fink 4179a6b55c Bug 1442722 - Move DiscardTransferables back into JSStructuredCloneData (pure refactor), r=jorendorff
--HG--
extra : topic : clone.refactor
extra : rebase_source : d405cbaba373519615b6561790c291837affa274
2018-04-06 15:32:09 -07:00
Steve Fink e1fedf5974 Bug 1442722 - Move scope into JSStructuredData, r=baku,jorendorff
--HG--
extra : topic : clone.refactor
extra : rebase_source : 657bfd1a4c87de0a27c99e685adbf739c907ed6c
2018-04-03 11:17:33 -07:00
Steve Fink d5f742ea53 Bug 1442481 - make string post write barrier conditional on nursery strings
--HG--
extra : topic : string.jitbarrier
extra : rebase_source : 5ddabd08dda4df59b31a77e25bde028623c423e8
2018-05-15 12:14:15 -07:00
Steve Fink 13eea05fae Bug 1442481 - Use whole cell buffer to post-barrier string -> string edges in JIT, r=jandem
--HG--
extra : topic : string.jitbarrier
extra : rebase_source : 07bbc69fc1a2292520f5337adb1d9be56f1de84b
2018-05-10 21:39:39 -07:00
Jan de Mooij 1db7689199 Bug 1464134 part 4 - Rename CompileCompartment to CompileRealm. r=evilpie 2018-05-30 16:53:49 +02:00
Jan de Mooij 67eefa73f9 Bug 1464134 part 3 - Remove GetRealmForCompartment calls from jsapi-tests. r=anba 2018-05-30 16:53:49 +02:00
Jan de Mooij 88d1b85a42 Bug 1464134 part 2 - Add a Vector of Realms to JSCompartment and add RealmsInCompartmentIter. r=jonco 2018-05-30 16:53:48 +02:00
qiaopengcheng 8e988b03ed Bug 1464789 - If page-size is not 4K, the function of LazyStubTier::createMany would trigger a segment fault within executableCopy. r=luke
--HG--
extra : rebase_source : 12fe265aac6975ef70e54bb75a5b9056c4be2190
2018-05-28 18:16:00 +03:00
Jan de Mooij 31c08cb474 Bug 1464036 part 2 - Give JSID_EMPTY its own jsid tag and clean up jsid code a bit. r=jonco 2018-05-30 13:51:58 +02:00
Lars T Hansen c91cd00748 Bug 1459900 - Adapt ValType to accomodate reference types. r=luke
--HG--
extra : rebase_source : 1f1117eb3a08a77de8d543c1c767d667c0a94e7f
extra : source : 585605b416490102f4f75f50979b3f4ba124a2c8
2018-05-24 15:42:15 +02:00
Julian Seward a52d3f5efb Bug 1464477 - Crash [@ JSObject::getClass] with wasm. r=lth.
OpIter<Policy>::readMem{Copy,Fill} have to do with memory operations.  But
they don't verify that the current module actually has a valid memory.  If
indeed there is no memory, the generated code segfaults.

This patch causes verification to fail for modules without memories that
use BulkMem.{Copy,Fill}.  It also fixes a testcase whose lack of memory is
exposed by the C++ fix.

--HG--
extra : rebase_source : 5a718aff7725815868773b01455e78b0a2a616d3
2018-05-30 10:15:29 +02:00
Csoregi Natalia 00dd116638 Merge inbound to mozilla-central. a=merge 2018-05-15 12:53:24 +03:00