gecko-dev/js
Ryan Hunt b16d363657 Bug 1518210 - Wasm: Conditionally create huge memory's based on wasm::IsHugeMemoryEnabled. r=lth
This commit modifies WasmMemoryObject, ArrayBufferObject,
SharedArrayBufferObject to support conditionally using huge memory based on the
global flag.

The memory logic is fairly involved and entangled, making this change a bit
tricky.

The following changes were made:

* Stopped conditionally compiling huge memory constants and prefixed them with `Huge`
* Stopped conditionally compiling `ExtendBufferMapping` and `wasmMovingGrowToSize`
* Renamed `CreateBuffer` to `CreateSpecificWasmBuffer`
	* For clarity
* Moved maxSize clamping into `CreateSpecificWasmBuffer`
	* Lets us keep one callsite to `wasm::IsHugeMemoryEnabled` during memory creation
* Moved mappedSize computation out of `RawbufT::Allocate` to `CreateSpecificWasmBuffer`
	* Lets us keep one callsite to `wasm::IsHugeMemoryEnabled` during memory creation
* Moved `boundsCheckLimit` computation from `ArrayBufferObjectMaybeShared` to `WasmMemoryObject`
	* Lets WasmMemoryObject be responsible for knowing whether it is 'huge' or not
* Added method to determine if a `WasmMemoryObject` is huge or not
	* Lets use know whether we support `movingGrow` or have a `boundsCheckLimit`
* Refactored `WasmMemoryObject::grow` to have one callsite to `wasmMovingGrowToSize`
	* For clarity
* Added release assert in `Module::instantiateMemory`
	* Ensures we have a huge memory or bounds checks if needed

Differential Revision: https://phabricator.services.mozilla.com/D41869

--HG--
extra : moz-landing-system : lando
2019-08-30 02:38:20 +00:00
..
ductwork/debugger Bug 1564168 - [jsdbg2] Debugger.prototype.enabled should be removed. 2019-08-19 21:47:05 +00:00
examples Bug 1564168 - [jsdbg2] Debugger.prototype.enabled should be removed. 2019-08-19 21:47:05 +00:00
ipc Bug 1563139 - Remove StaticPrefs.h. r=glandium 2019-07-26 01:10:23 +00:00
public Bug 1551313: Insert profiler markers when preferences are accessed. r=squib,gregtatum 2019-08-23 13:12:51 +03:00
rust Bug 1573844 - Remove references to js::Class and remove the alias r=tcampbell 2019-08-14 19:13:12 +00:00
src Bug 1518210 - Wasm: Conditionally create huge memory's based on wasm::IsHugeMemoryEnabled. r=lth 2019-08-30 02:38:20 +00:00
xpconnect Bug 1518210 - Wasm: Add pref/flag boilerplate for making WASM_HUGE_MEMORY a runtime decision. r=lth 2019-08-30 02:36:32 +00:00
app.mozbuild Bug 1569197 - Backed out changeset 2a053de2828f;r=arai 2019-08-07 09:17:11 +00:00
ffi.configure
moz.build
moz.configure Bug 1575198 - Reenable cranelift on central. r=nalexander 2019-08-27 16:08:40 +00:00
sub.configure Bug 844509 - Don't encode environment in get_cmd_output and old_configure. r=nalexander 2019-08-20 22:12:23 +00:00