Closed Bug 1433171 Opened 6 years ago Closed 4 years ago

Investigate /d2guardswtablesuppress flag in MSVC 15.5.3

Categories

(Core :: Security, defect, P5)

defect

Tracking

()

RESOLVED WONTFIX

People

(Reporter: tjr, Unassigned)

References

Details

(Keywords: sec-audit)

Attachments

(1 file)

MSVC just put out an undocumented /d2guardswtablesuppress flag which implements switches without jump tables, removing some indirect calls. This has benefits for Spectre and CFG.

Try run: https://treeherder.mozilla.org/#/jobs?repo=try&revision=752b951751a321e05fd5b3451ff467abebe76d16
Perf results are in: https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&newProject=try&newRevision=752b951751a321e05fd5b3451ff467abebe76d16&framework=1&selectedTimeRange=172800

Kind of a mixed bag. There are a few small wins (mostly from upgrading the compiler I believe), similar to guardspecload in Bug 1429807. But there are a few sizable losses (4-11%) on some tests. 

And then there's the CRAZY regressions (40%) on tp6 google.
It would be interesting to enable this and see what it does to JS performance when the JITs are disabled (via javascript.options.ion/baselinejit = false) thus measuring interpreter perf, which is one big switch in a loop.
No longer depends on: 1430696

We don't ship msvc builds anymore.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: