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
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
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
If we are generating only a part of the graph, to given kind, don't fail if a
build is packaging tests and there is no corresponding test task, as the tests
may not have been generated.
Differential Revision: https://phabricator.services.mozilla.com/D82097
The kinda hacky mutex latch is preserved to avoid concerns with AtStartup prefs having
potential to deadlock when used in this subsystem.
Differential Revision: https://phabricator.services.mozilla.com/D83403
As reported, Microsoft ChangJie is not async layout handling aware. As far as
I've tested, other IMEs for both Simplified and Traditional Chinese TIPs on
Win10. So, we should take the hack back in Nightly channel for ChangJie
even when it runs on new Win10 build.
Differential Revision: https://phabricator.services.mozilla.com/D83286
With the previous change, on WebRender AnimationTransform::mTransformInDevSpace
and AnimationTransform::mFrameTransform are pretty much same, so we don't need
to set both of values, we need only mFrameTransform.
Also this patch drops move(s), I didn't know that Matrix4x4 can't be moved.
Differential Revision: https://phabricator.services.mozilla.com/D83041
It's now can work with static helper methods and a `TextFragmentData` instance.
Therefore, this patch makes it a static method.
Note that it's always called with `nsIEditor::eNone` so that we can get rid of
the argument.
Differential Revision: https://phabricator.services.mozilla.com/D82705
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
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
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
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
This reduces the size of intern handles, which drops the size of
the PrimitiveInstance structure from 80 bytes to 64 bytes. This
has a significant performance improvement on pages with large
numbers of primitives.
It also opens up some future optimization work related to text
run interning costs, which will be a performance win on many pages.
Differential Revision: https://phabricator.services.mozilla.com/D83281
LLVM 11 introduces a hard requirement for SDK 10.12 in order to build for Mac. We want to keep building older LLVMs with 10.11 though, so this patch adds some flexibility so that build-clang can make use of whatever SDK package a particular task pulls from tooltool (but still requesting a deployment target of 10.11).
Differential Revision: https://phabricator.services.mozilla.com/D82621
Now, `mScanEndPoint` is not used. This patch removes it and clean up the
constructors of `WSRunScanner` and `WSRunObject`.
Differential Revision: https://phabricator.services.mozilla.com/D82703
It's simpler to make `WSRunScanner::InsertText()` take insertion point.
Then, it can do its jobs with `TextFragmentData` instance(s).
Differential Revision: https://phabricator.services.mozilla.com/D82702