{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/22985","repository_url":"https://api.github.com/repos/dotnet/roslyn","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/22985/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/22985/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/22985/events","html_url":"https://github.com/dotnet/roslyn/pull/22985","id":270759467,"number":22985,"title":"Reuse proxy fields in async state machine","user":{"login":"VSadov","id":8218165,"avatar_url":"https://avatars0.githubusercontent.com/u/8218165?v=4","gravatar_id":"","url":"https://api.github.com/users/VSadov","html_url":"https://github.com/VSadov","followers_url":"https://api.github.com/users/VSadov/followers","following_url":"https://api.github.com/users/VSadov/following{/other_user}","gists_url":"https://api.github.com/users/VSadov/gists{/gist_id}","starred_url":"https://api.github.com/users/VSadov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VSadov/subscriptions","organizations_url":"https://api.github.com/users/VSadov/orgs","repos_url":"https://api.github.com/users/VSadov/repos","events_url":"https://api.github.com/users/VSadov/events{/privacy}","received_events_url":"https://api.github.com/users/VSadov/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2017-11-02T18:28:49Z","updated_at":"2017-11-13T18:59:52Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/22985","html_url":"https://github.com/dotnet/roslyn/pull/22985","diff_url":"https://github.com/dotnet/roslyn/pull/22985.diff","patch_url":"https://github.com/dotnet/roslyn/pull/22985.patch"},"body":"We currently provide every local with its own proxy, even when locals are in disjoint scopes. \r\nThat is done for the purpose of debugging, especially EnC.\r\n\r\nWe do not have to do this in Release ( /o+ ) and can reduce the size of async state where possible through reusing of backing fields.\r\n\r\nNOTE: reuse does have impact on debugging experience when reuse happens (only in Release build) - locals that are mapped to recycled fields generally cannot be examined. Otherwise debugging experience stays the same.\r\n\r\nFixes:#15290"},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/344021576","html_url":"https://github.com/dotnet/roslyn/pull/22985#issuecomment-344021576","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/22985","id":344021576,"user":{"login":"tmat","id":41759,"avatar_url":"https://avatars0.githubusercontent.com/u/41759?v=4","gravatar_id":"","url":"https://api.github.com/users/tmat","html_url":"https://github.com/tmat","followers_url":"https://api.github.com/users/tmat/followers","following_url":"https://api.github.com/users/tmat/following{/other_user}","gists_url":"https://api.github.com/users/tmat/gists{/gist_id}","starred_url":"https://api.github.com/users/tmat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmat/subscriptions","organizations_url":"https://api.github.com/users/tmat/orgs","repos_url":"https://api.github.com/users/tmat/repos","events_url":"https://api.github.com/users/tmat/events{/privacy}","received_events_url":"https://api.github.com/users/tmat/received_events","type":"User","site_admin":false},"created_at":"2017-11-13T18:59:52Z","updated_at":"2017-11-13T18:59:52Z","author_association":"MEMBER","body":">             var c = CreateCompilationWithMscorlibAndSystemCore(text, options: TestOptions.DebugDll);\r\n\r\nHere as well.\r\n\r\n---\r\nRefers to: src/Compilers/CSharp/Test/Emit/PDB/PDBIteratorTests.cs:237 in 29fb470. [](commit_id = 29fb4709ebd741b135157496f330773ec3fdb588, deletion_comment = False)"}}
{"actor":{"display_login":"tmat"}}