{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/3044","repository_url":"https://api.github.com/repos/dotnet/coreclr","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/3044/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/3044/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/3044/events","html_url":"https://github.com/dotnet/coreclr/pull/3044","id":131683128,"number":3044,"title":"Generate P/Invoke transitions for CoreRT.","user":{"login":"pgavlin","id":1224093,"avatar_url":"https://avatars.githubusercontent.com/u/1224093?v=3","gravatar_id":"","url":"https://api.github.com/users/pgavlin","html_url":"https://github.com/pgavlin","followers_url":"https://api.github.com/users/pgavlin/followers","following_url":"https://api.github.com/users/pgavlin/following{/other_user}","gists_url":"https://api.github.com/users/pgavlin/gists{/gist_id}","starred_url":"https://api.github.com/users/pgavlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgavlin/subscriptions","organizations_url":"https://api.github.com/users/pgavlin/orgs","repos_url":"https://api.github.com/users/pgavlin/repos","events_url":"https://api.github.com/users/pgavlin/events{/privacy}","received_events_url":"https://api.github.com/users/pgavlin/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":"CCCCCC"},{"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":6,"created_at":"2016-02-05T16:10:43Z","updated_at":"2016-02-05T22:04:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/3044","html_url":"https://github.com/dotnet/coreclr/pull/3044","diff_url":"https://github.com/dotnet/coreclr/pull/3044.diff","patch_url":"https://github.com/dotnet/coreclr/pull/3044.patch"},"body":"This change adds support for CoreRT-style P/Invoke transitions\r\nto RyuJIT. Instead of the usual inlined transition code, these\r\ntransitions are made up of calls to two new JIT helpers:\r\n\r\n    PInvokeTransitionFrame frame; // opaque local\r\n    CORINFO_HELP_INIT_PINVOKE_FRAME(&frame);\r\n    ...\r\n    CORINFO_HELP_JIT_PINVOKE_BEGIN(&frame);\r\n    target(...);\r\n    CORINFO_HELP_JIT_PINVOKE_END(&frame);\r\n    ...\r\n\r\nThe preemptive mode constraints apply between calls to\r\nJIT_PINVOKE_BEGIN and JIT_PINVOKE_END: no managed references\r\nmay be live only in registers and managed references may not\r\nbe manipulated.\r\n\r\nNote that this is a rebased version of the code from https://github.com/dotnet/coreclr/pull/2817."},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/180586973","html_url":"https://github.com/dotnet/coreclr/pull/3044#issuecomment-180586973","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/3044","id":180586973,"user":{"login":"BruceForstall","id":10901265,"avatar_url":"https://avatars.githubusercontent.com/u/10901265?v=3","gravatar_id":"","url":"https://api.github.com/users/BruceForstall","html_url":"https://github.com/BruceForstall","followers_url":"https://api.github.com/users/BruceForstall/followers","following_url":"https://api.github.com/users/BruceForstall/following{/other_user}","gists_url":"https://api.github.com/users/BruceForstall/gists{/gist_id}","starred_url":"https://api.github.com/users/BruceForstall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BruceForstall/subscriptions","organizations_url":"https://api.github.com/users/BruceForstall/orgs","repos_url":"https://api.github.com/users/BruceForstall/repos","events_url":"https://api.github.com/users/BruceForstall/events{/privacy}","received_events_url":"https://api.github.com/users/BruceForstall/received_events","type":"User","site_admin":false},"created_at":"2016-02-05T22:04:03Z","updated_at":"2016-02-05T22:04:03Z","body":"all of the above"}}