{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/6572","repository_url":"https://api.github.com/repos/dotnet/coreclr","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/6572/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/6572/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/6572/events","html_url":"https://github.com/dotnet/coreclr/pull/6572","id":168914029,"number":6572,"title":"Allow inlining when inlinee has `starg`","user":{"login":"JosephTremoulet","id":10655216,"avatar_url":"https://avatars.githubusercontent.com/u/10655216?v=3","gravatar_id":"","url":"https://api.github.com/users/JosephTremoulet","html_url":"https://github.com/JosephTremoulet","followers_url":"https://api.github.com/users/JosephTremoulet/followers","following_url":"https://api.github.com/users/JosephTremoulet/following{/other_user}","gists_url":"https://api.github.com/users/JosephTremoulet/gists{/gist_id}","starred_url":"https://api.github.com/users/JosephTremoulet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JosephTremoulet/subscriptions","organizations_url":"https://api.github.com/users/JosephTremoulet/orgs","repos_url":"https://api.github.com/users/JosephTremoulet/repos","events_url":"https://api.github.com/users/JosephTremoulet/events{/privacy}","received_events_url":"https://api.github.com/users/JosephTremoulet/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/coreclr/labels/cla-already-signed","name":"cla-already-signed","color":"009800"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-08-02T15:23:35Z","updated_at":"2016-08-02T16:01:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/6572","html_url":"https://github.com/dotnet/coreclr/pull/6572","diff_url":"https://github.com/dotnet/coreclr/pull/6572.diff","patch_url":"https://github.com/dotnet/coreclr/pull/6572.patch"},"body":"The inliner's restriction that methods that make use of the `starg` opcode\r\ncannot be inlined is somewhat artificial.  The comments indicate that the\r\nreason for this excluion is because the inliner forward-substitutes\r\nargument expressions in place of parameter references, but the codepaths\r\nrequired to force evaluating an argument expression at the callsite and\r\nreference that result in place of parameter references is already in place\r\nto handle `ldarga` and complex argument expressions.\r\n\r\nThis change\r\n - adds an `argHasStargOp` flag to the `inlArgInfo` type, similar\r\n   to the existing `argHasLdargaOp` flag\r\n - removes the `CALLEE_STORES_TO_ARGUMENT` inline observation and instead\r\n   sets the new flag for `starg` cases\r\n - updates `impInlineFetchArg` to force evaluation to a temp for arguments\r\n   that are marked `argHasStargOp`\r\n - updates `starg` processing in the importer to store to the\r\n   corresponding temp when importing for an inlinee\r\n\r\nResolves #6014."},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/236951894","html_url":"https://github.com/dotnet/coreclr/pull/6572#issuecomment-236951894","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/6572","id":236951894,"user":{"login":"redknightlois","id":1045411,"avatar_url":"https://avatars.githubusercontent.com/u/1045411?v=3","gravatar_id":"","url":"https://api.github.com/users/redknightlois","html_url":"https://github.com/redknightlois","followers_url":"https://api.github.com/users/redknightlois/followers","following_url":"https://api.github.com/users/redknightlois/following{/other_user}","gists_url":"https://api.github.com/users/redknightlois/gists{/gist_id}","starred_url":"https://api.github.com/users/redknightlois/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/redknightlois/subscriptions","organizations_url":"https://api.github.com/users/redknightlois/orgs","repos_url":"https://api.github.com/users/redknightlois/repos","events_url":"https://api.github.com/users/redknightlois/events{/privacy}","received_events_url":"https://api.github.com/users/redknightlois/received_events","type":"User","site_admin":false},"created_at":"2016-08-02T16:01:08Z","updated_at":"2016-08-02T16:01:08Z","body":"@JosephTremoulet Let me know when this is available on Nuget and how can I get a list of newer inlinees and I will tell you how our codebase looks like with this change. "}}
{"actor":{"display_login":"redknightlois"}}