{"action":"created","issue":{"url":"https://api.github.com/repos/aspnet/Blazor/issues/47","repository_url":"https://api.github.com/repos/aspnet/Blazor","labels_url":"https://api.github.com/repos/aspnet/Blazor/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/Blazor/issues/47/comments","events_url":"https://api.github.com/repos/aspnet/Blazor/issues/47/events","html_url":"https://github.com/aspnet/Blazor/issues/47","id":295005005,"node_id":"MDU6SXNzdWUyOTUwMDUwMDU=","number":47,"title":"Optimize mono runtime","user":{"login":"javiercn","id":6995051,"node_id":"MDQ6VXNlcjY5OTUwNTE=","avatar_url":"https://avatars2.githubusercontent.com/u/6995051?v=4","gravatar_id":"","url":"https://api.github.com/users/javiercn","html_url":"https://github.com/javiercn","followers_url":"https://api.github.com/users/javiercn/followers","following_url":"https://api.github.com/users/javiercn/following{/other_user}","gists_url":"https://api.github.com/users/javiercn/gists{/gist_id}","starred_url":"https://api.github.com/users/javiercn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/javiercn/subscriptions","organizations_url":"https://api.github.com/users/javiercn/orgs","repos_url":"https://api.github.com/users/javiercn/repos","events_url":"https://api.github.com/users/javiercn/events{/privacy}","received_events_url":"https://api.github.com/users/javiercn/received_events","type":"User","site_admin":false},"labels":[{"id":794119500,"node_id":"MDU6TGFiZWw3OTQxMTk1MDA=","url":"https://api.github.com/repos/aspnet/Blazor/labels/1%20-%20Ready","name":"1 - Ready","color":"cccccc","default":false}],"state":"open","locked":false,"assignee":{"login":"javiercn","id":6995051,"node_id":"MDQ6VXNlcjY5OTUwNTE=","avatar_url":"https://avatars2.githubusercontent.com/u/6995051?v=4","gravatar_id":"","url":"https://api.github.com/users/javiercn","html_url":"https://github.com/javiercn","followers_url":"https://api.github.com/users/javiercn/followers","following_url":"https://api.github.com/users/javiercn/following{/other_user}","gists_url":"https://api.github.com/users/javiercn/gists{/gist_id}","starred_url":"https://api.github.com/users/javiercn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/javiercn/subscriptions","organizations_url":"https://api.github.com/users/javiercn/orgs","repos_url":"https://api.github.com/users/javiercn/repos","events_url":"https://api.github.com/users/javiercn/events{/privacy}","received_events_url":"https://api.github.com/users/javiercn/received_events","type":"User","site_admin":false},"assignees":[{"login":"javiercn","id":6995051,"node_id":"MDQ6VXNlcjY5OTUwNTE=","avatar_url":"https://avatars2.githubusercontent.com/u/6995051?v=4","gravatar_id":"","url":"https://api.github.com/users/javiercn","html_url":"https://github.com/javiercn","followers_url":"https://api.github.com/users/javiercn/followers","following_url":"https://api.github.com/users/javiercn/following{/other_user}","gists_url":"https://api.github.com/users/javiercn/gists{/gist_id}","starred_url":"https://api.github.com/users/javiercn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/javiercn/subscriptions","organizations_url":"https://api.github.com/users/javiercn/orgs","repos_url":"https://api.github.com/users/javiercn/repos","events_url":"https://api.github.com/users/javiercn/events{/privacy}","received_events_url":"https://api.github.com/users/javiercn/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/aspnet/Blazor/milestones/2","html_url":"https://github.com/aspnet/Blazor/milestone/2","labels_url":"https://api.github.com/repos/aspnet/Blazor/milestones/2/labels","id":3064358,"node_id":"MDk6TWlsZXN0b25lMzA2NDM1OA==","number":2,"title":"Backlog","description":"","creator":{"login":"danroth27","id":1874516,"node_id":"MDQ6VXNlcjE4NzQ1MTY=","avatar_url":"https://avatars2.githubusercontent.com/u/1874516?v=4","gravatar_id":"","url":"https://api.github.com/users/danroth27","html_url":"https://github.com/danroth27","followers_url":"https://api.github.com/users/danroth27/followers","following_url":"https://api.github.com/users/danroth27/following{/other_user}","gists_url":"https://api.github.com/users/danroth27/gists{/gist_id}","starred_url":"https://api.github.com/users/danroth27/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danroth27/subscriptions","organizations_url":"https://api.github.com/users/danroth27/orgs","repos_url":"https://api.github.com/users/danroth27/repos","events_url":"https://api.github.com/users/danroth27/events{/privacy}","received_events_url":"https://api.github.com/users/danroth27/received_events","type":"User","site_admin":false},"open_issues":62,"closed_issues":21,"state":"open","created_at":"2018-01-25T17:03:38Z","updated_at":"2018-10-05T13:38:09Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2018-02-07T04:41:41Z","updated_at":"2018-10-06T20:06:23Z","closed_at":null,"author_association":"MEMBER","body":"We need to figure out what parts of mono.wasm and mono.asm.js we are using and remove everything else.\r\n\r\nThe original approach is described below.\r\n\r\n1. In your wasm binary, implement a function that takes an i32 and, when called, passes it through to\r\n   JS code. On the JS side, track which numbers you receive.\r\n2. Convert the original .wasm file to .wast using 'wasm2wat' from https://github.com/WebAssembly/wabt\r\n3. Use the annotateWast function to emit an instrumented version of that .wast file. Each function\r\n   in it will be modified so that it starts by invoking function 115, passing the ID of the caller.\r\n   Change the '115' const to whatever else is the ID of your compiled function from step 1.\r\n3. Convert the instrumented .wast back to .wasm using 'wat2wasm'\r\n4. Run your application using the instrumented .wasm file. After exercising all reachable code paths,\r\n   use the browser debug console to evaluate the list of function IDs that were invoked.\r\n5. Update the 'usedFunctionIds' array above.\r\n6. Use the stripWast function to generate a stripped version of your original .wast file in which all\r\n   the uncalled functions are replaced with empty stubs.\r\n7. Convert the stripped .wast file to .wasm using wat2wasm\r\n8. Use the stripped .wasm file in your application\r\n```"},"comment":{"url":"https://api.github.com/repos/aspnet/Blazor/issues/comments/427602597","html_url":"https://github.com/aspnet/Blazor/issues/47#issuecomment-427602597","issue_url":"https://api.github.com/repos/aspnet/Blazor/issues/47","id":427602597,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNzYwMjU5Nw==","user":{"login":"javiercn","id":6995051,"node_id":"MDQ6VXNlcjY5OTUwNTE=","avatar_url":"https://avatars2.githubusercontent.com/u/6995051?v=4","gravatar_id":"","url":"https://api.github.com/users/javiercn","html_url":"https://github.com/javiercn","followers_url":"https://api.github.com/users/javiercn/followers","following_url":"https://api.github.com/users/javiercn/following{/other_user}","gists_url":"https://api.github.com/users/javiercn/gists{/gist_id}","starred_url":"https://api.github.com/users/javiercn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/javiercn/subscriptions","organizations_url":"https://api.github.com/users/javiercn/orgs","repos_url":"https://api.github.com/users/javiercn/repos","events_url":"https://api.github.com/users/javiercn/events{/privacy}","received_events_url":"https://api.github.com/users/javiercn/received_events","type":"User","site_admin":false},"created_at":"2018-10-06T20:06:23Z","updated_at":"2018-10-06T20:06:23Z","author_association":"MEMBER","body":"@danroth @stevesandersonms"}}
{"actor":{"display_login":"javiercn"}}