{"action":"created","issue":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/6292","repository_url":"https://api.github.com/repos/MarlinFirmware/Marlin","labels_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/6292/labels{/name}","comments_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/6292/comments","events_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/6292/events","html_url":"https://github.com/MarlinFirmware/Marlin/issues/6292","id":220510495,"number":6292,"title":"ISR stack frame usage","user":{"login":"Roxy-3D","id":8404322,"avatar_url":"https://avatars3.githubusercontent.com/u/8404322?v=3","gravatar_id":"","url":"https://api.github.com/users/Roxy-3D","html_url":"https://github.com/Roxy-3D","followers_url":"https://api.github.com/users/Roxy-3D/followers","following_url":"https://api.github.com/users/Roxy-3D/following{/other_user}","gists_url":"https://api.github.com/users/Roxy-3D/gists{/gist_id}","starred_url":"https://api.github.com/users/Roxy-3D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Roxy-3D/subscriptions","organizations_url":"https://api.github.com/users/Roxy-3D/orgs","repos_url":"https://api.github.com/users/Roxy-3D/repos","events_url":"https://api.github.com/users/Roxy-3D/events{/privacy}","received_events_url":"https://api.github.com/users/Roxy-3D/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-04-10T00:09:08Z","updated_at":"2017-04-13T10:31:14Z","closed_at":null,"body":"It used to be that the ISR stack frame needed well less than 64 bytes of space.   Right now, it is around 200 bytes.    Do we really need the stack frame to be so large?   It is cutting into the 'free memory' pool pretty dramatically.\r\n\r\nI'm not sure if this is because of recursive interrupt nesting.   Or because of something else like enabling Serial Transmitter interrupts.   Or maybe turning on interrupts for the endstops.   I've pretty much turned on anything that uses interrupts.    \r\n\r\nI haven't dug down deep enough to know the specifics yet.   But I would like people to be aware the ISR routines are getting a little bit piggish about the stack frame.   (I wish we had a 32-Bit processor running!!!)\r\n"},"comment":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/comments/293852987","html_url":"https://github.com/MarlinFirmware/Marlin/issues/6292#issuecomment-293852987","issue_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/6292","id":293852987,"user":{"login":"thinkyhead","id":698003,"avatar_url":"https://avatars1.githubusercontent.com/u/698003?v=3","gravatar_id":"","url":"https://api.github.com/users/thinkyhead","html_url":"https://github.com/thinkyhead","followers_url":"https://api.github.com/users/thinkyhead/followers","following_url":"https://api.github.com/users/thinkyhead/following{/other_user}","gists_url":"https://api.github.com/users/thinkyhead/gists{/gist_id}","starred_url":"https://api.github.com/users/thinkyhead/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thinkyhead/subscriptions","organizations_url":"https://api.github.com/users/thinkyhead/orgs","repos_url":"https://api.github.com/users/thinkyhead/repos","events_url":"https://api.github.com/users/thinkyhead/events{/privacy}","received_events_url":"https://api.github.com/users/thinkyhead/received_events","type":"User","site_admin":false},"created_at":"2017-04-13T10:31:14Z","updated_at":"2017-04-13T10:31:14Z","body":"It probably uses several stack-based variables with long lifespans. It pre-calculates a lot of values to save on computation to do its work. It is a complex function. There is no recursion, and I believe it calls no external functions."}}
{"actor":{"display_login":"thinkyhead"}}