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

77858 Коммитов

Автор SHA1 Сообщение Дата
Csoregi Natalia c9da5c6675 Backed out changeset 032cdefd3d8c (bug 1647747) for assertion failures on Cell.h. CLOSED TREE 2020-07-15 07:14:33 +03:00
Steve Fink f72a6faee1 Bug 1647747 - Add in zone edges for delegates to DebuggerWeakMap r=jonco,jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D81427
2020-07-14 23:57:09 +00:00
Jon Coppeard 482055e3c5 Bug 1652650 - Fix build bustage for --enable-more-deterministic builds r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D83467
2020-07-14 22:35:48 +00:00
Logan Smyth 283fb0d42d Bug 1196089 - Treat script sources introduced by DOM timers as anonymous. r=davidwalsh
Differential Revision: https://phabricator.services.mozilla.com/D83410
2020-07-14 15:03:53 +00:00
André Bargull f984b9da58 Bug 1652148: Handle allocation failure in AggregateError constructor. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D83236
2020-07-14 14:03:38 +00:00
Ted Campbell fb1ec7715e Bug 1652728 - Remove FunctionBox::function() accessor. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D83496
2020-07-14 13:22:09 +00:00
yulia a589afcb7d Bug 1650340 - Fix deleteElementInOptionalChain; r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D82357
2020-07-14 12:50:03 +00:00
Ted Campbell c11bf9b5e4 Bug 1614041 - Move ModuleObject allocation into Stencil instantiation r=arai
Depends on D83270

Differential Revision: https://phabricator.services.mozilla.com/D83271
2020-07-14 12:06:46 +00:00
Ted Campbell e86ddde10d Bug 1614041 - Store FunctionDeclarations in StencilModuleMetadata r=arai
Use StencilModuleMetadata to hold module function-declarations list so that a
ModuleObject is no longer needed to perform parsing.

Depends on D83274

Differential Revision: https://phabricator.services.mozilla.com/D83270
2020-07-14 12:06:39 +00:00
Ted Campbell 5e3259e17f Bug 1614041 - Stop storing binding name in module function-decl list r=arai
The binding name is by definition the explicitName of the JSFunction so do
not store a copy of it. This avoids needing to trace that anymore.

Depends on D83269

Differential Revision: https://phabricator.services.mozilla.com/D83274
2020-07-14 12:06:31 +00:00
Ted Campbell 78dc067d78 Bug 1614041 - Stop using ModuleObject* in ScopeCreationData r=mgaudet
Similar to what is done for FunctionScope, defer the initialization of
ModuleScope::Data::module field until creating concrete scope.

Depends on D83206

Differential Revision: https://phabricator.services.mozilla.com/D83269
2020-07-14 12:06:29 +00:00
Ted Campbell 5211daac48 Bug 1614041 - Defer ModuleBuilder GC allocations r=arai
Introduce StencilModuleEntry type to replace {Import,Export}EntryObject
during parsing. Also introduce StencilModuleMetadata to hold resulting
import/export tables.

Differential Revision: https://phabricator.services.mozilla.com/D83206
2020-07-14 12:06:21 +00:00
Jan de Mooij fdf93b1ef5 Bug 1652049 - Handle GuardNullProto in GetObject. r=anba
Differential Revision: https://phabricator.services.mozilla.com/D83488
2020-07-14 11:11:29 +00:00
Sylvestre Ledru 1dbb63db2b Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D83258
2020-07-14 09:34:19 +00:00
Jan de Mooij 79e6cf479d Bug 1651645 part 9 - Add NON_PACKED flag to ObjectElements, use it in IsPackedArray. r=evilpie,anba
This way IsPackedArray does not depend on TI and can be used with Warp.

Adds MStoreHoleValueElement for JSOp::InitElemArray writing a hole value. This
instruction writes the hole value and sets the NON_PACKED flag. ICs don't
optimize writing holes.

We now also check in debug builds that if IsPackedArray returns true, the first
few elements aren't the magic hole value.

Differential Revision: https://phabricator.services.mozilla.com/D82966
2020-07-14 07:02:11 +00:00
Jan de Mooij d9c256598a Bug 1651645 part 8 - Fold writeToIndexWouldMarkNotPacked into its sole caller. r=evilpie
Also move it down a bit because we only need to do this when writing to an
index > initlength.

Depends on D82964

Differential Revision: https://phabricator.services.mozilla.com/D82965
2020-07-09 21:31:04 +00:00
Jan de Mooij 7cc7aa00a6 Bug 1651645 part 7 - Clean up ensureDenseInitializedLength a bit. r=evilpie
Re-organize the code. Add an early return instead of a big if-statement.
Change the initlen reference to a plain uint32_t.

Depends on D82963

Differential Revision: https://phabricator.services.mozilla.com/D82964
2020-07-09 21:29:35 +00:00
Jan de Mooij fa743e77e7 Bug 1651645 part 6 - Fold ensureDenseInitializedLengthNoPackedCheck into ensureDenseInitializedLength and call from ensureDenseElements. r=evilpie
The old code in ensureDenseElements marked non-packed before extending the
elements capacity. That's a problem because it can be the statically-allocated
EmptyObjectElements and we can't set the flag on that.

It's clearer to do the non-packed check in ensureDenseInitializedLength.

Depends on D82962

Differential Revision: https://phabricator.services.mozilla.com/D82963
2020-07-09 20:55:30 +00:00
Jan de Mooij 9b6a106394 Bug 1651645 part 5 - Assert initDenseElement/setDenseElement aren't called with the hole MagicValue. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D82962
2020-07-14 07:26:24 +00:00
Jan de Mooij f23100f9ec Bug 1651645 part 4 - Use setDenseElementHole in removeDenseElementForSparseIndex. r=evilpie
The goal is to have just one place where OBJECT_FLAG_NON_PACKED is set.

Depends on D82960

Differential Revision: https://phabricator.services.mozilla.com/D82961
2020-07-09 20:55:29 +00:00
Jan de Mooij de73a122b1 Bug 1651645 part 3 - Use markDenseElementsNotPacked in setDenseElementHole. r=evilpie
Depends on D82959

Differential Revision: https://phabricator.services.mozilla.com/D82960
2020-07-09 20:55:29 +00:00
Jan de Mooij ff2c410cf5 Bug 1651645 part 2 - Simplify DeleteArrayElement, make some methods private. r=evilpie
Depends on D82958

Differential Revision: https://phabricator.services.mozilla.com/D82959
2020-07-09 20:55:29 +00:00
Jan de Mooij 82e9b0e078 Bug 1651645 part 1 - Inline setDenseElementMaybeConvertDouble into its sole caller. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D82958
2020-07-09 20:55:29 +00:00
Dorel Luca 8bb103856e Backed out 5 changesets (bug 1614041) for Spidermonkey failure on gecko/js/src/vm/NativeObject.h. CLOSED TREE
Backed out changeset 7eaf75ab590a (bug 1614041)
Backed out changeset 0776aaa8e255 (bug 1614041)
Backed out changeset ec3d556893bc (bug 1614041)
Backed out changeset 7d5c34919a24 (bug 1614041)
Backed out changeset deb22e4b7e1e (bug 1614041)
2020-07-14 05:23:44 +03:00
Ted Campbell 2bfe64e5db Bug 1614041 - Move ModuleObject allocation into Stencil instantiation r=arai
Depends on D83270

Differential Revision: https://phabricator.services.mozilla.com/D83271
2020-07-14 01:27:46 +00:00
Ted Campbell 6796bd130e Bug 1614041 - Store FunctionDeclarations in StencilModuleMetadata r=arai
Use StencilModuleMetadata to hold module function-declarations list so that a
ModuleObject is no longer needed to perform parsing.

Depends on D83274

Differential Revision: https://phabricator.services.mozilla.com/D83270
2020-07-14 01:27:43 +00:00
Ted Campbell cd25f40722 Bug 1614041 - Stop storing binding name in module function-decl list r=arai
The binding name is by definition the explicitName of the JSFunction so do
not store a copy of it. This avoids needing to trace that anymore.

Depends on D83269

Differential Revision: https://phabricator.services.mozilla.com/D83274
2020-07-14 01:27:36 +00:00
Ted Campbell be1e04f346 Bug 1614041 - Stop using ModuleObject* in ScopeCreationData r=mgaudet
Similar to what is done for FunctionScope, defer the initialization of
ModuleScope::Data::module field until creating concrete scope.

Depends on D83206

Differential Revision: https://phabricator.services.mozilla.com/D83269
2020-07-14 01:27:33 +00:00
Ted Campbell fe38b9af3a Bug 1614041 - Defer ModuleBuilder GC allocations r=arai
Introduce StencilModuleEntry type to replace {Import,Export}EntryObject
during parsing. Also introduce StencilModuleMetadata to hold resulting
import/export tables.

Differential Revision: https://phabricator.services.mozilla.com/D83206
2020-07-14 01:27:26 +00:00
Butkovits Atila aa350eaade Backed out 5 changesets (bug 1614041) for causing assertion failure at jsapi.cpp.
Backed out changeset 32d800de8502 (bug 1614041)
Backed out changeset 24520be1a1ce (bug 1614041)
Backed out changeset c66757095dd4 (bug 1614041)
Backed out changeset 73a1977876d1 (bug 1614041)
Backed out changeset 5db78863ff43 (bug 1614041)
2020-07-14 03:49:25 +03:00
Ted Campbell fced5d3bfd Bug 1614041 - Move ModuleObject allocation into Stencil instantiation r=arai
Depends on D83270

Differential Revision: https://phabricator.services.mozilla.com/D83271
2020-07-13 19:34:22 +00:00
Ted Campbell 8711d17ee1 Bug 1614041 - Store FunctionDeclarations in StencilModuleMetadata r=arai
Use StencilModuleMetadata to hold module function-declarations list so that a
ModuleObject is no longer needed to perform parsing.

Depends on D83274

Differential Revision: https://phabricator.services.mozilla.com/D83270
2020-07-13 19:33:23 +00:00
Ted Campbell f3ebcb9048 Bug 1614041 - Stop storing binding name in module function-decl list r=arai
The binding name is by definition the explicitName of the JSFunction so do
not store a copy of it. This avoids needing to trace that anymore.

Differential Revision: https://phabricator.services.mozilla.com/D83274
2020-07-13 18:09:27 +00:00
Ted Campbell 600d329093 Bug 1614041 - Stop using ModuleObject* in ScopeCreationData r=mgaudet
Similar to what is done for FunctionScope, defer the initialization of
ModuleScope::Data::module field until creating concrete scope.

Differential Revision: https://phabricator.services.mozilla.com/D83269
2020-07-13 18:09:19 +00:00
Ted Campbell 5a4e7d162f Bug 1614041 - Defer ModuleBuilder GC allocations r=arai
Introduce StencilModuleEntry type to replace {Import,Export}EntryObject
during parsing. Also introduce StencilModuleMetadata to hold resulting
import/export tables.

Differential Revision: https://phabricator.services.mozilla.com/D83206
2020-07-13 22:41:54 +00:00
Steve Fink fa8c4380d6 Bug 1645415 - Mark all relevant strings non-deduplicatable r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D82791
2020-07-10 17:06:25 +00:00
Kannan Vijayan 005aff5f1f Bug 1651750 - Remove ParserAtomId and ParserNameId, replace with pointers-to-parser-atoms. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D83374
2020-07-13 20:18:00 +00:00
Kannan Vijayan 450b9818d6 Bug 1652176 - Change parser code to use `parserNames()` alias for `cx->names()`. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D83203
2020-07-11 02:45:06 +00:00
Yoshi Cheng-Hao Huang 8854b25ad0 Bug 1651944 - Store UniquePtr in ParseTaskVector. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D83087
2020-07-13 08:50:38 +00:00
Kannan Vijayan fed2a3c7ba Bug 1651709 - Miscellaneous bugfixes in disabled ParserAtom code. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D82933
2020-07-13 17:39:42 +00:00
Iain Ireland e08113f446 Bug 1646378: Add WarpInlinedCall snapshot r=jandem
I based the InliningTree / CompileInfo code on IonBuilder::inlineScriptedCall.

In the future, if we want to inline cases where we didn't allocate a new ICScript, it should just be a matter of changing a few lines in maybeInlineIC. We can use the default ICScript off the target script.

(Note: we now check in maybeInlineCall that we don't already have a CallInlinedFunction. This should not normally happen, but could happen if we reset the warmup counter for a script.)

Differential Revision: https://phabricator.services.mozilla.com/D83184
2020-07-13 16:13:47 +00:00
Iain Ireland e2184d858b Bug 1646378: Factor out FindInlinableCallData r=jandem
When taking a snapshot for inlining, we have to read the CacheIR to find the ICScript and the target. We could store the target in another field in CallInlinedFunction, but that could be awkward in the future if we want to inline without trial inlining, because we won't have a CallInlinedFunction available. Instead, I hoisted the CacheIR-reading code in maybeInlineCall into its own function that can be shared by TrialInlining and the snapshot code.

Differential Revision: https://phabricator.services.mozilla.com/D83183
2020-07-13 15:19:51 +00:00
Iain Ireland d4cc607315 Bug 1646378: Add WarpScriptSnapshotList to WarpSnapshot. r=jandem
Preparing for inlining, at which point the WarpSnapshot / WarpScriptSnapshot relationship is no longer 1-to-1.

Depends on D83180

Differential Revision: https://phabricator.services.mozilla.com/D83182
2020-07-13 14:58:21 +00:00
Iain Ireland 8298a561a9 Bug 1646378: Move compilation-wide data out of WarpBuilder r=jandem
Almost all of the data in WarpBuilder was already script-specific, so instead of renaming it to WarpScriptBuilder everywhere, I pulled out a WarpCompilation class to hold the data that is shared between scripts.

Differential Revision: https://phabricator.services.mozilla.com/D83180
2020-07-13 15:18:22 +00:00
Iain Ireland a7c53fa8e3 Bug 1646378: Store ICScript and CompileInfo in WarpScriptOracle r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D83179
2020-07-13 11:35:34 +00:00
Jon Coppeard 174c5689cc Bug 1652447 - Remove IsAboutToBeFinalizedDuringSweep and replaces uses with IsAboutToBeFinalized r=sfink
I added an overload of IsInsideNursery for TenuredCell that always returns false so that IsAboutToBeFinalizedInternal should optimise out the nursery check for things that are never allocated in the nursery.

Differential Revision: https://phabricator.services.mozilla.com/D83308
2020-07-13 15:05:03 +00:00
Jon Coppeard e2ae1662ce Bug 1652425 - Make WeakCache::sweep conservatively take the store buffer lock r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D83301
2020-07-13 15:00:28 +00:00
Jon Coppeard ba970c6d91 Bug 1652281 - Remove assertion about empty chunks pool that no longer always holds r=sfink
GCRuntime::decommitFreeArenasWithoutUnlocking can now get called in situations when we do have empty chunks, e.g. when handling OOM in GCRuntime::decommitFreeArenas. We can just remove this assertion.

Differential Revision: https://phabricator.services.mozilla.com/D83295
2020-07-13 14:58:57 +00:00
André Bargull fc09cfa563 Bug 1652153: Clear any pending exception when JS_EncodeStringToUTF8 failed in ErrorReportBuilder::init. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D83237
2020-07-13 14:39:52 +00:00
Matthew Gaudet 760f059b00 Bug 1651512 - Reflect.parse support for private fields r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D83105
2020-07-13 13:14:24 +00:00