Extensions icon indicating copy to clipboard operation
Extensions copied to clipboard

How to compile recast.js in memory-initializer way

Open liushzhql opened this issue 2 years ago • 1 comments

some code in output recast.js file like this:

if (memoryInitializer) {
	if (!isDataURI(memoryInitializer)) {
		memoryInitializer = locateFile(memoryInitializer)
	}
	if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
		var data = readBinary(memoryInitializer);
		HEAPU8.set(data, GLOBAL_BASE)
	} else {
		addRunDependency("memory initializer");
		var applyMemoryInitializer = function (data) {
			if (data.byteLength) data = new Uint8Array(data);
			HEAPU8.set(data, GLOBAL_BASE);
			if (Module["memoryInitializerRequest"]) delete Module["memoryInitializerRequest"].response;
			removeRunDependency("memory initializer")
		};
		var doBrowserLoad = function () {
			readAsync(memoryInitializer, applyMemoryInitializer, function () {
				throw "could not load memory initializer " + memoryInitializer
			})
		};
		var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer);
		if (memoryInitializerBytes) {
			applyMemoryInitializer(memoryInitializerBytes.buffer)
		} else if (Module["memoryInitializerRequest"]) {
			var useRequest = function () {
				var request = Module["memoryInitializerRequest"];
				var response = request.response;
				if (request.status !== 200 && request.status !== 0) {
					var data = tryParseAsDataURI(Module["memoryInitializerRequestURL"]);
					if (data) {
						response = data.buffer
					} else {
						console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: " + request.status + ", retrying " + memoryInitializer);
						doBrowserLoad();
						return
					}
				}
				applyMemoryInitializer(response)
			};
			if (Module["memoryInitializerRequest"].response) {
				setTimeout(useRequest, 0)
			} else {
				Module["memoryInitializerRequest"].addEventListener("load", useRequest)
			}
		} else {
			doBrowserLoad()
		}
	}
}

liushzhql avatar Nov 22 '23 04:11 liushzhql

@liushzhql can you please share more context on this issue? I have no idea what this is about

CedricGuillemet avatar Jan 12 '24 08:01 CedricGuillemet

Any further information here? Please feel free to reopen if needed.

RaananW avatar Jul 19 '24 14:07 RaananW