Enable reftypes + repurpose the --wasm-gc flag / about:config option for the "gc" feature

RESOLVED FIXED in Firefox 67

Status

()

enhancement
P3
normal
RESOLVED FIXED
11 months ago
4 months ago

People

(Reporter: lth, Assigned: lth)

Tracking

(Blocks 1 bug)

unspecified
mozilla67
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox67 fixed)

Details

Attachments

(2 attachments, 1 obsolete attachment)

When these things are in place or are jointly landable with the present bug:

- stack maps + stack scanning
- no more suppression of gc when wasm frames are active
- auto-selection of baseline compiler for wasm content that uses gc

then we should no longer be using the gcTypesConfigured flag and we can remove the --wasm-gc flag from the shell and the javascript.options.wasm_gc flag from the browser.
Assignee: nobody → jseward
Status: NEW → ASSIGNED
Priority: -- → P2
Does not block milestone 1 since it requires Ion stack maps and those are not part of milestone 1.
No longer blocks: 1444925
I actually don't think removing --wasm-gc requires Ion stack maps...  I think that all it requires is that when we see the gc_feature_opt_in header in content, that content is compiled with baseline and without tiering.  And then once Ion has stack maps and the reftypes instructions, we will no longer require gc_feature_opt_in for reftypes content, only for content not supported by Ion (struct types).

Another note: We probably should not remove --wasm-gc, but we should repurpose it so that it enables struct types, once reftypes land for good and we don't require --wasm-gc or gc_feature_opt_in for reftypes.

Depends on: 1508561
Priority: P2 → P3
Summary: Get rid of the --wasm-gc flag / about:config option → Repurpose the --wasm-gc flag / about:config option for the "gc" feature once reftypes have landed

Hacky patch to enable gc content for ion, may need additional work.

Poaching, it's a good Friday project...

Assignee: jseward → lhansen
Attachment #9045612 - Attachment is obsolete: true
Summary: Repurpose the --wasm-gc flag / about:config option for the "gc" feature once reftypes have landed → Enable reftypes + repurpose the --wasm-gc flag / about:config option for the "gc" feature

Those two patches sit on top of Julian's patch for Ion stack maps, and together they should be enough to:

  • make the reftypes proposal depend only on ENABLE_WASM_REFTYPES being enabled, not any command-line switch
  • remove the need for the gc_feature_opt_in header in content that uses only the reftypes features
  • make the --wasm-gc switch enable only the experimental GC features, provided ENABLE_WASM_GC is defined

Once these land, reftypes will be enabled by default on Nightly.

The most surprising change here is possibly to wasm/gc/directives.txt, where I removed the configuration "--wasm-gc --wasm-compiler=ion". This is now a meaningless configuration (it will always fail) because --wasm-gc means "the GC features" and not "reftypes + GC".

Attachment #9047693 - Attachment description: Bug 1488205 - Remove gc_feature_opt_in from reftypes-only tests. → Bug 1488205 - Remove gc_feature_opt_in from reftypes-only tests. r?jseward
Attachment #9047694 - Attachment description: Bug 1488205 - Repurpose the --wasm-gc switch for GC → Bug 1488205 - Repurpose the --wasm-gc switch for GC. r?jseward
Pushed by lhansen@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/80c1ab6a0f32
Remove gc_feature_opt_in from reftypes-only tests.  r=jseward
https://hg.mozilla.org/integration/mozilla-inbound/rev/8085449bd426
Repurpose the --wasm-gc switch for GC. r=jseward
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
Depends on: 1533744
Depends on: 1535609
You need to log in before you can comment on or make changes to this bug.