{"action":"created","issue":{"url":"https://api.github.com/repos/WebAssembly/design/issues/540","repository_url":"https://api.github.com/repos/WebAssembly/design","labels_url":"https://api.github.com/repos/WebAssembly/design/issues/540/labels{/name}","comments_url":"https://api.github.com/repos/WebAssembly/design/issues/540/comments","events_url":"https://api.github.com/repos/WebAssembly/design/issues/540/events","html_url":"https://github.com/WebAssembly/design/issues/540","id":132737101,"number":540,"title":"Allow providing more initial memory than specified by the module","user":{"login":"Teemperor","id":736001,"avatar_url":"https://avatars.githubusercontent.com/u/736001?v=3","gravatar_id":"","url":"https://api.github.com/users/Teemperor","html_url":"https://github.com/Teemperor","followers_url":"https://api.github.com/users/Teemperor/followers","following_url":"https://api.github.com/users/Teemperor/following{/other_user}","gists_url":"https://api.github.com/users/Teemperor/gists{/gist_id}","starred_url":"https://api.github.com/users/Teemperor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Teemperor/subscriptions","organizations_url":"https://api.github.com/users/Teemperor/orgs","repos_url":"https://api.github.com/users/Teemperor/repos","events_url":"https://api.github.com/users/Teemperor/events{/privacy}","received_events_url":"https://api.github.com/users/Teemperor/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2016-02-10T15:49:58Z","updated_at":"2016-02-11T00:21:14Z","closed_at":null,"body":"The testsuite contains a [test](https://github.com/WebAssembly/testsuite/blob/master/address.wast#L29) that a module with the memory start size 1024 traps when accessing more than those 1024 bytes. I think it should be allowed that the implementation provides more memory than the specified by the module (e.g. rounding up to the next page size)."},"comment":{"url":"https://api.github.com/repos/WebAssembly/design/issues/comments/182652323","html_url":"https://github.com/WebAssembly/design/issues/540#issuecomment-182652323","issue_url":"https://api.github.com/repos/WebAssembly/design/issues/540","id":182652323,"user":{"login":"lukewagner","id":9660325,"avatar_url":"https://avatars.githubusercontent.com/u/9660325?v=3","gravatar_id":"","url":"https://api.github.com/users/lukewagner","html_url":"https://github.com/lukewagner","followers_url":"https://api.github.com/users/lukewagner/followers","following_url":"https://api.github.com/users/lukewagner/following{/other_user}","gists_url":"https://api.github.com/users/lukewagner/gists{/gist_id}","starred_url":"https://api.github.com/users/lukewagner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukewagner/subscriptions","organizations_url":"https://api.github.com/users/lukewagner/orgs","repos_url":"https://api.github.com/users/lukewagner/repos","events_url":"https://api.github.com/users/lukewagner/events{/privacy}","received_events_url":"https://api.github.com/users/lukewagner/received_events","type":"User","site_admin":false},"created_at":"2016-02-11T00:21:14Z","updated_at":"2016-02-11T00:21:14Z","body":"We've talked about a possible future extension wherein, in the memory section, a module could opt-in to larger page sizes in which case the wasm engine would require that the initial memory size and `resize_memory` deltas were multiples of the declared page size.  The important thing is that there is no nondeterministic rounding performed by the VM; everything is specified by the module.\r\n\r\nI should also add that a wasm engine can always user larger pages under the hood.  Having the linear memory size be a multiple of OS page size is only useful for enabling engine optimizations (such as removing bounds checks)."}}