{"action":"created","issue":{"url":"https://api.github.com/repos/yegord/snowman/issues/45","labels_url":"https://api.github.com/repos/yegord/snowman/issues/45/labels{/name}","comments_url":"https://api.github.com/repos/yegord/snowman/issues/45/comments","events_url":"https://api.github.com/repos/yegord/snowman/issues/45/events","html_url":"https://github.com/yegord/snowman/issues/45","id":103346141,"number":45,"title":"Use the $gp register as a global pointer and not as a local per function.","user":{"login":"nihilus","id":544596,"avatar_url":"https://avatars.githubusercontent.com/u/544596?v=3","gravatar_id":"","url":"https://api.github.com/users/nihilus","html_url":"https://github.com/nihilus","followers_url":"https://api.github.com/users/nihilus/followers","following_url":"https://api.github.com/users/nihilus/following{/other_user}","gists_url":"https://api.github.com/users/nihilus/gists{/gist_id}","starred_url":"https://api.github.com/users/nihilus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nihilus/subscriptions","organizations_url":"https://api.github.com/users/nihilus/orgs","repos_url":"https://api.github.com/users/nihilus/repos","events_url":"https://api.github.com/users/nihilus/events{/privacy}","received_events_url":"https://api.github.com/users/nihilus/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-08-26T19:24:06Z","updated_at":"2015-09-10T21:22:08Z","closed_at":"2015-09-10T21:22:08Z","body":"On MIPS the $gp register is saved over over calls between functions.\r\nHow should this been taken care of? As for now it will become marked as a local variable and then the liveliness analyzer will kill it off.\r\n\r\n\"For the N32 and N64 ABIs, a function must preserve the $S0-$s7 registers, the global pointer ($gp or $28), the stack pointer ($sp or $29) and the frame pointer ($30). The O32 ABI is the same except the calling function is required to save the $gp register instead of the called function.\""},"comment":{"url":"https://api.github.com/repos/yegord/snowman/issues/comments/139382896","html_url":"https://github.com/yegord/snowman/issues/45#issuecomment-139382896","issue_url":"https://api.github.com/repos/yegord/snowman/issues/45","id":139382896,"user":{"login":"nihilus","id":544596,"avatar_url":"https://avatars.githubusercontent.com/u/544596?v=3","gravatar_id":"","url":"https://api.github.com/users/nihilus","html_url":"https://github.com/nihilus","followers_url":"https://api.github.com/users/nihilus/followers","following_url":"https://api.github.com/users/nihilus/following{/other_user}","gists_url":"https://api.github.com/users/nihilus/gists{/gist_id}","starred_url":"https://api.github.com/users/nihilus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nihilus/subscriptions","organizations_url":"https://api.github.com/users/nihilus/orgs","repos_url":"https://api.github.com/users/nihilus/repos","events_url":"https://api.github.com/users/nihilus/events{/privacy}","received_events_url":"https://api.github.com/users/nihilus/received_events","type":"User","site_admin":false},"created_at":"2015-09-10T21:22:08Z","updated_at":"2015-09-10T21:22:08Z","body":"Considered this fixed by 9087b28bf2ed37dde115edad0c9151f5b18219dc"}}