{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/corert/pulls/comments/117621629","pull_request_review_id":39346472,"id":117621629,"diff_hunk":"@@ -40,22 +40,7 @@ int ISymbolDefinitionNode.Offset\n \n         private static IEETypeNode GetEETypeNode(NodeFactory factory)\n         {\n-            DefType systemStringType = factory.TypeSystemContext.GetWellKnownType(WellKnownType.String);\n-\n-            //\n-            // The GC requires a direct reference to frozen objects' EETypes. If System.String will be compiled into a separate\n-            // binary, it must be cloned into this one.\n-            //\n-            IEETypeNode stringSymbol = factory.ConstructedTypeSymbol(systemStringType);\n-\n-            if (stringSymbol.RepresentsIndirectionCell)","path":"src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/FrozenStringNode.cs","position":12,"original_position":12,"commit_id":"d5e316ca898871eed979ca2b2043c2ed25d5b1a7","original_commit_id":"d5e316ca898871eed979ca2b2043c2ed25d5b1a7","user":{"login":"yizhang82","id":6903744,"avatar_url":"https://avatars2.githubusercontent.com/u/6903744?v=3","gravatar_id":"","url":"https://api.github.com/users/yizhang82","html_url":"https://github.com/yizhang82","followers_url":"https://api.github.com/users/yizhang82/followers","following_url":"https://api.github.com/users/yizhang82/following{/other_user}","gists_url":"https://api.github.com/users/yizhang82/gists{/gist_id}","starred_url":"https://api.github.com/users/yizhang82/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yizhang82/subscriptions","organizations_url":"https://api.github.com/users/yizhang82/orgs","repos_url":"https://api.github.com/users/yizhang82/repos","events_url":"https://api.github.com/users/yizhang82/events{/privacy}","received_events_url":"https://api.github.com/users/yizhang82/received_events","type":"User","site_admin":false},"body":"reverted","created_at":"2017-05-21T02:24:03Z","updated_at":"2017-05-21T02:24:03Z","html_url":"https://github.com/dotnet/corert/pull/3558#discussion_r117621629","pull_request_url":"https://api.github.com/repos/dotnet/corert/pulls/3558","_links":{"self":{"href":"https://api.github.com/repos/dotnet/corert/pulls/comments/117621629"},"html":{"href":"https://github.com/dotnet/corert/pull/3558#discussion_r117621629"},"pull_request":{"href":"https://api.github.com/repos/dotnet/corert/pulls/3558"}}},"pull_request":{"url":"https://api.github.com/repos/dotnet/corert/pulls/3558","id":119597779,"html_url":"https://github.com/dotnet/corert/pull/3558","diff_url":"https://github.com/dotnet/corert/pull/3558.diff","patch_url":"https://github.com/dotnet/corert/pull/3558.patch","issue_url":"https://api.github.com/repos/dotnet/corert/issues/3558","number":3558,"state":"open","locked":false,"title":"Initial support for preinitialized array in CoreRT","user":{"login":"yizhang82","id":6903744,"avatar_url":"https://avatars2.githubusercontent.com/u/6903744?v=3","gravatar_id":"","url":"https://api.github.com/users/yizhang82","html_url":"https://github.com/yizhang82","followers_url":"https://api.github.com/users/yizhang82/followers","following_url":"https://api.github.com/users/yizhang82/following{/other_user}","gists_url":"https://api.github.com/users/yizhang82/gists{/gist_id}","starred_url":"https://api.github.com/users/yizhang82/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yizhang82/subscriptions","organizations_url":"https://api.github.com/users/yizhang82/orgs","repos_url":"https://api.github.com/users/yizhang82/repos","events_url":"https://api.github.com/users/yizhang82/events{/privacy}","received_events_url":"https://api.github.com/users/yizhang82/received_events","type":"User","site_admin":false},"body":"* Added PreInitDataField field in FieldDesc/EcmaField to return the corresponding RVA static field pointing to preinitialized data blob (as indicated by [PreInitialized] and [InitDataBlobAttribute]\r\n* Added FrozenStaticFieldArrayNode for frozen arrays with data extracted from preinit RVA data field\r\n* Added GCStaticsPreInitDataNode (CoreRT only) to hold GC pointers for GC static fields. Pre-init data fields points to frozen data, while other data initialized to null. They are stored in a new R2R section but perhaps this isn't really necessary (I was using it as parallel data structure but that isn't really necessary anymore). I'll remove the R2R section. \r\n* Changed GCStaticsNode to emit a pointer reloc to GCStaticspreInitDataNode and mask 0x2 for the GC static EEType\r\n* Changed InitializedStatics in StartupCodeHelper to check for 0x2 and memcpy the GC field data as needed\r\n\r\nProgram.cs and Repro.il are simply there for my testing convenience. I'll remove them before merging. \r\n\r\nA few TODOs\r\n* Add support for fixups (FixupRuntimeTypeHandle, __addrof fixups, etc)\r\n* Enable this in ProjectX (should be easy)\r\n* Test support - not sure if we have IL support in test infra and this isn't really testable in C# (at least not without the IL transform)\r\n* I also want to see if we can easily hook up IL compilation in the repro project (probably a reproIL project), for future feature work that requires playing with IL in repro project (I had to compile repro.il manually and copy it over)\r\n\r\n@davidwrighton @MichalStrehovsky @nattress PTAL\r\n/cc @fadimounir @hoyMS ","created_at":"2017-05-09T07:20:11Z","updated_at":"2017-05-21T02:24:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"386e660df14f4c759d3da19be83ab279fe398390","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/corert/pulls/3558/commits","review_comments_url":"https://api.github.com/repos/dotnet/corert/pulls/3558/comments","review_comment_url":"https://api.github.com/repos/dotnet/corert/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/corert/issues/3558/comments","statuses_url":"https://api.github.com/repos/dotnet/corert/statuses/d5e316ca898871eed979ca2b2043c2ed25d5b1a7","head":{"label":"yizhang82:preinit","ref":"preinit","sha":"d5e316ca898871eed979ca2b2043c2ed25d5b1a7","user":{"login":"yizhang82","id":6903744,"avatar_url":"https://avatars2.githubusercontent.com/u/6903744?v=3","gravatar_id":"","url":"https://api.github.com/users/yizhang82","html_url":"https://github.com/yizhang82","followers_url":"https://api.github.com/users/yizhang82/followers","following_url":"https://api.github.com/users/yizhang82/following{/other_user}","gists_url":"https://api.github.com/users/yizhang82/gists{/gist_id}","starred_url":"https://api.github.com/users/yizhang82/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yizhang82/subscriptions","organizations_url":"https://api.github.com/users/yizhang82/orgs","repos_url":"https://api.github.com/users/yizhang82/repos","events_url":"https://api.github.com/users/yizhang82/events{/privacy}","received_events_url":"https://api.github.com/users/yizhang82/received_events","type":"User","site_admin":false},"repo":{"id":55190976,"name":"corert","full_name":"yizhang82/corert","owner":{"login":"yizhang82","id":6903744,"avatar_url":"https://avatars2.githubusercontent.com/u/6903744?v=3","gravatar_id":"","url":"https://api.github.com/users/yizhang82","html_url":"https://github.com/yizhang82","followers_url":"https://api.github.com/users/yizhang82/followers","following_url":"https://api.github.com/users/yizhang82/following{/other_user}","gists_url":"https://api.github.com/users/yizhang82/gists{/gist_id}","starred_url":"https://api.github.com/users/yizhang82/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yizhang82/subscriptions","organizations_url":"https://api.github.com/users/yizhang82/orgs","repos_url":"https://api.github.com/users/yizhang82/repos","events_url":"https://api.github.com/users/yizhang82/events{/privacy}","received_events_url":"https://api.github.com/users/yizhang82/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/yizhang82/corert","description":"This repo contains CoreRT, a .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying .NET Native compiler toolchain.","fork":true,"url":"https://api.github.com/repos/yizhang82/corert","forks_url":"https://api.github.com/repos/yizhang82/corert/forks","keys_url":"https://api.github.com/repos/yizhang82/corert/keys{/key_id}","collaborators_url":"https://api.github.com/repos/yizhang82/corert/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/yizhang82/corert/teams","hooks_url":"https://api.github.com/repos/yizhang82/corert/hooks","issue_events_url":"https://api.github.com/repos/yizhang82/corert/issues/events{/number}","events_url":"https://api.github.com/repos/yizhang82/corert/events","assignees_url":"https://api.github.com/repos/yizhang82/corert/assignees{/user}","branches_url":"https://api.github.com/repos/yizhang82/corert/branches{/branch}","tags_url":"https://api.github.com/repos/yizhang82/corert/tags","blobs_url":"https://api.github.com/repos/yizhang82/corert/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/yizhang82/corert/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/yizhang82/corert/git/refs{/sha}","trees_url":"https://api.github.com/repos/yizhang82/corert/git/trees{/sha}","statuses_url":"https://api.github.com/repos/yizhang82/corert/statuses/{sha}","languages_url":"https://api.github.com/repos/yizhang82/corert/languages","stargazers_url":"https://api.github.com/repos/yizhang82/corert/stargazers","contributors_url":"https://api.github.com/repos/yizhang82/corert/contributors","subscribers_url":"https://api.github.com/repos/yizhang82/corert/subscribers","subscription_url":"https://api.github.com/repos/yizhang82/corert/subscription","commits_url":"https://api.github.com/repos/yizhang82/corert/commits{/sha}","git_commits_url":"https://api.github.com/repos/yizhang82/corert/git/commits{/sha}","comments_url":"https://api.github.com/repos/yizhang82/corert/comments{/number}","issue_comment_url":"https://api.github.com/repos/yizhang82/corert/issues/comments{/number}","contents_url":"https://api.github.com/repos/yizhang82/corert/contents/{+path}","compare_url":"https://api.github.com/repos/yizhang82/corert/compare/{base}...{head}","merges_url":"https://api.github.com/repos/yizhang82/corert/merges","archive_url":"https://api.github.com/repos/yizhang82/corert/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/yizhang82/corert/downloads","issues_url":"https://api.github.com/repos/yizhang82/corert/issues{/number}","pulls_url":"https://api.github.com/repos/yizhang82/corert/pulls{/number}","milestones_url":"https://api.github.com/repos/yizhang82/corert/milestones{/number}","notifications_url":"https://api.github.com/repos/yizhang82/corert/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/yizhang82/corert/labels{/name}","releases_url":"https://api.github.com/repos/yizhang82/corert/releases{/id}","deployments_url":"https://api.github.com/repos/yizhang82/corert/deployments","created_at":"2016-04-01T00:02:07Z","updated_at":"2016-04-01T00:02:12Z","pushed_at":"2017-05-19T07:49:52Z","git_url":"git://github.com/yizhang82/corert.git","ssh_url":"git@github.com:yizhang82/corert.git","clone_url":"https://github.com/yizhang82/corert.git","svn_url":"https://github.com/yizhang82/corert","homepage":"http://dotnet.github.io/","size":17977,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"ca3766137cd79eb34c016f057ab1f7f85b7f0459","user":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars3.githubusercontent.com/u/9141961?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":42552143,"name":"corert","full_name":"dotnet/corert","owner":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars3.githubusercontent.com/u/9141961?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/corert","description":"This repo contains CoreRT, a .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying .NET Native compiler toolchain.","fork":false,"url":"https://api.github.com/repos/dotnet/corert","forks_url":"https://api.github.com/repos/dotnet/corert/forks","keys_url":"https://api.github.com/repos/dotnet/corert/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/corert/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/corert/teams","hooks_url":"https://api.github.com/repos/dotnet/corert/hooks","issue_events_url":"https://api.github.com/repos/dotnet/corert/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/corert/events","assignees_url":"https://api.github.com/repos/dotnet/corert/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/corert/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/corert/tags","blobs_url":"https://api.github.com/repos/dotnet/corert/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/corert/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/corert/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/corert/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/corert/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/corert/languages","stargazers_url":"https://api.github.com/repos/dotnet/corert/stargazers","contributors_url":"https://api.github.com/repos/dotnet/corert/contributors","subscribers_url":"https://api.github.com/repos/dotnet/corert/subscribers","subscription_url":"https://api.github.com/repos/dotnet/corert/subscription","commits_url":"https://api.github.com/repos/dotnet/corert/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/corert/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/corert/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/corert/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/corert/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/corert/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/corert/merges","archive_url":"https://api.github.com/repos/dotnet/corert/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/corert/downloads","issues_url":"https://api.github.com/repos/dotnet/corert/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/corert/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/corert/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/corert/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/corert/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/corert/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/corert/deployments","created_at":"2015-09-15T23:10:53Z","updated_at":"2017-05-20T09:54:13Z","pushed_at":"2017-05-20T22:39:11Z","git_url":"git://github.com/dotnet/corert.git","ssh_url":"git@github.com:dotnet/corert.git","clone_url":"https://github.com/dotnet/corert.git","svn_url":"https://github.com/dotnet/corert","homepage":"http://dot.net","size":17908,"stargazers_count":612,"watchers_count":612,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":210,"mirror_url":null,"open_issues_count":219,"forks":210,"open_issues":219,"watchers":612,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/corert/pulls/3558"},"html":{"href":"https://github.com/dotnet/corert/pull/3558"},"issue":{"href":"https://api.github.com/repos/dotnet/corert/issues/3558"},"comments":{"href":"https://api.github.com/repos/dotnet/corert/issues/3558/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/corert/pulls/3558/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/corert/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/corert/pulls/3558/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/corert/statuses/d5e316ca898871eed979ca2b2043c2ed25d5b1a7"}}}}
{"actor":{"display_login":"yizhang82"}}