Open Bug 1806744 Opened 1 year ago Updated 1 year ago

Cleanup asmjs option processing in CompileOptions constructor

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

People

(Reporter: tcampbell, Assigned: bthrall)

References

Details

Attachments

(1 file)

This code is a mess and should be organized a bit better into checking:

  1. ContextOptions: Both asmJS and wasmIon need to be available for deeper checks in IsAsmJSCompilationAvailable to pass, so make this explicit
  2. Platform support: Check wasm::HasPlatformSupport and friends. Remove need for cx argument to this.
  3. Debugger check: The asmjs and wasm debug flags got a bit tangled up, so keep checking both.

There is also a defect in current code where debugger being attached is observed as no compiler available instead of the explicit debugger message, so that should be fixed and a test case added.

Assignee: nobody → bthrall

js::IsAsmJSCompilationAvailable() indirectly checks if the debugger is active
(via wasm::IonDisabledByFeatures()), so the CompileOptions constructor was
setting asmJSOption to DisabledByNoWasmCompiler in some cases when it should be
DisabledByDebugger.

All cases for asmJSOption should be covered by the jit-tests now.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: