{"action":"created","comment":{"url":"https://api.github.com/repos/eclipse/openj9/pulls/comments/201805434","pull_request_review_id":136379406,"id":201805434,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMTgwNTQzNA==","diff_hunk":"@@ -1643,7 +1643,9 @@ TR_BlockFrequencyInfo::TR_BlockFrequencyInfo(TR_CallSiteInfo *callSiteInfo, int3\n    _blocks(blocks),\n    _frequencies(frequencies),\n    _counterDerivationInfo(NULL),\n-   _entryBlockNumber(-1)\n+   _entryBlockNumber(-1),\n+   _isQueuedForRecompilation(0),\n+   _isQueuedForRecompilationSymRef(NULL)","path":"runtime/compiler/runtime/J9Profiler.cpp","position":null,"original_position":14,"commit_id":"42b3027ce7646151036f0700b8d9ce9e90f40197","original_commit_id":"9fd1c6e8d3afdb7d288df64575aa408679263cdc","user":{"login":"r30shah","id":22353051,"node_id":"MDQ6VXNlcjIyMzUzMDUx","avatar_url":"https://avatars2.githubusercontent.com/u/22353051?v=4","gravatar_id":"","url":"https://api.github.com/users/r30shah","html_url":"https://github.com/r30shah","followers_url":"https://api.github.com/users/r30shah/followers","following_url":"https://api.github.com/users/r30shah/following{/other_user}","gists_url":"https://api.github.com/users/r30shah/gists{/gist_id}","starred_url":"https://api.github.com/users/r30shah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r30shah/subscriptions","organizations_url":"https://api.github.com/users/r30shah/orgs","repos_url":"https://api.github.com/users/r30shah/repos","events_url":"https://api.github.com/users/r30shah/events{/privacy}","received_events_url":"https://api.github.com/users/r30shah/received_events","type":"User","site_admin":false},"body":"Removed SymRef : https://github.com/eclipse/openj9/pull/2346/commits/42b3027ce7646151036f0700b8d9ce9e90f40197\r\n","created_at":"2018-07-11T18:59:10Z","updated_at":"2018-07-11T18:59:10Z","html_url":"https://github.com/eclipse/openj9/pull/2346#discussion_r201805434","pull_request_url":"https://api.github.com/repos/eclipse/openj9/pulls/2346","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/eclipse/openj9/pulls/comments/201805434"},"html":{"href":"https://github.com/eclipse/openj9/pull/2346#discussion_r201805434"},"pull_request":{"href":"https://api.github.com/repos/eclipse/openj9/pulls/2346"}},"in_reply_to_id":201346242},"pull_request":{"url":"https://api.github.com/repos/eclipse/openj9/pulls/2346","id":199866424,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk5ODY2NDI0","html_url":"https://github.com/eclipse/openj9/pull/2346","diff_url":"https://github.com/eclipse/openj9/pull/2346.diff","patch_url":"https://github.com/eclipse/openj9/pull/2346.patch","issue_url":"https://api.github.com/repos/eclipse/openj9/issues/2346","number":2346,"state":"open","locked":false,"title":"WIP: Improve jProfiling value sequence trees","user":{"login":"r30shah","id":22353051,"node_id":"MDQ6VXNlcjIyMzUzMDUx","avatar_url":"https://avatars2.githubusercontent.com/u/22353051?v=4","gravatar_id":"","url":"https://api.github.com/users/r30shah","html_url":"https://github.com/r30shah","followers_url":"https://api.github.com/users/r30shah/followers","following_url":"https://api.github.com/users/r30shah/following{/other_user}","gists_url":"https://api.github.com/users/r30shah/gists{/gist_id}","starred_url":"https://api.github.com/users/r30shah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r30shah/subscriptions","organizations_url":"https://api.github.com/users/r30shah/orgs","repos_url":"https://api.github.com/users/r30shah/repos","events_url":"https://api.github.com/users/r30shah/events{/privacy}","received_events_url":"https://api.github.com/users/r30shah/received_events","type":"User","site_admin":false},"body":"This pull request consists following changes for the jProfiling.\r\n1. Improve jPropfiling Value Sequence \r\nIn compilations which use jProfiling, for each value we decide to profile, we generate a code that does the following.\r\n```\r\nif ( value == table.keys[hash(value)])\r\n   ++freqs[hash(value)];\r\nelse if ( table.otherIndex >= 0 )\r\n   ++freqs[otherIndex];\r\nelse\r\n   call _jProfile(32/64)BitValue\r\n```\r\nIn summary we first check if the value exists in hash table and if exists we increase corresponding frequency counter. In cases when value does not exist in the hash table, we need to check if we can acquire lock on table and add new value to it, other wise we need to increase other frequency. This commit optimizes above sequence by using ternary select operation to decide which frequency counter (hash(value) or otherIndex) we need to increment.\r\n\r\nWith this change, we now only have three blocks per value we profile instead of six. Also in case of profiling VFT pointer, we used to check if the object whose J9Class we are profilig is NULL or not and in case it is NULL, to avoid dereferencing NULL in profiling code we used to generate a fallBack value block. There is no need to generate this as we can simply skip the profiling code if object whose J9Class pointer we are profiling is NULL.\r\n\r\n2. If method is queued for recompilation, we do not need to run the profiling code. This commit adds a check around the profiling code to check if method has been queued for recompilation and skips the profiling code.\r\n\r\n\r\n","created_at":"2018-07-06T23:28:58Z","updated_at":"2018-07-11T18:59:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b4bf4fc4f1f0b45586fc989ee76cefb1f97f1192","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":697962585,"node_id":"MDU6TGFiZWw2OTc5NjI1ODU=","url":"https://api.github.com/repos/eclipse/openj9/labels/comp:jit","name":"comp:jit","color":"1d76db","default":false},{"id":709763910,"node_id":"MDU6TGFiZWw3MDk3NjM5MTA=","url":"https://api.github.com/repos/eclipse/openj9/labels/depends:omr","name":"depends:omr","color":"d4c5f9","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/eclipse/openj9/pulls/2346/commits","review_comments_url":"https://api.github.com/repos/eclipse/openj9/pulls/2346/comments","review_comment_url":"https://api.github.com/repos/eclipse/openj9/pulls/comments{/number}","comments_url":"https://api.github.com/repos/eclipse/openj9/issues/2346/comments","statuses_url":"https://api.github.com/repos/eclipse/openj9/statuses/42b3027ce7646151036f0700b8d9ce9e90f40197","head":{"label":"r30shah:improveJProfilingValueSequenceTrees","ref":"improveJProfilingValueSequenceTrees","sha":"42b3027ce7646151036f0700b8d9ce9e90f40197","user":{"login":"r30shah","id":22353051,"node_id":"MDQ6VXNlcjIyMzUzMDUx","avatar_url":"https://avatars2.githubusercontent.com/u/22353051?v=4","gravatar_id":"","url":"https://api.github.com/users/r30shah","html_url":"https://github.com/r30shah","followers_url":"https://api.github.com/users/r30shah/followers","following_url":"https://api.github.com/users/r30shah/following{/other_user}","gists_url":"https://api.github.com/users/r30shah/gists{/gist_id}","starred_url":"https://api.github.com/users/r30shah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r30shah/subscriptions","organizations_url":"https://api.github.com/users/r30shah/orgs","repos_url":"https://api.github.com/users/r30shah/repos","events_url":"https://api.github.com/users/r30shah/events{/privacy}","received_events_url":"https://api.github.com/users/r30shah/received_events","type":"User","site_admin":false},"repo":{"id":103580106,"node_id":"MDEwOlJlcG9zaXRvcnkxMDM1ODAxMDY=","name":"openj9","full_name":"r30shah/openj9","owner":{"login":"r30shah","id":22353051,"node_id":"MDQ6VXNlcjIyMzUzMDUx","avatar_url":"https://avatars2.githubusercontent.com/u/22353051?v=4","gravatar_id":"","url":"https://api.github.com/users/r30shah","html_url":"https://github.com/r30shah","followers_url":"https://api.github.com/users/r30shah/followers","following_url":"https://api.github.com/users/r30shah/following{/other_user}","gists_url":"https://api.github.com/users/r30shah/gists{/gist_id}","starred_url":"https://api.github.com/users/r30shah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r30shah/subscriptions","organizations_url":"https://api.github.com/users/r30shah/orgs","repos_url":"https://api.github.com/users/r30shah/repos","events_url":"https://api.github.com/users/r30shah/events{/privacy}","received_events_url":"https://api.github.com/users/r30shah/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/r30shah/openj9","description":"OpenJ9","fork":true,"url":"https://api.github.com/repos/r30shah/openj9","forks_url":"https://api.github.com/repos/r30shah/openj9/forks","keys_url":"https://api.github.com/repos/r30shah/openj9/keys{/key_id}","collaborators_url":"https://api.github.com/repos/r30shah/openj9/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/r30shah/openj9/teams","hooks_url":"https://api.github.com/repos/r30shah/openj9/hooks","issue_events_url":"https://api.github.com/repos/r30shah/openj9/issues/events{/number}","events_url":"https://api.github.com/repos/r30shah/openj9/events","assignees_url":"https://api.github.com/repos/r30shah/openj9/assignees{/user}","branches_url":"https://api.github.com/repos/r30shah/openj9/branches{/branch}","tags_url":"https://api.github.com/repos/r30shah/openj9/tags","blobs_url":"https://api.github.com/repos/r30shah/openj9/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/r30shah/openj9/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/r30shah/openj9/git/refs{/sha}","trees_url":"https://api.github.com/repos/r30shah/openj9/git/trees{/sha}","statuses_url":"https://api.github.com/repos/r30shah/openj9/statuses/{sha}","languages_url":"https://api.github.com/repos/r30shah/openj9/languages","stargazers_url":"https://api.github.com/repos/r30shah/openj9/stargazers","contributors_url":"https://api.github.com/repos/r30shah/openj9/contributors","subscribers_url":"https://api.github.com/repos/r30shah/openj9/subscribers","subscription_url":"https://api.github.com/repos/r30shah/openj9/subscription","commits_url":"https://api.github.com/repos/r30shah/openj9/commits{/sha}","git_commits_url":"https://api.github.com/repos/r30shah/openj9/git/commits{/sha}","comments_url":"https://api.github.com/repos/r30shah/openj9/comments{/number}","issue_comment_url":"https://api.github.com/repos/r30shah/openj9/issues/comments{/number}","contents_url":"https://api.github.com/repos/r30shah/openj9/contents/{+path}","compare_url":"https://api.github.com/repos/r30shah/openj9/compare/{base}...{head}","merges_url":"https://api.github.com/repos/r30shah/openj9/merges","archive_url":"https://api.github.com/repos/r30shah/openj9/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/r30shah/openj9/downloads","issues_url":"https://api.github.com/repos/r30shah/openj9/issues{/number}","pulls_url":"https://api.github.com/repos/r30shah/openj9/pulls{/number}","milestones_url":"https://api.github.com/repos/r30shah/openj9/milestones{/number}","notifications_url":"https://api.github.com/repos/r30shah/openj9/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/r30shah/openj9/labels{/name}","releases_url":"https://api.github.com/repos/r30shah/openj9/releases{/id}","deployments_url":"https://api.github.com/repos/r30shah/openj9/deployments","created_at":"2017-09-14T20:48:18Z","updated_at":"2018-07-10T17:01:07Z","pushed_at":"2018-07-11T18:17:46Z","git_url":"git://github.com/r30shah/openj9.git","ssh_url":"git@github.com:r30shah/openj9.git","clone_url":"https://github.com/r30shah/openj9.git","svn_url":"https://github.com/r30shah/openj9","homepage":null,"size":32049,"stargazers_count":1,"watchers_count":1,"language":"Java","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":1,"default_branch":"master"}},"base":{"label":"eclipse:master","ref":"master","sha":"356a7cd1e6064d8862f7140a42c5b081dcfad07c","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":101408117,"node_id":"MDEwOlJlcG9zaXRvcnkxMDE0MDgxMTc=","name":"openj9","full_name":"eclipse/openj9","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},"private":false,"html_url":"https://github.com/eclipse/openj9","description":"Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput.   Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.","fork":false,"url":"https://api.github.com/repos/eclipse/openj9","forks_url":"https://api.github.com/repos/eclipse/openj9/forks","keys_url":"https://api.github.com/repos/eclipse/openj9/keys{/key_id}","collaborators_url":"https://api.github.com/repos/eclipse/openj9/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/eclipse/openj9/teams","hooks_url":"https://api.github.com/repos/eclipse/openj9/hooks","issue_events_url":"https://api.github.com/repos/eclipse/openj9/issues/events{/number}","events_url":"https://api.github.com/repos/eclipse/openj9/events","assignees_url":"https://api.github.com/repos/eclipse/openj9/assignees{/user}","branches_url":"https://api.github.com/repos/eclipse/openj9/branches{/branch}","tags_url":"https://api.github.com/repos/eclipse/openj9/tags","blobs_url":"https://api.github.com/repos/eclipse/openj9/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/eclipse/openj9/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/eclipse/openj9/git/refs{/sha}","trees_url":"https://api.github.com/repos/eclipse/openj9/git/trees{/sha}","statuses_url":"https://api.github.com/repos/eclipse/openj9/statuses/{sha}","languages_url":"https://api.github.com/repos/eclipse/openj9/languages","stargazers_url":"https://api.github.com/repos/eclipse/openj9/stargazers","contributors_url":"https://api.github.com/repos/eclipse/openj9/contributors","subscribers_url":"https://api.github.com/repos/eclipse/openj9/subscribers","subscription_url":"https://api.github.com/repos/eclipse/openj9/subscription","commits_url":"https://api.github.com/repos/eclipse/openj9/commits{/sha}","git_commits_url":"https://api.github.com/repos/eclipse/openj9/git/commits{/sha}","comments_url":"https://api.github.com/repos/eclipse/openj9/comments{/number}","issue_comment_url":"https://api.github.com/repos/eclipse/openj9/issues/comments{/number}","contents_url":"https://api.github.com/repos/eclipse/openj9/contents/{+path}","compare_url":"https://api.github.com/repos/eclipse/openj9/compare/{base}...{head}","merges_url":"https://api.github.com/repos/eclipse/openj9/merges","archive_url":"https://api.github.com/repos/eclipse/openj9/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/eclipse/openj9/downloads","issues_url":"https://api.github.com/repos/eclipse/openj9/issues{/number}","pulls_url":"https://api.github.com/repos/eclipse/openj9/pulls{/number}","milestones_url":"https://api.github.com/repos/eclipse/openj9/milestones{/number}","notifications_url":"https://api.github.com/repos/eclipse/openj9/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/eclipse/openj9/labels{/name}","releases_url":"https://api.github.com/repos/eclipse/openj9/releases{/id}","deployments_url":"https://api.github.com/repos/eclipse/openj9/deployments","created_at":"2017-08-25T13:46:07Z","updated_at":"2018-07-11T16:35:04Z","pushed_at":"2018-07-11T18:17:48Z","git_url":"git://github.com/eclipse/openj9.git","ssh_url":"git@github.com:eclipse/openj9.git","clone_url":"https://github.com/eclipse/openj9.git","svn_url":"https://github.com/eclipse/openj9","homepage":"","size":31941,"stargazers_count":1293,"watchers_count":1293,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":262,"mirror_url":null,"archived":false,"open_issues_count":413,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":262,"open_issues":413,"watchers":1293,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/eclipse/openj9/pulls/2346"},"html":{"href":"https://github.com/eclipse/openj9/pull/2346"},"issue":{"href":"https://api.github.com/repos/eclipse/openj9/issues/2346"},"comments":{"href":"https://api.github.com/repos/eclipse/openj9/issues/2346/comments"},"review_comments":{"href":"https://api.github.com/repos/eclipse/openj9/pulls/2346/comments"},"review_comment":{"href":"https://api.github.com/repos/eclipse/openj9/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/eclipse/openj9/pulls/2346/commits"},"statuses":{"href":"https://api.github.com/repos/eclipse/openj9/statuses/42b3027ce7646151036f0700b8d9ce9e90f40197"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"r30shah"}}