{"action":"created","issue":{"url":"https://api.github.com/repos/atgreen/libffi/issues/170","labels_url":"https://api.github.com/repos/atgreen/libffi/issues/170/labels{/name}","comments_url":"https://api.github.com/repos/atgreen/libffi/issues/170/comments","events_url":"https://api.github.com/repos/atgreen/libffi/issues/170/events","html_url":"https://github.com/atgreen/libffi/pull/170","id":54578232,"number":170,"title":"Support closures on ARM64 iOS","user":{"login":"fealebenpae","id":289915,"avatar_url":"https://avatars.githubusercontent.com/u/289915?v=3","gravatar_id":"","url":"https://api.github.com/users/fealebenpae","html_url":"https://github.com/fealebenpae","followers_url":"https://api.github.com/users/fealebenpae/followers","following_url":"https://api.github.com/users/fealebenpae/following{/other_user}","gists_url":"https://api.github.com/users/fealebenpae/gists{/gist_id}","starred_url":"https://api.github.com/users/fealebenpae/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fealebenpae/subscriptions","organizations_url":"https://api.github.com/users/fealebenpae/orgs","repos_url":"https://api.github.com/users/fealebenpae/repos","events_url":"https://api.github.com/users/fealebenpae/events{/privacy}","received_events_url":"https://api.github.com/users/fealebenpae/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-01-16T14:01:50Z","updated_at":"2015-01-26T15:21:19Z","closed_at":"2015-01-21T10:55:47Z","pull_request":{"url":"https://api.github.com/repos/atgreen/libffi/pulls/170","html_url":"https://github.com/atgreen/libffi/pull/170","diff_url":"https://github.com/atgreen/libffi/pull/170.diff","patch_url":"https://github.com/atgreen/libffi/pull/170.patch"},"body":"This patch copies the arm implementation of the iOS-friendly trampoline table closures to aarch64. While functional, there are two things I don't like about it:\r\n\r\n1. There is a lot of copy/pasta in ffi.c based on arm/ffi.c. Ideally I'd like to refactor it and keep the code in a shared location for the two targets but I'm unsure as to what's a good home for it. Perhaps closures.c?\r\n2. The actual trampoline table page code in sysv.S is the product of a single evening spent with the ARM instruction set reference manual - I don't like how bloated it is compared to the arm trampoline but I don't know if it can be implemented in a better way. I'd like to ask someone more proficient in aarch64 for a shove in the right direction.\r\n\r\nI want to make this patch better and then upstream it, but I need some help on the above issues."},"comment":{"url":"https://api.github.com/repos/atgreen/libffi/issues/comments/71476592","html_url":"https://github.com/atgreen/libffi/pull/170#issuecomment-71476592","issue_url":"https://api.github.com/repos/atgreen/libffi/issues/170","id":71476592,"user":{"login":"fealebenpae","id":289915,"avatar_url":"https://avatars.githubusercontent.com/u/289915?v=3","gravatar_id":"","url":"https://api.github.com/users/fealebenpae","html_url":"https://github.com/fealebenpae","followers_url":"https://api.github.com/users/fealebenpae/followers","following_url":"https://api.github.com/users/fealebenpae/following{/other_user}","gists_url":"https://api.github.com/users/fealebenpae/gists{/gist_id}","starred_url":"https://api.github.com/users/fealebenpae/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fealebenpae/subscriptions","organizations_url":"https://api.github.com/users/fealebenpae/orgs","repos_url":"https://api.github.com/users/fealebenpae/repos","events_url":"https://api.github.com/users/fealebenpae/events{/privacy}","received_events_url":"https://api.github.com/users/fealebenpae/received_events","type":"User","site_admin":false},"created_at":"2015-01-26T15:21:18Z","updated_at":"2015-01-26T15:21:18Z","body":"A single adr+ldp makes much more sense - it didn't occur to me to do it like that. Thanks for making it clearer, @rth7680.\r\n\r\n@atgreen Is there a way to update this pull request or should I make a new one with the proper trampoline assembly code?"}}