{"action":"created","comment":{"url":"https://api.github.com/repos/eclipse/omr/pulls/comments/220740418","pull_request_review_id":159219828,"id":220740418,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyMDc0MDQxOA==","diff_hunk":"@@ -386,7 +386,40 @@ class OMR_EXTENSIBLE CodeGenerator\n \n    TR_HasRandomGenerator randomizer;\n \n-   bool supportsAtomicAdd() {return false;}\n+   /** \\brief\n+    *     Determines whether intrinsics on the following atomic symbols is supported:\n+    *\n+    *     - atomicAdd32BitSymbol\n+    *     - atomicAdd64BitSymbol\n+    *     - atomicFetchAndAdd32BitSymbol\n+    *     - atomicFetchAndAdd64BitSymbol\n+    *\n+    *  \\return\n+    *     \\c true if intrinsics are supported; \\c false otherwise.\n+    */\n+   bool supportsAtomicAdd()\n+      {\n+      return false;\n+      }\n+\n+   /** \\brief\n+    *     Determines whether intrinsics on the following atomic symbols is supported:\n+    *\n+    *     - atomicSwap32BitSymbol\n+    *     - atomicSwap64BitSymbol\n+    *     - atomicCompareAndSwap32BitSymbol\n+    *     - atomicCompareAndSwap64BitSymbol\n+    *     - atomicCompareAndSwapReturnValue32BitSymbol\n+    *     - atomicCompareAndSwapReturnValue64BitSymbol\n+    *\n+    *  \\return\n+    *     \\c true if intrinsics are supported; \\c false otherwise.\n+    */\n+   bool supportsAtomicSwap()","path":"compiler/codegen/OMRCodeGenerator.hpp","position":34,"original_position":34,"commit_id":"f7f9547526f66f94a348162ec49115912ff61080","original_commit_id":"f7f9547526f66f94a348162ec49115912ff61080","user":{"login":"0dvictor","id":14084856,"node_id":"MDQ6VXNlcjE0MDg0ODU2","avatar_url":"https://avatars3.githubusercontent.com/u/14084856?v=4","gravatar_id":"","url":"https://api.github.com/users/0dvictor","html_url":"https://github.com/0dvictor","followers_url":"https://api.github.com/users/0dvictor/followers","following_url":"https://api.github.com/users/0dvictor/following{/other_user}","gists_url":"https://api.github.com/users/0dvictor/gists{/gist_id}","starred_url":"https://api.github.com/users/0dvictor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0dvictor/subscriptions","organizations_url":"https://api.github.com/users/0dvictor/orgs","repos_url":"https://api.github.com/users/0dvictor/repos","events_url":"https://api.github.com/users/0dvictor/events{/privacy}","received_events_url":"https://api.github.com/users/0dvictor/received_events","type":"User","site_admin":false},"body":"Similar to above, hardware support for \"atomic swap\" and \"atomic compare and swap\" varies, so that codegen may not support both.\r\nIn addition, \"atomic swap\" and \"atomic compare and swap\" are conceptional different as the later one is a conditional operation while the other isn't.\r\nIf we believe a generic query for each symbol isn't necessary, I would still request to separate the queries for \"atomic swap\" and \"atomic compare and swap\".\r\n","created_at":"2018-09-26T22:15:18Z","updated_at":"2018-09-26T22:15:18Z","html_url":"https://github.com/eclipse/omr/pull/2999#discussion_r220740418","pull_request_url":"https://api.github.com/repos/eclipse/omr/pulls/2999","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/eclipse/omr/pulls/comments/220740418"},"html":{"href":"https://github.com/eclipse/omr/pull/2999#discussion_r220740418"},"pull_request":{"href":"https://api.github.com/repos/eclipse/omr/pulls/2999"}}},"pull_request":{"url":"https://api.github.com/repos/eclipse/omr/pulls/2999","id":218465390,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE4NDY1Mzkw","html_url":"https://github.com/eclipse/omr/pull/2999","diff_url":"https://github.com/eclipse/omr/pull/2999.diff","patch_url":"https://github.com/eclipse/omr/pull/2999.patch","issue_url":"https://api.github.com/repos/eclipse/omr/issues/2999","number":2999,"state":"open","locked":false,"title":"Implement atomic add and swap codegen support for Z","user":{"login":"fjeremic","id":16259104,"node_id":"MDQ6VXNlcjE2MjU5MTA0","avatar_url":"https://avatars1.githubusercontent.com/u/16259104?v=4","gravatar_id":"","url":"https://api.github.com/users/fjeremic","html_url":"https://github.com/fjeremic","followers_url":"https://api.github.com/users/fjeremic/followers","following_url":"https://api.github.com/users/fjeremic/following{/other_user}","gists_url":"https://api.github.com/users/fjeremic/gists{/gist_id}","starred_url":"https://api.github.com/users/fjeremic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fjeremic/subscriptions","organizations_url":"https://api.github.com/users/fjeremic/orgs","repos_url":"https://api.github.com/users/fjeremic/repos","events_url":"https://api.github.com/users/fjeremic/events{/privacy}","received_events_url":"https://api.github.com/users/fjeremic/received_events","type":"User","site_admin":false},"body":"In support of #2958 we implement the existing intrinsics for Z. Another follow-up PR will address the new intrinsics which are proposed in #2174.\r\n\r\n- Implement Z codegen support for several atomic symbols\r\n- Document atomic symbol semantics\r\n- Document supportsAtomicAdd and introduce supportsAtomicSwap \r\n\r\nIssue: #2958\r\n\r\nSigned-off-by: Filip Jeremic <fjeremic@ca.ibm.com>","created_at":"2018-09-26T21:48:45Z","updated_at":"2018-09-26T22:15:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6be45b21fa6c52de1c5b366ece42a97a254207e6","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":463261830,"node_id":"MDU6TGFiZWw0NjMyNjE4MzA=","url":"https://api.github.com/repos/eclipse/omr/labels/compiler","name":"compiler","color":"00d73d","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/eclipse/omr/pulls/2999/commits","review_comments_url":"https://api.github.com/repos/eclipse/omr/pulls/2999/comments","review_comment_url":"https://api.github.com/repos/eclipse/omr/pulls/comments{/number}","comments_url":"https://api.github.com/repos/eclipse/omr/issues/2999/comments","statuses_url":"https://api.github.com/repos/eclipse/omr/statuses/f7f9547526f66f94a348162ec49115912ff61080","head":{"label":"fjeremic:atomic-codegen-support","ref":"atomic-codegen-support","sha":"f7f9547526f66f94a348162ec49115912ff61080","user":{"login":"fjeremic","id":16259104,"node_id":"MDQ6VXNlcjE2MjU5MTA0","avatar_url":"https://avatars1.githubusercontent.com/u/16259104?v=4","gravatar_id":"","url":"https://api.github.com/users/fjeremic","html_url":"https://github.com/fjeremic","followers_url":"https://api.github.com/users/fjeremic/followers","following_url":"https://api.github.com/users/fjeremic/following{/other_user}","gists_url":"https://api.github.com/users/fjeremic/gists{/gist_id}","starred_url":"https://api.github.com/users/fjeremic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fjeremic/subscriptions","organizations_url":"https://api.github.com/users/fjeremic/orgs","repos_url":"https://api.github.com/users/fjeremic/repos","events_url":"https://api.github.com/users/fjeremic/events{/privacy}","received_events_url":"https://api.github.com/users/fjeremic/received_events","type":"User","site_admin":false},"repo":{"id":68636127,"node_id":"MDEwOlJlcG9zaXRvcnk2ODYzNjEyNw==","name":"omr","full_name":"fjeremic/omr","private":false,"owner":{"login":"fjeremic","id":16259104,"node_id":"MDQ6VXNlcjE2MjU5MTA0","avatar_url":"https://avatars1.githubusercontent.com/u/16259104?v=4","gravatar_id":"","url":"https://api.github.com/users/fjeremic","html_url":"https://github.com/fjeremic","followers_url":"https://api.github.com/users/fjeremic/followers","following_url":"https://api.github.com/users/fjeremic/following{/other_user}","gists_url":"https://api.github.com/users/fjeremic/gists{/gist_id}","starred_url":"https://api.github.com/users/fjeremic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fjeremic/subscriptions","organizations_url":"https://api.github.com/users/fjeremic/orgs","repos_url":"https://api.github.com/users/fjeremic/repos","events_url":"https://api.github.com/users/fjeremic/events{/privacy}","received_events_url":"https://api.github.com/users/fjeremic/received_events","type":"User","site_admin":false},"html_url":"https://github.com/fjeremic/omr","description":"Cross platform components for building reliable, high performance language runtimes","fork":true,"url":"https://api.github.com/repos/fjeremic/omr","forks_url":"https://api.github.com/repos/fjeremic/omr/forks","keys_url":"https://api.github.com/repos/fjeremic/omr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fjeremic/omr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fjeremic/omr/teams","hooks_url":"https://api.github.com/repos/fjeremic/omr/hooks","issue_events_url":"https://api.github.com/repos/fjeremic/omr/issues/events{/number}","events_url":"https://api.github.com/repos/fjeremic/omr/events","assignees_url":"https://api.github.com/repos/fjeremic/omr/assignees{/user}","branches_url":"https://api.github.com/repos/fjeremic/omr/branches{/branch}","tags_url":"https://api.github.com/repos/fjeremic/omr/tags","blobs_url":"https://api.github.com/repos/fjeremic/omr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fjeremic/omr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fjeremic/omr/git/refs{/sha}","trees_url":"https://api.github.com/repos/fjeremic/omr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fjeremic/omr/statuses/{sha}","languages_url":"https://api.github.com/repos/fjeremic/omr/languages","stargazers_url":"https://api.github.com/repos/fjeremic/omr/stargazers","contributors_url":"https://api.github.com/repos/fjeremic/omr/contributors","subscribers_url":"https://api.github.com/repos/fjeremic/omr/subscribers","subscription_url":"https://api.github.com/repos/fjeremic/omr/subscription","commits_url":"https://api.github.com/repos/fjeremic/omr/commits{/sha}","git_commits_url":"https://api.github.com/repos/fjeremic/omr/git/commits{/sha}","comments_url":"https://api.github.com/repos/fjeremic/omr/comments{/number}","issue_comment_url":"https://api.github.com/repos/fjeremic/omr/issues/comments{/number}","contents_url":"https://api.github.com/repos/fjeremic/omr/contents/{+path}","compare_url":"https://api.github.com/repos/fjeremic/omr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fjeremic/omr/merges","archive_url":"https://api.github.com/repos/fjeremic/omr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fjeremic/omr/downloads","issues_url":"https://api.github.com/repos/fjeremic/omr/issues{/number}","pulls_url":"https://api.github.com/repos/fjeremic/omr/pulls{/number}","milestones_url":"https://api.github.com/repos/fjeremic/omr/milestones{/number}","notifications_url":"https://api.github.com/repos/fjeremic/omr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fjeremic/omr/labels{/name}","releases_url":"https://api.github.com/repos/fjeremic/omr/releases{/id}","deployments_url":"https://api.github.com/repos/fjeremic/omr/deployments","created_at":"2016-09-19T18:53:42Z","updated_at":"2018-07-06T16:29:57Z","pushed_at":"2018-09-26T21:33:17Z","git_url":"git://github.com/fjeremic/omr.git","ssh_url":"git@github.com:fjeremic/omr.git","clone_url":"https://github.com/fjeremic/omr.git","svn_url":"https://github.com/fjeremic/omr","homepage":"","size":27869,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"eclipse:master","ref":"master","sha":"40babba26f69e0d4baf21fd08f2dde33656e8756","user":{"login":"eclipse","id":56974,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2OTc0","avatar_url":"https://avatars1.githubusercontent.com/u/56974?v=4","gravatar_id":"","url":"https://api.github.com/users/eclipse","html_url":"https://github.com/eclipse","followers_url":"https://api.github.com/users/eclipse/followers","following_url":"https://api.github.com/users/eclipse/following{/other_user}","gists_url":"https://api.github.com/users/eclipse/gists{/gist_id}","starred_url":"https://api.github.com/users/eclipse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eclipse/subscriptions","organizations_url":"https://api.github.com/users/eclipse/orgs","repos_url":"https://api.github.com/users/eclipse/repos","events_url":"https://api.github.com/users/eclipse/events{/privacy}","received_events_url":"https://api.github.com/users/eclipse/received_events","type":"Organization","site_admin":false},"repo":{"id":53077478,"node_id":"MDEwOlJlcG9zaXRvcnk1MzA3NzQ3OA==","name":"omr","full_name":"eclipse/omr","private":false,"owner":{"login":"eclipse","id":56974,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2OTc0","avatar_url":"https://avatars1.githubusercontent.com/u/56974?v=4","gravatar_id":"","url":"https://api.github.com/users/eclipse","html_url":"https://github.com/eclipse","followers_url":"https://api.github.com/users/eclipse/followers","following_url":"https://api.github.com/users/eclipse/following{/other_user}","gists_url":"https://api.github.com/users/eclipse/gists{/gist_id}","starred_url":"https://api.github.com/users/eclipse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eclipse/subscriptions","organizations_url":"https://api.github.com/users/eclipse/orgs","repos_url":"https://api.github.com/users/eclipse/repos","events_url":"https://api.github.com/users/eclipse/events{/privacy}","received_events_url":"https://api.github.com/users/eclipse/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/eclipse/omr","description":"Eclipse OMR™ Cross platform components for building reliable, high performance language runtimes","fork":false,"url":"https://api.github.com/repos/eclipse/omr","forks_url":"https://api.github.com/repos/eclipse/omr/forks","keys_url":"https://api.github.com/repos/eclipse/omr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/eclipse/omr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/eclipse/omr/teams","hooks_url":"https://api.github.com/repos/eclipse/omr/hooks","issue_events_url":"https://api.github.com/repos/eclipse/omr/issues/events{/number}","events_url":"https://api.github.com/repos/eclipse/omr/events","assignees_url":"https://api.github.com/repos/eclipse/omr/assignees{/user}","branches_url":"https://api.github.com/repos/eclipse/omr/branches{/branch}","tags_url":"https://api.github.com/repos/eclipse/omr/tags","blobs_url":"https://api.github.com/repos/eclipse/omr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/eclipse/omr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/eclipse/omr/git/refs{/sha}","trees_url":"https://api.github.com/repos/eclipse/omr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/eclipse/omr/statuses/{sha}","languages_url":"https://api.github.com/repos/eclipse/omr/languages","stargazers_url":"https://api.github.com/repos/eclipse/omr/stargazers","contributors_url":"https://api.github.com/repos/eclipse/omr/contributors","subscribers_url":"https://api.github.com/repos/eclipse/omr/subscribers","subscription_url":"https://api.github.com/repos/eclipse/omr/subscription","commits_url":"https://api.github.com/repos/eclipse/omr/commits{/sha}","git_commits_url":"https://api.github.com/repos/eclipse/omr/git/commits{/sha}","comments_url":"https://api.github.com/repos/eclipse/omr/comments{/number}","issue_comment_url":"https://api.github.com/repos/eclipse/omr/issues/comments{/number}","contents_url":"https://api.github.com/repos/eclipse/omr/contents/{+path}","compare_url":"https://api.github.com/repos/eclipse/omr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/eclipse/omr/merges","archive_url":"https://api.github.com/repos/eclipse/omr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/eclipse/omr/downloads","issues_url":"https://api.github.com/repos/eclipse/omr/issues{/number}","pulls_url":"https://api.github.com/repos/eclipse/omr/pulls{/number}","milestones_url":"https://api.github.com/repos/eclipse/omr/milestones{/number}","notifications_url":"https://api.github.com/repos/eclipse/omr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/eclipse/omr/labels{/name}","releases_url":"https://api.github.com/repos/eclipse/omr/releases{/id}","deployments_url":"https://api.github.com/repos/eclipse/omr/deployments","created_at":"2016-03-03T19:34:17Z","updated_at":"2018-09-26T20:25:49Z","pushed_at":"2018-09-26T21:50:27Z","git_url":"git://github.com/eclipse/omr.git","ssh_url":"git@github.com:eclipse/omr.git","clone_url":"https://github.com/eclipse/omr.git","svn_url":"https://github.com/eclipse/omr","homepage":"http://www.eclipse.org/omr","size":27813,"stargazers_count":567,"watchers_count":567,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":229,"mirror_url":null,"archived":false,"open_issues_count":487,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":229,"open_issues":487,"watchers":567,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/eclipse/omr/pulls/2999"},"html":{"href":"https://github.com/eclipse/omr/pull/2999"},"issue":{"href":"https://api.github.com/repos/eclipse/omr/issues/2999"},"comments":{"href":"https://api.github.com/repos/eclipse/omr/issues/2999/comments"},"review_comments":{"href":"https://api.github.com/repos/eclipse/omr/pulls/2999/comments"},"review_comment":{"href":"https://api.github.com/repos/eclipse/omr/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/eclipse/omr/pulls/2999/commits"},"statuses":{"href":"https://api.github.com/repos/eclipse/omr/statuses/f7f9547526f66f94a348162ec49115912ff61080"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"0dvictor"}}