Remove IonBuilder and TI
Categories
(Core :: JavaScript Engine: JIT, task, P2)
Tracking
()
People
(Reporter: jandem, Assigned: jandem)
References
(Depends on 1 open bug)
Details
Attachments
(104 files)
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
Bug 1673553 part 39 - Simplify Ion GetProp IC code now that it always returns a boxed Value. r?iain!
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
The plan is to go ahead with this in the next cycle (Firefox 85), after Warp hits the release channel.
This will unblock a lot of cleanup and optimization work.
Assignee | ||
Comment 1•4 years ago
|
||
Fortunately most of the tests that used --no-warp now work with Warp. Likely
because we now bailout more on the first execution, similar to the Ion behavior.
Updated•4 years ago
|
Assignee | ||
Comment 2•4 years ago
|
||
A bit counterintuitive because we're keeping Warp and not Ion, but it's easiest
to make this change and later potentially rename the Ion prefs to Warp prefs.
Depends on D96987
Assignee | ||
Comment 3•4 years ago
|
||
Depends on D96988
Assignee | ||
Comment 4•4 years ago
|
||
15 files changed, 26 insertions(+), 21287 deletions(-)
This also marks some methods that are defined in InlineScriptTree-inl.h as inline
to fix a linker error.
The patch stack uses TODO(no-TI) to mark places that need follow-up cleanup.
Depends on D96989
Assignee | ||
Comment 5•4 years ago
|
||
This also removes resultTypeSet_ from MIR instructions.
Depends on D96990
Assignee | ||
Comment 6•4 years ago
|
||
GetAliasedVar and GetImport are no longer marked as JOF_IC and JOF_TYPESET.
Depends on D96991
Assignee | ||
Comment 7•4 years ago
|
||
Depends on D96992
Assignee | ||
Comment 8•4 years ago
|
||
The previous patch removed the TI code from Instance::callImport so we no longer
need the bidirectional link. JS functions always have a JIT entry point.
Depends on D96993
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 9•4 years ago
|
||
These patches remove about 28,000 lines of code so far. Mostly on the JIT side. There's still a ton of TI code to remove.
Assignee | ||
Comment 10•4 years ago
|
||
Depends on D96994
Comment 11•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/03b35d575361 part 1 - Fix jit-tests to not rely on --warp and --no-warp. r=iain https://hg.mozilla.org/integration/autoland/rev/d26e4dd982da part 2 - Remove Warp shell flags and Treeherder jobs. r=iain,jmaher https://hg.mozilla.org/integration/autoland/rev/2f491d873cdf part 3 - Remove Warp browser pref. r=iain,preferences-reviewers https://hg.mozilla.org/integration/autoland/rev/a6d6dfbdcc2b part 4 - Remove main IonBuilder code. r=iain https://hg.mozilla.org/integration/autoland/rev/64dd0e96866f part 5 - Remove TemporaryTypeSet, HeapTypeSetKey and uses. r=iain https://hg.mozilla.org/integration/autoland/rev/7a6413cb45c4 part 6 - Remove Baseline type monitor and update ICs. r=iain https://hg.mozilla.org/integration/autoland/rev/4ec475e94461 part 7 - Remove TI code from JitScript. r=iain https://hg.mozilla.org/integration/autoland/rev/cb856cdf7a0c part 8 - Remove WasmInstance/JitScript link. r=lth,iain
Comment 12•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/03b35d575361
https://hg.mozilla.org/mozilla-central/rev/d26e4dd982da
https://hg.mozilla.org/mozilla-central/rev/2f491d873cdf
https://hg.mozilla.org/mozilla-central/rev/a6d6dfbdcc2b
https://hg.mozilla.org/mozilla-central/rev/64dd0e96866f
https://hg.mozilla.org/mozilla-central/rev/7a6413cb45c4
https://hg.mozilla.org/mozilla-central/rev/4ec475e94461
https://hg.mozilla.org/mozilla-central/rev/cb856cdf7a0c
Assignee | ||
Comment 13•4 years ago
|
||
Depends on D97134
Assignee | ||
Comment 14•4 years ago
|
||
Depends on D97290
Assignee | ||
Comment 15•4 years ago
|
||
ObjectGroup::finalize is now an empty function so define it in the header.
The objectGroupsMallocHeap memory reporter can also be removed.
Depends on D97291
Assignee | ||
Comment 16•4 years ago
|
||
Because this removes a word from ObjectGroup, we have to change ZeroBits in
TenureCountCache::hash from 4 to 3 (for 64-bit platforms) or we get assertion
failures. ObjectGroup is now 40 bytes instead of 48 bytes so bit 4 can be non-zero.
Depends on D97292
Assignee | ||
Comment 17•4 years ago
|
||
The MacroAssembler had some delayed-read-barrier code for this that we no longer
need.
This leaves some empty shells in the TI code that we can sweep up in later patches.
Depends on D97293
Assignee | ||
Comment 18•4 years ago
|
||
Groups are now determined by proto and class so we no longer need to try to
combine them based on property types.
Depends on D97294
Assignee | ||
Comment 19•4 years ago
|
||
Depends on D97295
Assignee | ||
Comment 20•4 years ago
|
||
Depends on D97296
Assignee | ||
Comment 21•4 years ago
|
||
Depends on D97297
Assignee | ||
Comment 22•4 years ago
|
||
Without TI all groups have unknown properties and aren't using pre-tenuring, so
remove code based on that.
Depends on D97298
Assignee | ||
Comment 23•4 years ago
|
||
At this point ObjectGroup::sweep is a no-op, so remove AutoSweepObjectGroup and
ObjectGroup's generation flag.
Depends on D97299
Assignee | ||
Comment 24•4 years ago
|
||
Depends on D97300
Assignee | ||
Comment 25•4 years ago
|
||
Parts 9-21 have a combined diffstat of:
80 files changed, 341 insertions(+), 8005 deletions(-)
So we're at 35,000+ deleted lines of code.
At this point the core TI code is mostly gone, but there's still a lot of cleanup left around JitScript sweeping, ObjectGroup/singletons. Also some JSOps and MIR instructions are no longer needed...
Assignee | ||
Comment 26•4 years ago
|
||
Now that we have just one addendum kind, we don't need the abstraction anymore.
Depends on D97301
Assignee | ||
Comment 27•4 years ago
|
||
Also remove now-unused removeDefaultNewGroup and replaceDefaultNewGroup.
Depends on D97435
Assignee | ||
Comment 28•4 years ago
|
||
Depends on D97436
Assignee | ||
Comment 29•4 years ago
|
||
Depends on D97437
Assignee | ||
Comment 30•4 years ago
|
||
Depends on D97438
Assignee | ||
Comment 31•4 years ago
|
||
Depends on D97439
Assignee | ||
Comment 32•4 years ago
|
||
Depends on D97440
Assignee | ||
Comment 33•4 years ago
|
||
Depends on D97441
Assignee | ||
Comment 34•4 years ago
|
||
Depends on D97442
Comment 35•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/490f4f157ea6 part 9 - Resurrect some IonBuilder comments, move some code from MIRBuilderShared.h to WarpBuilder. r=iain https://hg.mozilla.org/integration/autoland/rev/9298d2de2813 part 10 - Remove CompilerConstraintList. r=iain https://hg.mozilla.org/integration/autoland/rev/dbcc16d84227 part 11 - Remove TypeConstraint, DPAConstraintInfo. r=iain https://hg.mozilla.org/integration/autoland/rev/678cf10d9be3 part 12 - Remove TypeNewScript, PreliminaryObjectArray. r=iain https://hg.mozilla.org/integration/autoland/rev/d114b0ebe5f0 part 13 - Remove ObjectGroup::propertySet. r=iain https://hg.mozilla.org/integration/autoland/rev/7e6e7e3e5fed part 14 - Remove TypeSet. r=iain https://hg.mozilla.org/integration/autoland/rev/9a53df9a977e part 15 - Remove CombinePlainObjectPropertyTypes and CombineArrayElementTypes. r=iain https://hg.mozilla.org/integration/autoland/rev/aa3d200b6f98 part 16 - Remove some allocation site code. r=iain https://hg.mozilla.org/integration/autoland/rev/d6cdc2a48fa7 part 17 - Remove ObjectGroup interpreted function addendum. r=iain https://hg.mozilla.org/integration/autoland/rev/66c92d861375 part 18 - Remove some ObjectGroup flags. r=iain https://hg.mozilla.org/integration/autoland/rev/fc68cf76fcfc part 19 - Remove more ObjectGroup flags. r=iain https://hg.mozilla.org/integration/autoland/rev/21a1840ffa4b part 20 - Remove TI ObjectGroup sweeping. r=iain,jonco https://hg.mozilla.org/integration/autoland/rev/38d83f497e6b part 21 - Remove more code. r=iain
![]() |
||
Comment 36•4 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/490f4f157ea65c29d96cb42e486dabb21d1d7c0e
https://hg.mozilla.org/mozilla-central/rev/9298d2de2813614c64533c57c2703df2a9ee4584
https://hg.mozilla.org/mozilla-central/rev/dbcc16d84227761523600aaefe38c18d2fdbb7e4
https://hg.mozilla.org/mozilla-central/rev/678cf10d9be337f69ae3b18c2d8e363239307527
https://hg.mozilla.org/mozilla-central/rev/d114b0ebe5f01fd169edf6483f260703a8179a15
https://hg.mozilla.org/mozilla-central/rev/7e6e7e3e5fed2179362d1c9ef94f1b59d70bffc5
https://hg.mozilla.org/mozilla-central/rev/9a53df9a977e1ed4abc60d317c0b1bae85aaa0f4
https://hg.mozilla.org/mozilla-central/rev/aa3d200b6f98f4013cc23c1c13bc1b9504c96e5f
https://hg.mozilla.org/mozilla-central/rev/d6cdc2a48fa7a24765684fe82771632cc6f59b79
https://hg.mozilla.org/mozilla-central/rev/66c92d861375bcf2e5d21b7e406b0fc742c0e689
https://hg.mozilla.org/mozilla-central/rev/fc68cf76fcfc5ff9a54f2339daf578414470191f
https://hg.mozilla.org/mozilla-central/rev/21a1840ffa4b55377d80b79c49ed17f36432a1a3
https://hg.mozilla.org/mozilla-central/rev/38d83f497e6bdcaa0a548aa804cb30416f811a12
Comment 37•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3d4a6e960e75 part 22 - Replace ObjectGroup addendum with just the TypeDescr. r=iain https://hg.mozilla.org/integration/autoland/rev/11103564a384 part 23 - Remove NEW_GROUP_UNKNOWN flag. r=iain https://hg.mozilla.org/integration/autoland/rev/8a4458c03edf part 24 - Remove ObjectGroup::useSingletonForClone. r=iain https://hg.mozilla.org/integration/autoland/rev/3a3723ac0152 part 25 - Remove JOF_TYPESET and numBytecodeTypeSets. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/fd704328f3e4 part 26 - Remove PropertyTypeCheckInfo and guardGroupForTypeBarrier. r=iain https://hg.mozilla.org/integration/autoland/rev/7aed8af44e9c part 27 - Remove more unused JitScript fields. r=iain https://hg.mozilla.org/integration/autoland/rev/5c55c464dcfc part 28 - Remove TI OOM handling code now that setOOMSweepingTypes is unused. r=iain https://hg.mozilla.org/integration/autoland/rev/22c752fc5172 part 29 - Remove InlinePropertyTable and some dead MIR instructions. r=iain https://hg.mozilla.org/integration/autoland/rev/521391ead6f0 part 30 - Remove more dead code and IC flags. r=iain
Assignee | ||
Comment 38•4 years ago
|
||
Assignee | ||
Comment 39•4 years ago
|
||
This also gets rid of LStart and the unused entrySnapshot_ field.
Depends on D97576
Assignee | ||
Comment 40•4 years ago
|
||
Depends on D97577
Assignee | ||
Comment 41•4 years ago
|
||
At this point JitScript::sweepTypes is only used to sweep the inlinedCompilations
Vector, a list of Ion/Warp compilations that inlined the script. This patch replaces
that with a HashMap per JitZone so that we can then remove the type sweeping mechanism
in the next patch.
This also moves the TI invalidation code into jit/. This can be cleaned up more later.
Depends on D97578
Assignee | ||
Comment 42•4 years ago
|
||
Depends on D97579
Assignee | ||
Comment 43•4 years ago
|
||
Warp doesn't store nursery pointers in MIR instructions so we can remove some
code to support that.
Depends on D97580
Updated•4 years ago
|
![]() |
||
Comment 44•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3d4a6e960e75
https://hg.mozilla.org/mozilla-central/rev/11103564a384
https://hg.mozilla.org/mozilla-central/rev/8a4458c03edf
https://hg.mozilla.org/mozilla-central/rev/3a3723ac0152
https://hg.mozilla.org/mozilla-central/rev/fd704328f3e4
https://hg.mozilla.org/mozilla-central/rev/7aed8af44e9c
https://hg.mozilla.org/mozilla-central/rev/5c55c464dcfc
https://hg.mozilla.org/mozilla-central/rev/22c752fc5172
https://hg.mozilla.org/mozilla-central/rev/521391ead6f0
Comment 45•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/136f05c1bbc4 part 31 - Remove IsTypeInferenceEnabled. r=iain https://hg.mozilla.org/integration/autoland/rev/c876a180dd57 part 32 - Remove ArgumentCheck bailout code. r=iain https://hg.mozilla.org/integration/autoland/rev/fa9fd7ddf903 part 33 - Simplify some MIRGraph and MPhi code. r=iain https://hg.mozilla.org/integration/autoland/rev/b651b7cf9447 part 34 - Replace JitScript's inlinedCompilations vector with a HashMap. r=iain,jonco https://hg.mozilla.org/integration/autoland/rev/94ca532df695 part 35 - Remove remaining type sweeping code. r=iain,jonco https://hg.mozilla.org/integration/autoland/rev/7e5bcf9488dd part 36 - Remove more Ion/GC code. r=iain,jonco
Assignee | ||
Comment 46•4 years ago
|
||
- Move DOMObjectKind to MIR.h
- Move ObjectGroupFlags to ObjectGroup.h. This can be cleaned up more later.
- Remove now-unnecessary assertion in BaselineFrame.h so we don't need to include JitOptions.h
Assignee | ||
Comment 47•4 years ago
|
||
Warp uses a different implementation shared with CacheIR. It always returns a Value
so remove LArrayPopShiftT and rename LArrayPopShiftV to LArrayPopShift.
Depends on D97764
Comment 48•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/136f05c1bbc4
https://hg.mozilla.org/mozilla-central/rev/c876a180dd57
https://hg.mozilla.org/mozilla-central/rev/fa9fd7ddf903
https://hg.mozilla.org/mozilla-central/rev/b651b7cf9447
https://hg.mozilla.org/mozilla-central/rev/94ca532df695
https://hg.mozilla.org/mozilla-central/rev/7e5bcf9488dd
Comment 49•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3f962e400b39 part 37 - Remove TypeSet.h. r=iain https://hg.mozilla.org/integration/autoland/rev/31c588b8277d part 38 - Simplify pop/shift code. r=iain
Assignee | ||
Comment 50•4 years ago
|
||
Assignee | ||
Comment 51•4 years ago
|
||
Depends on D98143
Assignee | ||
Comment 52•4 years ago
|
||
Depends on D98144
Assignee | ||
Comment 53•4 years ago
|
||
There's one caller left.
Depends on D98145
Assignee | ||
Comment 54•4 years ago
|
||
Depends on D98146
Assignee | ||
Comment 55•4 years ago
|
||
Depends on D98147
Assignee | ||
Comment 56•4 years ago
|
||
Depends on D98148
Assignee | ||
Comment 57•4 years ago
|
||
The constructors that take a zone instead of context are no longer used.
Depends on D98149
Assignee | ||
Comment 58•4 years ago
|
||
The TypeInference-inl.h include in ObjectOperations-inl.h had to be removed to
break an include cycle. Unfortunately that was a load bearing include (the
TypeInference files pull in a lot of headers) so this adds various missing includes.
Depends on D98150
Assignee | ||
Comment 59•4 years ago
|
||
Replace with AutoSuppressGC, except in JSObject::makeLazyGroup where it's
not needed. It's not very obvious whether GC-suppression is needed in the
ObjectGroup code but for now leave it to be safe.
It's also not very clear where AutoSuppressAllocationMetadataBuilder is needed.
Leaving it out in most places seems to be fine. It's a debugger-only feature so
missing one shouldn't be too bad.
Depends on D98151
Assignee | ||
Comment 60•4 years ago
|
||
Depends on D98152
Comment 61•4 years ago
|
||
bugherder |
Comment 62•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/14c1c7511765 part 39 - Simplify Ion GetProp IC code now that it always returns a boxed Value. r=iain https://hg.mozilla.org/integration/autoland/rev/5f7017f04d91 part 40 - Remove AutoDetectInvalidation and return-override mechanism. r=iain https://hg.mozilla.org/integration/autoland/rev/fd4b722e7239 part 41 - Remove some dead code. r=iain https://hg.mozilla.org/integration/autoland/rev/3b38a02992e6 part 42 - Move ClassCanHaveExtraProperties to CacheIR.cpp. r=iain https://hg.mozilla.org/integration/autoland/rev/3022fe71dfb0 part 43 - Move ObjectGroup ubi code from TypeInference to ObjectGroup files. r=iain https://hg.mozilla.org/integration/autoland/rev/767b3496feae part 44 - Remove TypeZone, move remaining fields to JitZone. r=iain https://hg.mozilla.org/integration/autoland/rev/a156856e89df part 45 - Remove TypeInference.cpp. r=iain https://hg.mozilla.org/integration/autoland/rev/361a437dd1db part 46 - Simplify AutoSuppressAllocationMetadataBuilder and AutoEnterAnalysis. r=iain https://hg.mozilla.org/integration/autoland/rev/d27b03f6a30e part 47 - Move AutoSuppressAllocationMetadataBuilder from TypeInference-inl.h to JSObject-inl.h. r=iain https://hg.mozilla.org/integration/autoland/rev/a5d27c1f1a79 part 48 - Remove AutoEnterAnalysis. r=iain https://hg.mozilla.org/integration/autoland/rev/edb1bb069772 part 49 - Remove TypeInference.h and TypeInference-inl.h. r=iain
Assignee | ||
Comment 63•4 years ago
|
||
Assignee | ||
Comment 64•4 years ago
|
||
There's no need to change the group anymore. Later patches will make more changes
in this area.
Depends on D98322
Assignee | ||
Comment 65•4 years ago
|
||
These do exactly the same thing without TI.
Depends on D98323
Assignee | ||
Comment 66•4 years ago
|
||
NewDenseFullyAllocatedArray now does the same thing. The group was only used to
get the proto so it shouldn't be slower either.
Pass nullptr for proto
to use Array.prototype as proto.
Delete the IonBuilder-specific template object code in CacheIR.cpp
Depends on D98324
Assignee | ||
Comment 67•4 years ago
|
||
Depends on D98325
Assignee | ||
Comment 68•4 years ago
|
||
Depends on D98326
Assignee | ||
Comment 69•4 years ago
|
||
Depends on D98327
Assignee | ||
Comment 70•4 years ago
|
||
Depends on D98328
Assignee | ||
Comment 71•4 years ago
|
||
Depends on D98329
Assignee | ||
Comment 72•4 years ago
|
||
Depends on D98330
Assignee | ||
Comment 73•4 years ago
|
||
Depends on D98331
Assignee | ||
Comment 74•4 years ago
|
||
Do some manual inlining for the NewArray_Fallback group, so that we can also
remove the ObjectGroup::defaultNewGroup overload that takes a JSProtoKey.
Simplify NewObjectOperation by deleting the group-related code.
Depends on D98332
Assignee | ||
Comment 75•4 years ago
|
||
A TI optimization to ensure there were no int32 values in certain double arrays.
Depends on D98333
Assignee | ||
Comment 76•4 years ago
|
||
Depends on D98334
Assignee | ||
Comment 77•4 years ago
|
||
Note that the SetAliasedVar and InitAliasedLexical code in jit::SetProperty is
dead since bug 1522051. These ops are now always inlined without ICs or VM calls.
Depends on D98335
Assignee | ||
Comment 78•4 years ago
|
||
COW elements are harder to implement efficiently without TI and were always pretty
complicated.
This also lets us remove the freeLaterList in JSFreeOp and the allowWrite_ flag in
HeapSlotArray.
Depends on D98336
Assignee | ||
Comment 79•4 years ago
|
||
Depends on D98337
Comment 80•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/14c1c7511765
https://hg.mozilla.org/mozilla-central/rev/5f7017f04d91
https://hg.mozilla.org/mozilla-central/rev/fd4b722e7239
https://hg.mozilla.org/mozilla-central/rev/3b38a02992e6
https://hg.mozilla.org/mozilla-central/rev/3022fe71dfb0
https://hg.mozilla.org/mozilla-central/rev/767b3496feae
https://hg.mozilla.org/mozilla-central/rev/a156856e89df
https://hg.mozilla.org/mozilla-central/rev/361a437dd1db
https://hg.mozilla.org/mozilla-central/rev/d27b03f6a30e
https://hg.mozilla.org/mozilla-central/rev/a5d27c1f1a79
https://hg.mozilla.org/mozilla-central/rev/edb1bb069772
Comment 81•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/45a4af9d1ae1 part 50 - Remove ObjectGroup::newPlainObject. r=iain https://hg.mozilla.org/integration/autoland/rev/ba4fd183d46b part 51 - Simplify some code in NewArrayTryUseGroup. r=iain https://hg.mozilla.org/integration/autoland/rev/cddfd7d73037 part 52 - Merge ArrayObject::setLength and ArrayObject::setLengthInt32. r=iain https://hg.mozilla.org/integration/autoland/rev/7790c66276d5 part 53 - Remove NewFullyAllocatedArrayTryReuseGroup. r=iain https://hg.mozilla.org/integration/autoland/rev/7299f2bc562a part 54 - Replace NewPartlyAllocatedArrayTryReuseGroup with NewDensePartlyAllocatedArray. r=iain https://hg.mozilla.org/integration/autoland/rev/71ff3283acec part 55 - Remove NewFullyAllocatedArrayForCallingAllocationSite and NewPartlyAllocatedArrayForCallingAllocationSite. r=iain https://hg.mozilla.org/integration/autoland/rev/562027bf7f82 part 56 - Remove NewCopiedArrayForCallingAllocationSite. r=iain https://hg.mozilla.org/integration/autoland/rev/a53ca1c2e350 part 57 - Remove ShouldUpdateTypes enum. r=iain https://hg.mozilla.org/integration/autoland/rev/b7de2bdc92ee part 58 - Remove NewCopiedArrayTryUseGroup. r=iain https://hg.mozilla.org/integration/autoland/rev/d106ad322efc part 59 - Remove NewFullyAllocatedArrayTryUseGroup and NewPartlyAllocatedArrayTryUseGroup. r=iain https://hg.mozilla.org/integration/autoland/rev/29d82cbb70c0 part 60 - Remove ObjectGroup::callingAllocationSiteGroup. r=iain https://hg.mozilla.org/integration/autoland/rev/162b97e5fa7f part 61 - Remove ObjectGroup::allocationSiteGroup. r=iain https://hg.mozilla.org/integration/autoland/rev/1d96d8c000f1 part 62 - Remove CONVERT_DOUBLE_ELEMENTS. r=iain https://hg.mozilla.org/integration/autoland/rev/96be391e2370 part 63 - Clean up some dense element methods. r=iain https://hg.mozilla.org/integration/autoland/rev/8d0bce86dcda part 64 - Remove NativeObject::setSlotWithType. r=iain https://hg.mozilla.org/integration/autoland/rev/5c49647b616b part 65 - Remove VM and JIT code for copy-on-write arrays. r=iain https://hg.mozilla.org/integration/autoland/rev/4fc932c5974e part 66 - Remove ObjectGroup::newArrayObject. r=iain
Assignee | ||
Comment 82•4 years ago
|
||
We no longer need this API to create singleton objects. It was used to prevent
polluting type information.
Assignee | ||
Comment 83•4 years ago
|
||
Goal of these patches is to get to the point where only the global object is a
singleton. The global object is more tricky due to splicePrototype, but after
fixing that we can then remove singleton groups completely.
Depends on D98499
Assignee | ||
Comment 84•4 years ago
|
||
Depends on D98500
Assignee | ||
Comment 85•4 years ago
|
||
Depends on D98501
Assignee | ||
Comment 86•4 years ago
|
||
Depends on D98502
Assignee | ||
Comment 87•4 years ago
|
||
There are no singleton functions at this point, so CanReuseFunctionForClone
always returned false.
This means we can also remove SetPrototypeForClonedFunction, the HasBeenCloned
flag, and clearInferredName.
Rename CloneFunctionObjectIfNotSingleton to CloneFunctionObject because it always
clones now.
Depends on D98503
Assignee | ||
Comment 88•4 years ago
|
||
CanReuseScriptForClone returned false for singleton functions, but these are gone now.
Depends on D98504
Assignee | ||
Comment 89•4 years ago
|
||
Depends on D98505
Assignee | ||
Comment 90•4 years ago
|
||
To save memory, singleton objects started out with a lazy group. The actual (unique)
group was created lazily by JSObject::getGroup. Now that only global objects are
singletons (and groups store no property type information) we can remove this.
- In JSObject::setSingleton assert the object is a global object.
- Create the non-lazy singleton group directly in JSObject::setSingleton.
- Remove the lazyTable from ObjectGroupRealm now that all groups are non-lazy.
- Merge JSObject::groupRaw and JSObject::group into JSObject::group.
After fixing the prototype splicing code for the global object we can remove singletons
completely.
Depends on D98506
Assignee | ||
Comment 91•4 years ago
|
||
Depends on D98507
Comment 92•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/45a4af9d1ae1
https://hg.mozilla.org/mozilla-central/rev/ba4fd183d46b
https://hg.mozilla.org/mozilla-central/rev/cddfd7d73037
https://hg.mozilla.org/mozilla-central/rev/7790c66276d5
https://hg.mozilla.org/mozilla-central/rev/7299f2bc562a
https://hg.mozilla.org/mozilla-central/rev/71ff3283acec
https://hg.mozilla.org/mozilla-central/rev/562027bf7f82
https://hg.mozilla.org/mozilla-central/rev/a53ca1c2e350
https://hg.mozilla.org/mozilla-central/rev/b7de2bdc92ee
https://hg.mozilla.org/mozilla-central/rev/d106ad322efc
https://hg.mozilla.org/mozilla-central/rev/29d82cbb70c0
https://hg.mozilla.org/mozilla-central/rev/162b97e5fa7f
https://hg.mozilla.org/mozilla-central/rev/1d96d8c000f1
https://hg.mozilla.org/mozilla-central/rev/96be391e2370
https://hg.mozilla.org/mozilla-central/rev/8d0bce86dcda
https://hg.mozilla.org/mozilla-central/rev/5c49647b616b
https://hg.mozilla.org/mozilla-central/rev/4fc932c5974e
Comment 93•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/36e6de3161a0 part 67 - Remove JS_NewObjectWithUniqueType. r=iain https://hg.mozilla.org/integration/autoland/rev/5068eea4c7e9 part 68 - Replace calls to NewSingletonObjectWithGivenProto with NewTenuredObjectWithGivenProto. r=iain https://hg.mozilla.org/integration/autoland/rev/5cd837398fb5 part 69 - Remove NewSingletonObjectWithGivenTaggedProtoAndKind. r=iain https://hg.mozilla.org/integration/autoland/rev/4b4f4f9e09e3 part 70 - Pass TenuredObject instead of SingletonObject in most places. r=iain https://hg.mozilla.org/integration/autoland/rev/7653eac7a4a5 part 71 - Remove some calls to JSObject::setSingleton. r=iain https://hg.mozilla.org/integration/autoland/rev/75a4e21372bf part 72 - Clean up some code for singleton functions. r=iain,tcampbell https://hg.mozilla.org/integration/autoland/rev/76e6a7631a63 part 73 - Turn CanReuseScriptForClone check in CloneFunctionObject into an assertion. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/9539b156ac4f part 74 - Remove NewSingletonProxyObject. r=iain https://hg.mozilla.org/integration/autoland/rev/4fb9feabc15a part 75 - Remove lazy (singleton) groups. r=iain https://hg.mozilla.org/integration/autoland/rev/c7ad1bc20c8a part 76 - Remove most remaining setGroup calls. r=iain
Assignee | ||
Comment 94•4 years ago
|
||
Now that all callers are in ObjectGroup.cpp we can make this private to that file.
Also remove the realm
argument, all callers now passed cx->realm()
so use that directly.
Assignee | ||
Comment 95•4 years ago
|
||
Depends on D98581
Assignee | ||
Comment 96•4 years ago
|
||
Depends on D98582
Assignee | ||
Comment 97•4 years ago
|
||
Depends on D98583
Assignee | ||
Comment 98•4 years ago
|
||
At this point it's equivalent to JSOp::NewObject.
Depends on D98584
Assignee | ||
Comment 99•4 years ago
|
||
Once upon a time GetElem and CallElem had different semantics, for example for the
non-standard noSuchMethod extension. IonBuilder/TI then relied on this for some
heuristics.
Depends on D98585
Assignee | ||
Comment 100•4 years ago
|
||
Depends on D98586
Assignee | ||
Comment 101•4 years ago
|
||
JSOp::Length was an alias for JSOp::GetProp "length". The two places that checked
for JSOp::Length can just compare the atom instead. This simplifies the frontend a bit.
Note that this doesn't affect bytecode size: JSOp::Length also included the "length" atom.
Depends on D98587
Assignee | ||
Comment 102•4 years ago
|
||
This was a hint for IonBuilder to prevent loop restarts. Although this still lets
us do an infallible unbox in Warp, there's not much of a perf improvement on a for-in
micro-benchmark so it's probably fine to remove this now.
Depends on D98588
Comment 103•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/36e6de3161a0
https://hg.mozilla.org/mozilla-central/rev/5068eea4c7e9
https://hg.mozilla.org/mozilla-central/rev/5cd837398fb5
https://hg.mozilla.org/mozilla-central/rev/4b4f4f9e09e3
https://hg.mozilla.org/mozilla-central/rev/7653eac7a4a5
https://hg.mozilla.org/mozilla-central/rev/75a4e21372bf
https://hg.mozilla.org/mozilla-central/rev/76e6a7631a63
https://hg.mozilla.org/mozilla-central/rev/9539b156ac4f
https://hg.mozilla.org/mozilla-central/rev/4fb9feabc15a
https://hg.mozilla.org/mozilla-central/rev/c7ad1bc20c8a
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Comment 104•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5e446294f555 part 77 - Turn ObjectGroupRealm::makeGroup into a static MakeGroup function. r=iain https://hg.mozilla.org/integration/autoland/rev/092e052d6a89 part 78 - Remove ObjectGroup-inl.h. r=iain https://hg.mozilla.org/integration/autoland/rev/6385df444ca2 part 79 - Remove now dead TI memory reporters. r=iain https://hg.mozilla.org/integration/autoland/rev/d86afd2049ae part 80 - Remove JSOp::NewArrayCopyOnWrite. r=iain https://hg.mozilla.org/integration/autoland/rev/46de1e58eefd part 81 - Remove JSOp::NewObjectWithGroup. r=iain https://hg.mozilla.org/integration/autoland/rev/2be103c43560 part 82 - Remove JSOp::CallElem. r=iain https://hg.mozilla.org/integration/autoland/rev/0163808b985e part 83 - Remove JSOp::CallProp. r=iain https://hg.mozilla.org/integration/autoland/rev/dd69e5f3c4f9 part 84 - Remove JSOp::Length. r=iain https://hg.mozilla.org/integration/autoland/rev/30953134ae14 part 85 - Remove JSOp::IterNext. r=iain
Comment 105•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/5e446294f555
https://hg.mozilla.org/mozilla-central/rev/092e052d6a89
https://hg.mozilla.org/mozilla-central/rev/6385df444ca2
https://hg.mozilla.org/mozilla-central/rev/d86afd2049ae
https://hg.mozilla.org/mozilla-central/rev/46de1e58eefd
https://hg.mozilla.org/mozilla-central/rev/2be103c43560
https://hg.mozilla.org/mozilla-central/rev/0163808b985e
https://hg.mozilla.org/mozilla-central/rev/dd69e5f3c4f9
https://hg.mozilla.org/mozilla-central/rev/30953134ae14
Assignee | ||
Comment 106•4 years ago
|
||
We no longer do argument type checks.
Assignee | ||
Comment 107•4 years ago
|
||
ICCacheIR_Regular should probably be renamed in later patches.
Depends on D98916
Assignee | ||
Comment 108•4 years ago
|
||
The pre-CacheIR IC infrastructure is no longer used since the type monitor/update stubs
were removed.
Depends on D98917
Assignee | ||
Comment 109•4 years ago
|
||
Also turn the availableGeneralRegs method into a stand-alone BaselineICAvailableGeneralRegs
function.
Removing the SharedICRegisters.h include from BaselineIC.h required adding some missing #includes.
Depends on D98918
Comment 110•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d2cb2d8ce8d1 part 86 - Remove the skip-arg-check entry point. r=iain https://hg.mozilla.org/integration/autoland/rev/0956250445d3 part 87 - Remove ICCacheIR_Trait base class. r=iain https://hg.mozilla.org/integration/autoland/rev/e853a7c293b7 part 88 - Remove ICStubCompiler class. r=iain https://hg.mozilla.org/integration/autoland/rev/b072ba215e24 part 89 - Merge ICStubCompilerBase into FallbackICCodeCompiler. r=iain
Comment 111•4 years ago
|
||
Backed out 4 changesets (bug 1673553) for Build bustage in worker/checkouts/gecko/config/rules.mk. CLOSED TREE
Log:
https://treeherder.mozilla.org/logviewer?job_id=323912817&repo=autoland&lineNumber=23156
Push with failures:
https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&selectedTaskRun=FO_PDLOfSm6nbylZIVBFmg.0&revision=b072ba215e248c55b086318ab7f3898c4e3fee64
Backout:
https://hg.mozilla.org/integration/autoland/rev/b09a87ac113be1e76b583cdd60f2214786c45003
Assignee | ||
Comment 112•4 years ago
|
||
Fun, a build failure on one platform due to a now-missing #include.
Assignee | ||
Updated•4 years ago
|
Comment 113•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6195a108b15d part 86 - Remove the skip-arg-check entry point. r=iain https://hg.mozilla.org/integration/autoland/rev/077503eafee6 part 87 - Remove ICCacheIR_Trait base class. r=iain https://hg.mozilla.org/integration/autoland/rev/a5c7c19a25ed part 88 - Remove ICStubCompiler class. r=iain https://hg.mozilla.org/integration/autoland/rev/d5c93dbdf613 part 89 - Merge ICStubCompilerBase into FallbackICCodeCompiler. r=iain
Comment 114•4 years ago
|
||
bugherder |
Assignee | ||
Comment 115•4 years ago
|
||
Warp has let us remove the Baseline Type Monitor stubs that triggered the bug.
The workarounds also didn't stop the crashes.
Assignee | ||
Comment 116•4 years ago
|
||
With TI the preliminary-object handling made this more difficult.
In the IonIC code we can also remove TryAttachIonStub's IC template parameter.
Depends on D99218
Assignee | ||
Comment 117•4 years ago
|
||
Drive-by change: add a MOZ_UNLIKELY for the OOM path as this code is somewhat hot.
Depends on D99219
Assignee | ||
Comment 118•4 years ago
|
||
Depends on D99220
Assignee | ||
Comment 119•4 years ago
|
||
The callers no longer need fixed registers, which should improve codegen a little.
In emitStoreDenseElementHole we can simplify the handleAdd case by merging the
"before type update IC" and "after type update IC" code.
In emitArrayPush use AutoOutputRegister, the old code loaded the value in R0 and
then relied on that register matching the IC's output register.
Depends on D99221
Assignee | ||
Comment 120•4 years ago
|
||
Depends on D99222
Assignee | ||
Comment 121•4 years ago
|
||
Depends on D99223
Assignee | ||
Comment 122•4 years ago
|
||
We can bring this back in the future if needed.
Depends on D99224
Comment 123•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3380fdb08357 part 90 - Remove remaining code for AMD Bobcat workaround. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/fdd89bf36294 part 91 - De-duplicate more GetProp IC code. r=iain https://hg.mozilla.org/integration/autoland/rev/302908606fc8 part 92 - Inline AddICImpl into its caller. r=iain https://hg.mozilla.org/integration/autoland/rev/3eaf6aee7d31 part 93 - Remove group-changing code from AddSlot ops. r=iain https://hg.mozilla.org/integration/autoland/rev/f441d73f176f part 94 - Remove callTypeUpdateIC, clean up callers. r=iain https://hg.mozilla.org/integration/autoland/rev/b66fdf5d9cb8 part 95 - Remove BaselineCacheIRStubKind. r=iain https://hg.mozilla.org/integration/autoland/rev/c23de324fa69 part 96 - Remove unused GuardGroupHasUnanalyzedNewScript CacheIR op. r=iain https://hg.mozilla.org/integration/autoland/rev/a228c5d96260 part 97 - Remove more object pre-tenuring code. r=jonco
Assignee | ||
Comment 124•4 years ago
|
||
Assignee | ||
Comment 125•4 years ago
|
||
Now that every stub is a fallback stub except for CacheIR_Regular, we don't need
this trait value anymore. Later patches will make more changes in this area.
Depends on D99339
Assignee | ||
Comment 126•4 years ago
|
||
If a stub has a non-null next_, it's a CacheIR stub. Else it's a fallback stub.
This means the Kind is only relevant for fallback stubs and we can move it there,
removing a word from each CacheIR stub.
The use of CacheIR_Regular here is a bit awkward, a later patch will rename this to
ICCacheIRStub to make this more natural.
This also removes the extra_ field that's no longer used.
Depends on D99340
Assignee | ||
Comment 127•4 years ago
|
||
Drive-by change: remove dead ICStub::updateCode.
Depends on D99341
Assignee | ||
Comment 128•4 years ago
|
||
Depends on D99342
Updated•4 years ago
|
Comment 129•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3380fdb08357
https://hg.mozilla.org/mozilla-central/rev/fdd89bf36294
https://hg.mozilla.org/mozilla-central/rev/302908606fc8
https://hg.mozilla.org/mozilla-central/rev/3eaf6aee7d31
https://hg.mozilla.org/mozilla-central/rev/f441d73f176f
https://hg.mozilla.org/mozilla-central/rev/b66fdf5d9cb8
https://hg.mozilla.org/mozilla-central/rev/c23de324fa69
https://hg.mozilla.org/mozilla-central/rev/a228c5d96260
Comment 130•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d443615acd94 part 98 - Remove some dead code from alias analysis. r=iain https://hg.mozilla.org/integration/autoland/rev/30837f20df57 part 99 - Remove trait enum. r=iain https://hg.mozilla.org/integration/autoland/rev/516536a2d9a2 part 100 - Move kind field from ICStub to ICFallbackStub. r=iain https://hg.mozilla.org/integration/autoland/rev/dfa21600860e part 101 - Split up ICStub::trace for fallback vs CacheIR stubs. r=iain https://hg.mozilla.org/integration/autoland/rev/c34c5f277dcc part 102 - Rename CacheIR_Regular to CacheIRStub. r=iain
Assignee | ||
Comment 131•4 years ago
|
||
This makes it more explicit where we're using fallback stubs vs CacheIR stubs.
It also lets us remove the cacheIRStubInfo and cacheIRStubData from ICStub.
Assignee | ||
Comment 132•4 years ago
|
||
- Move the next_ field to ICCacheIRStub; fallback stubs don't have a next stub.
- Move the enteredCount_ field to the base class instead of duplicating in derived classes.
- Use uint8_t instead of uint32_t for small bit fields in ICState to shrink sizeof(ICState)
- Shrink Kind from uint16_t to uint8_t. Remove the magic-value bits to simplify the code and we don't have many bits available.
This gets all Baseline IC stubs down to 4 words on 64-bit:
- code_
- enteredCount_ + isFallback_ flag
- next_ (CacheIR stubs) or icEntry_ (fallback stubs)
- stubInfo_ (CacheIR stubs) or state_ + kind_ (fallback stubs)
static_asserts are added to document/check the size of fallback and CacheIR stubs.
This should be pretty optimal. The second word has some padding so gives us space
to add more data/flags to each ICStub in the future without increasing the size.
Depends on D99464
Comment 133•4 years ago
|
||
bugherder |
Assignee | ||
Comment 134•4 years ago
|
||
There's more to do but I'm going to continue this in a new bug.
Comment 135•4 years ago
|
||
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6537b704ed64 part 103 - Use ICCacheIRStub in more places. r=iain https://hg.mozilla.org/integration/autoland/rev/0a977402aec1 part 104 - Change ICStub layout a bit more. r=iain
Comment 136•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/6537b704ed64
https://hg.mozilla.org/mozilla-central/rev/0a977402aec1
Assignee | ||
Comment 137•4 years ago
|
||
Changing this from 86 to 85 because that's where the vast majority of changes landed.
Comment 138•4 years ago
|
||
We're seeing a considerable improvement to GC_SLICE_DURING_IDLE(_CONTENT) that seems to be the result of this work! This is great news.
Comment 139•4 years ago
|
||
== Change summary for alert #28294 (as of Wed, 30 Dec 2020 06:21:36 GMT) ==
Improvements:
Ratio | Suite | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|---|
2% | six-speed-sm | linux64-shippable | 15,070.64 -> 14,765.83 | ||
2% | six-speed-sm | linux64-shippable | 15,067.25 -> 14,771.00 |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=28294
Comment 140•4 years ago
|
||
== Change summary for alert #27956 (as of Thu, 03 Dec 2020 22:57:56 GMT) ==
Improvements:
Ratio | Suite | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|---|
4% | raptor-tp6-office-firefox-cold | loadtime | windows10-64-shippable-qr | webrender | 2,261.46 -> 2,172.33 |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=27956
Updated•1 year ago
|
Description
•