mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 14:22:01 +00:00
f37dc5a46c
This commit adds a declarative `JS_FOR_WASM_FEATURES` macro which expands for every WebAssembly proposal we are gating. Most feature gating code is refactored to use this macro so that we have one place we need to change to get the majority of this code working. The only place that needs to be updated for new features is the browser pref declaration code, as that cannot use this macro. This is documented in the new WasmFeatures.h header. The feature gating logic should work almost identically as before. The changes are: * All browser prefs are moved to StaticPrefList.yaml * The code to enable a feature was conditionally compiled to not enable the feature at variously stages of the "flag-flow". Now the only place that is conditionally compiled to not work is in the WasmXFlag functions. This is to make the macro simpler and might be able to be reverted if need be. * The flag for gc is shortened from gcTypes to gc so that the existing usages of the wasmGcEnabled shell function don't have to change. This commit also has the effect of giving function-references/gc/ exception-handling a proper browser pref for enabling the features. Differential Revision: https://phabricator.services.mozilla.com/D110820 |
||
---|---|---|
.. | ||
remoteworkers | ||
sharedworkers | ||
test | ||
ChromeWorker.cpp | ||
ChromeWorker.h | ||
ChromeWorkerScope.cpp | ||
ChromeWorkerScope.h | ||
JSExecutionManager.cpp | ||
JSExecutionManager.h | ||
JSSettings.h | ||
MessageEventRunnable.cpp | ||
MessageEventRunnable.h | ||
moz.build | ||
nsIWorkerDebugger.idl | ||
nsIWorkerDebuggerManager.idl | ||
Principal.cpp | ||
Principal.h | ||
Queue.h | ||
RegisterBindings.cpp | ||
RuntimeService.cpp | ||
RuntimeService.h | ||
ScriptLoader.cpp | ||
ScriptLoader.h | ||
Worker.cpp | ||
Worker.h | ||
WorkerCommon.h | ||
WorkerCSPEventListener.cpp | ||
WorkerCSPEventListener.h | ||
WorkerDebugger.cpp | ||
WorkerDebugger.h | ||
WorkerDebuggerManager.cpp | ||
WorkerDebuggerManager.h | ||
WorkerError.cpp | ||
WorkerError.h | ||
WorkerEventTarget.cpp | ||
WorkerEventTarget.h | ||
WorkerLoadInfo.cpp | ||
WorkerLoadInfo.h | ||
WorkerLocation.cpp | ||
WorkerLocation.h | ||
WorkerNavigator.cpp | ||
WorkerNavigator.h | ||
WorkerPrivate.cpp | ||
WorkerPrivate.h | ||
WorkerRef.cpp | ||
WorkerRef.h | ||
WorkerRunnable.cpp | ||
WorkerRunnable.h | ||
WorkerScope.cpp | ||
WorkerScope.h | ||
WorkerStatus.h | ||
WorkerTestUtils.cpp | ||
WorkerTestUtils.h | ||
WorkerThread.cpp | ||
WorkerThread.h |