def validate_emscripten_memory_size(memory_size):
if isinstance(memory_size, six.integer_types):
if memory_size <= 0:
raise ValueError("Invalid memory size value {size}: a positive number expected".format(size=memory_size))
return ["-s", "TOTAL_MEMORY=" + str(memory_size)]
elif isinstance(memory_size, str):
import re
match = re.match(r"^(\d+)([MK]?)$", memory_size)
if not match:
raise ValueError("Invalid memory size value {size}: "
"an integer expected with an optional M(ega) or K(ilo) suffix "
"(e.g. 256M)".format(size=memory_size))
number = int(match.group(1))
suffix = match.group(2)
memory_size = {"": number, "K": number * 1024, "M": number * 1048576}[suffix]
return validate_emscripten_memory_size(memory_size)
elif memory_size is all:
return ["-s", "ALLOW_MEMORY_GROWTH=1"]
else:
raise TypeError("Invalid memory size type: an integer, string, or all expected")
评论列表
文章目录