{"action":"created","comment":{"url":"https://api.github.com/repos/citra-emu/citra/pulls/comments/225354968","pull_request_review_id":164940932,"id":225354968,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNTM1NDk2OA==","diff_hunk":"@@ -111,8 +109,10 @@ struct CodeSet final : public Object {\n     u64 program_id;\n \n private:\n-    CodeSet();\n+    explicit CodeSet(KernelSystem& kernel);","path":"src/core/hle/kernel/process.h","position":27,"original_position":14,"commit_id":"29615ba18c50c8804dfbe894c3ea7826088fc000","original_commit_id":"7cd9c2952ef372b68350285135ae9ed4b2da5898","user":{"login":"wwylele","id":4592895,"node_id":"MDQ6VXNlcjQ1OTI4OTU=","avatar_url":"https://avatars0.githubusercontent.com/u/4592895?v=4","gravatar_id":"","url":"https://api.github.com/users/wwylele","html_url":"https://github.com/wwylele","followers_url":"https://api.github.com/users/wwylele/followers","following_url":"https://api.github.com/users/wwylele/following{/other_user}","gists_url":"https://api.github.com/users/wwylele/gists{/gist_id}","starred_url":"https://api.github.com/users/wwylele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wwylele/subscriptions","organizations_url":"https://api.github.com/users/wwylele/orgs","repos_url":"https://api.github.com/users/wwylele/repos","events_url":"https://api.github.com/users/wwylele/events{/privacy}","received_events_url":"https://api.github.com/users/wwylele/received_events","type":"User","site_admin":false},"body":"@lioncash https://www.3dbrew.org/wiki/SVC there is a svc 0x73 which is called CreateCodeSet, which likely creates this kind of kernel object. Although it is not implemented right now and is probably unnecessary for HLE emulation, it is still better to be there for LLE experiment and stuff.","created_at":"2018-10-16T00:00:53Z","updated_at":"2018-10-16T00:00:54Z","html_url":"https://github.com/citra-emu/citra/pull/4341#discussion_r225354968","pull_request_url":"https://api.github.com/repos/citra-emu/citra/pulls/4341","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/comments/225354968"},"html":{"href":"https://github.com/citra-emu/citra/pull/4341#discussion_r225354968"},"pull_request":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/4341"}},"in_reply_to_id":225351500},"pull_request":{"url":"https://api.github.com/repos/citra-emu/citra/pulls/4341","id":223010084,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIzMDEwMDg0","html_url":"https://github.com/citra-emu/citra/pull/4341","diff_url":"https://github.com/citra-emu/citra/pull/4341.diff","patch_url":"https://github.com/citra-emu/citra/pull/4341.patch","issue_url":"https://api.github.com/repos/citra-emu/citra/issues/4341","number":4341,"state":"open","locked":false,"title":"Kernel: make a kernel instance and remove object ID counter from global state","user":{"login":"wwylele","id":4592895,"node_id":"MDQ6VXNlcjQ1OTI4OTU=","avatar_url":"https://avatars0.githubusercontent.com/u/4592895?v=4","gravatar_id":"","url":"https://api.github.com/users/wwylele","html_url":"https://github.com/wwylele","followers_url":"https://api.github.com/users/wwylele/followers","following_url":"https://api.github.com/users/wwylele/following{/other_user}","gists_url":"https://api.github.com/users/wwylele/gists{/gist_id}","starred_url":"https://api.github.com/users/wwylele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wwylele/subscriptions","organizations_url":"https://api.github.com/users/wwylele/orgs","repos_url":"https://api.github.com/users/wwylele/repos","events_url":"https://api.github.com/users/wwylele/events{/privacy}","received_events_url":"https://api.github.com/users/wwylele/received_events","type":"User","site_admin":false},"body":"Global state elimination for kernel: part 1\r\nPlease review commit-by-commit\r\n\r\nThe title is the simple goal for this PR, but it involves many changes all over the code. To achieve this, all kernel objects have to create with reference to a kernel instance, and therefore all related code needs to retrieve the kernel instance from the main System instance. `System::GetInstance()` is used where retrieving the non-global instance is not possible in current code state, and will be changed in future PRs.\r\n\r\nTests are also changed accordingly, and every kernel-related test needs a kernel instance, which also requires CoreTiming to be inited (this is another global state that will be changed in the future).\r\n\r\nThe new code moves all Create***Object functions to kernel's member functions, but still keeps the implementation in their original place, in order to keep minimal diff. If this is not acceptable, I will change it.\r\n\r\nThis is not the easiest way to eliminate the counter ID global state: in fact it can be kept as global as it is for debug purpose only and its value is not meaningful. However, all many kernel objects has other global states that is going to be moved in to the kernel instance in the next PR, so it is better to take this chance to let all objects refer to a kernel instance now.\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/citra-emu/citra/4341)\n<!-- Reviewable:end -->\n","created_at":"2018-10-15T19:03:46Z","updated_at":"2018-10-16T00:00:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"65ffd1f82a44e2657b2ada28d2b8ac55e802bffc","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/citra-emu/citra/pulls/4341/commits","review_comments_url":"https://api.github.com/repos/citra-emu/citra/pulls/4341/comments","review_comment_url":"https://api.github.com/repos/citra-emu/citra/pulls/comments{/number}","comments_url":"https://api.github.com/repos/citra-emu/citra/issues/4341/comments","statuses_url":"https://api.github.com/repos/citra-emu/citra/statuses/29615ba18c50c8804dfbe894c3ea7826088fc000","head":{"label":"wwylele:kernel-global","ref":"kernel-global","sha":"29615ba18c50c8804dfbe894c3ea7826088fc000","user":{"login":"wwylele","id":4592895,"node_id":"MDQ6VXNlcjQ1OTI4OTU=","avatar_url":"https://avatars0.githubusercontent.com/u/4592895?v=4","gravatar_id":"","url":"https://api.github.com/users/wwylele","html_url":"https://github.com/wwylele","followers_url":"https://api.github.com/users/wwylele/followers","following_url":"https://api.github.com/users/wwylele/following{/other_user}","gists_url":"https://api.github.com/users/wwylele/gists{/gist_id}","starred_url":"https://api.github.com/users/wwylele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wwylele/subscriptions","organizations_url":"https://api.github.com/users/wwylele/orgs","repos_url":"https://api.github.com/users/wwylele/repos","events_url":"https://api.github.com/users/wwylele/events{/privacy}","received_events_url":"https://api.github.com/users/wwylele/received_events","type":"User","site_admin":false},"repo":{"id":53776373,"node_id":"MDEwOlJlcG9zaXRvcnk1Mzc3NjM3Mw==","name":"citra","full_name":"wwylele/citra","private":false,"owner":{"login":"wwylele","id":4592895,"node_id":"MDQ6VXNlcjQ1OTI4OTU=","avatar_url":"https://avatars0.githubusercontent.com/u/4592895?v=4","gravatar_id":"","url":"https://api.github.com/users/wwylele","html_url":"https://github.com/wwylele","followers_url":"https://api.github.com/users/wwylele/followers","following_url":"https://api.github.com/users/wwylele/following{/other_user}","gists_url":"https://api.github.com/users/wwylele/gists{/gist_id}","starred_url":"https://api.github.com/users/wwylele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wwylele/subscriptions","organizations_url":"https://api.github.com/users/wwylele/orgs","repos_url":"https://api.github.com/users/wwylele/repos","events_url":"https://api.github.com/users/wwylele/events{/privacy}","received_events_url":"https://api.github.com/users/wwylele/received_events","type":"User","site_admin":false},"html_url":"https://github.com/wwylele/citra","description":"This is my staging area for PR to the official citra repo. Feel free to review and comment on those PR drafts, or to take over PRs labeled \"suspend\". Don't open PR to this repo.","fork":true,"url":"https://api.github.com/repos/wwylele/citra","forks_url":"https://api.github.com/repos/wwylele/citra/forks","keys_url":"https://api.github.com/repos/wwylele/citra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wwylele/citra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wwylele/citra/teams","hooks_url":"https://api.github.com/repos/wwylele/citra/hooks","issue_events_url":"https://api.github.com/repos/wwylele/citra/issues/events{/number}","events_url":"https://api.github.com/repos/wwylele/citra/events","assignees_url":"https://api.github.com/repos/wwylele/citra/assignees{/user}","branches_url":"https://api.github.com/repos/wwylele/citra/branches{/branch}","tags_url":"https://api.github.com/repos/wwylele/citra/tags","blobs_url":"https://api.github.com/repos/wwylele/citra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wwylele/citra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wwylele/citra/git/refs{/sha}","trees_url":"https://api.github.com/repos/wwylele/citra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wwylele/citra/statuses/{sha}","languages_url":"https://api.github.com/repos/wwylele/citra/languages","stargazers_url":"https://api.github.com/repos/wwylele/citra/stargazers","contributors_url":"https://api.github.com/repos/wwylele/citra/contributors","subscribers_url":"https://api.github.com/repos/wwylele/citra/subscribers","subscription_url":"https://api.github.com/repos/wwylele/citra/subscription","commits_url":"https://api.github.com/repos/wwylele/citra/commits{/sha}","git_commits_url":"https://api.github.com/repos/wwylele/citra/git/commits{/sha}","comments_url":"https://api.github.com/repos/wwylele/citra/comments{/number}","issue_comment_url":"https://api.github.com/repos/wwylele/citra/issues/comments{/number}","contents_url":"https://api.github.com/repos/wwylele/citra/contents/{+path}","compare_url":"https://api.github.com/repos/wwylele/citra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wwylele/citra/merges","archive_url":"https://api.github.com/repos/wwylele/citra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wwylele/citra/downloads","issues_url":"https://api.github.com/repos/wwylele/citra/issues{/number}","pulls_url":"https://api.github.com/repos/wwylele/citra/pulls{/number}","milestones_url":"https://api.github.com/repos/wwylele/citra/milestones{/number}","notifications_url":"https://api.github.com/repos/wwylele/citra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wwylele/citra/labels{/name}","releases_url":"https://api.github.com/repos/wwylele/citra/releases{/id}","deployments_url":"https://api.github.com/repos/wwylele/citra/deployments","created_at":"2016-03-13T09:09:07Z","updated_at":"2018-10-15T18:21:01Z","pushed_at":"2018-10-15T18:51:55Z","git_url":"git://github.com/wwylele/citra.git","ssh_url":"git@github.com:wwylele/citra.git","clone_url":"https://github.com/wwylele/citra.git","svn_url":"https://github.com/wwylele/citra","homepage":"https://citra-emu.org","size":26241,"stargazers_count":9,"watchers_count":9,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":6,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0","node_id":"MDc6TGljZW5zZTg="},"forks":4,"open_issues":6,"watchers":9,"default_branch":"master"}},"base":{"label":"citra-emu:master","ref":"master","sha":"b01b94d843c278d4105dcde07863bed012cbafbb","user":{"login":"citra-emu","id":7605670,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc2MDU2NzA=","avatar_url":"https://avatars1.githubusercontent.com/u/7605670?v=4","gravatar_id":"","url":"https://api.github.com/users/citra-emu","html_url":"https://github.com/citra-emu","followers_url":"https://api.github.com/users/citra-emu/followers","following_url":"https://api.github.com/users/citra-emu/following{/other_user}","gists_url":"https://api.github.com/users/citra-emu/gists{/gist_id}","starred_url":"https://api.github.com/users/citra-emu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/citra-emu/subscriptions","organizations_url":"https://api.github.com/users/citra-emu/orgs","repos_url":"https://api.github.com/users/citra-emu/repos","events_url":"https://api.github.com/users/citra-emu/events{/privacy}","received_events_url":"https://api.github.com/users/citra-emu/received_events","type":"Organization","site_admin":false},"repo":{"id":19866730,"node_id":"MDEwOlJlcG9zaXRvcnkxOTg2NjczMA==","name":"citra","full_name":"citra-emu/citra","private":false,"owner":{"login":"citra-emu","id":7605670,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc2MDU2NzA=","avatar_url":"https://avatars1.githubusercontent.com/u/7605670?v=4","gravatar_id":"","url":"https://api.github.com/users/citra-emu","html_url":"https://github.com/citra-emu","followers_url":"https://api.github.com/users/citra-emu/followers","following_url":"https://api.github.com/users/citra-emu/following{/other_user}","gists_url":"https://api.github.com/users/citra-emu/gists{/gist_id}","starred_url":"https://api.github.com/users/citra-emu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/citra-emu/subscriptions","organizations_url":"https://api.github.com/users/citra-emu/orgs","repos_url":"https://api.github.com/users/citra-emu/repos","events_url":"https://api.github.com/users/citra-emu/events{/privacy}","received_events_url":"https://api.github.com/users/citra-emu/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/citra-emu/citra","description":"A Nintendo 3DS Emulator","fork":false,"url":"https://api.github.com/repos/citra-emu/citra","forks_url":"https://api.github.com/repos/citra-emu/citra/forks","keys_url":"https://api.github.com/repos/citra-emu/citra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/citra-emu/citra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/citra-emu/citra/teams","hooks_url":"https://api.github.com/repos/citra-emu/citra/hooks","issue_events_url":"https://api.github.com/repos/citra-emu/citra/issues/events{/number}","events_url":"https://api.github.com/repos/citra-emu/citra/events","assignees_url":"https://api.github.com/repos/citra-emu/citra/assignees{/user}","branches_url":"https://api.github.com/repos/citra-emu/citra/branches{/branch}","tags_url":"https://api.github.com/repos/citra-emu/citra/tags","blobs_url":"https://api.github.com/repos/citra-emu/citra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/citra-emu/citra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/citra-emu/citra/git/refs{/sha}","trees_url":"https://api.github.com/repos/citra-emu/citra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/citra-emu/citra/statuses/{sha}","languages_url":"https://api.github.com/repos/citra-emu/citra/languages","stargazers_url":"https://api.github.com/repos/citra-emu/citra/stargazers","contributors_url":"https://api.github.com/repos/citra-emu/citra/contributors","subscribers_url":"https://api.github.com/repos/citra-emu/citra/subscribers","subscription_url":"https://api.github.com/repos/citra-emu/citra/subscription","commits_url":"https://api.github.com/repos/citra-emu/citra/commits{/sha}","git_commits_url":"https://api.github.com/repos/citra-emu/citra/git/commits{/sha}","comments_url":"https://api.github.com/repos/citra-emu/citra/comments{/number}","issue_comment_url":"https://api.github.com/repos/citra-emu/citra/issues/comments{/number}","contents_url":"https://api.github.com/repos/citra-emu/citra/contents/{+path}","compare_url":"https://api.github.com/repos/citra-emu/citra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/citra-emu/citra/merges","archive_url":"https://api.github.com/repos/citra-emu/citra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/citra-emu/citra/downloads","issues_url":"https://api.github.com/repos/citra-emu/citra/issues{/number}","pulls_url":"https://api.github.com/repos/citra-emu/citra/pulls{/number}","milestones_url":"https://api.github.com/repos/citra-emu/citra/milestones{/number}","notifications_url":"https://api.github.com/repos/citra-emu/citra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/citra-emu/citra/labels{/name}","releases_url":"https://api.github.com/repos/citra-emu/citra/releases{/id}","deployments_url":"https://api.github.com/repos/citra-emu/citra/deployments","created_at":"2014-05-16T18:33:15Z","updated_at":"2018-10-15T18:33:28Z","pushed_at":"2018-10-15T19:07:00Z","git_url":"git://github.com/citra-emu/citra.git","ssh_url":"git@github.com:citra-emu/citra.git","clone_url":"https://github.com/citra-emu/citra.git","svn_url":"https://github.com/citra-emu/citra","homepage":"https://citra-emu.org","size":40417,"stargazers_count":4348,"watchers_count":4348,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":983,"mirror_url":null,"archived":false,"open_issues_count":396,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0","node_id":"MDc6TGljZW5zZTg="},"forks":983,"open_issues":396,"watchers":4348,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/4341"},"html":{"href":"https://github.com/citra-emu/citra/pull/4341"},"issue":{"href":"https://api.github.com/repos/citra-emu/citra/issues/4341"},"comments":{"href":"https://api.github.com/repos/citra-emu/citra/issues/4341/comments"},"review_comments":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/4341/comments"},"review_comment":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/4341/commits"},"statuses":{"href":"https://api.github.com/repos/citra-emu/citra/statuses/29615ba18c50c8804dfbe894c3ea7826088fc000"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"wwylele"}}