Closed Bug 1616188 Opened 10 months ago Closed 9 months ago

Add a shell flag to disable TI

Categories

(Core :: JavaScript Engine, task, P2)

task

Tracking

()

RESOLVED FIXED
mozilla75
Tracking Status
firefox75 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

No description provided.

If TI is disabled we don't allocate any StackTypeSets in JitScript and we don't
allocate/use type monitor ICs.

Unlike stack type monitoring, heap TI is much harder to disable completely
because it's intertwined with a lot of other things. This patch does the
following:

  • Don't track type information for any ObjectGroups (in ObjectGroupRealm::makeGroup).

  • Turn off heuristics for singletons, allocation-site groups, function groups.

  • Turn off type update ICs in Baseline.

  • Add early returns to some hot functions.

Depends on D63140

For now this is Nightly-only so that IsTypeInferenceEnabled() shouldn't
impact performance for our non-Nightly users.

Depends on D63143

Priority: -- → P2
Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d55c128f503c
part 1 - Add IsTypeInferenceEnabled and use it for type monitoring code. r=iain
https://hg.mozilla.org/integration/autoland/rev/444ff49a36c4
part 2 - Use IsTypeInferenceEnabled to disable parts of heap TI. r=iain
https://hg.mozilla.org/integration/autoland/rev/b337cc42de46
part 3 - Add isTypeInferenceEnabled() function, use it to disable some jit-tests. r=iain
https://hg.mozilla.org/integration/autoland/rev/011f24c76f1f
part 4 - Add a --no-ti shell flag. r=iain
You need to log in before you can comment on or make changes to this bug.