{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/1797","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/1797/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/1797/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/1797/events","html_url":"https://github.com/dotnet/coreclr/pull/1797","id":112070630,"number":1797,"title":"Implementation of System V ABI struct passing. ","user":{"login":"LLITCHEV","id":9732688,"avatar_url":"https://avatars.githubusercontent.com/u/9732688?v=3","gravatar_id":"","url":"https://api.github.com/users/LLITCHEV","html_url":"https://github.com/LLITCHEV","followers_url":"https://api.github.com/users/LLITCHEV/followers","following_url":"https://api.github.com/users/LLITCHEV/following{/other_user}","gists_url":"https://api.github.com/users/LLITCHEV/gists{/gist_id}","starred_url":"https://api.github.com/users/LLITCHEV/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LLITCHEV/subscriptions","organizations_url":"https://api.github.com/users/LLITCHEV/orgs","repos_url":"https://api.github.com/users/LLITCHEV/repos","events_url":"https://api.github.com/users/LLITCHEV/events{/privacy}","received_events_url":"https://api.github.com/users/LLITCHEV/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/coreclr/labels/2%20-%20In%20Progress","name":"2 - In Progress","color":"ededed"},{"url":"https://api.github.com/repos/dotnet/coreclr/labels/cla-already-signed","name":"cla-already-signed","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-19T04:43:15Z","updated_at":"2015-10-19T04:56:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/1797","html_url":"https://github.com/dotnet/coreclr/pull/1797","diff_url":"https://github.com/dotnet/coreclr/pull/1797.diff","patch_url":"https://github.com/dotnet/coreclr/pull/1797.patch"},"body":"This PR adds support for System V x86_64 ABI classification and calling\r\nconvention to the VM and the jit, including, but not limited to Ubuntu\r\nLinux and Mac OS X.\r\nThe general rules outlined in the System V x86_64 ABI (described at\r\nhttp://www.x86-64.org/documentation/abi.pdf) are followed with a few\r\nlittle exceptions, described below:\r\n1.\tThe hidden argument for by-value passed structs is always after\r\nthe \"this\" parameter (if there is one.). This is a difference with\r\nthe Sysetem V ABI and affects only the internal jit calling conventions.\r\nFor PInvoke calls the hidden argument is always the first parameter since\r\nthere is no \"this\" parameter in this case.\r\n2.\tManaged structs that have no fields are always passed by-value on\r\nthe stack.\r\n3.\tThe jit proactively generates frame register frames (with RBP as a\r\nframe register) in order to aid the native OS tooling for stack unwinding\r\nand the like.\r\n"},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/149098560","html_url":"https://github.com/dotnet/coreclr/pull/1797#issuecomment-149098560","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/1797","id":149098560,"user":{"login":"LLITCHEV","id":9732688,"avatar_url":"https://avatars.githubusercontent.com/u/9732688?v=3","gravatar_id":"","url":"https://api.github.com/users/LLITCHEV","html_url":"https://github.com/LLITCHEV","followers_url":"https://api.github.com/users/LLITCHEV/followers","following_url":"https://api.github.com/users/LLITCHEV/following{/other_user}","gists_url":"https://api.github.com/users/LLITCHEV/gists{/gist_id}","starred_url":"https://api.github.com/users/LLITCHEV/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LLITCHEV/subscriptions","organizations_url":"https://api.github.com/users/LLITCHEV/orgs","repos_url":"https://api.github.com/users/LLITCHEV/repos","events_url":"https://api.github.com/users/LLITCHEV/events{/privacy}","received_events_url":"https://api.github.com/users/LLITCHEV/received_events","type":"User","site_admin":false},"created_at":"2015-10-19T04:56:08Z","updated_at":"2015-10-19T04:56:08Z","body":"@briansull @CarolEidt @BruceForstall Could you, please take  look?"}}