{"action":"created","comment":{"url":"https://api.github.com/repos/openssl/openssl/pulls/comments/65970582","id":65970582,"diff_hunk":"@@ -109,14 +112,16 @@\n \n { package opcode;\t# pick up opcodes\n     sub re {\n-\tmy\t$self = shift;\t# single instance in enough...\n-\tlocal\t*line = shift;\n-\tundef\t$ret;\n+\tmy\t$class = shift;\n+\tmy\t$self = {};\n+\tmy\t$line = shift;","path":"crypto/perlasm/x86_64-xlate.pl","position":19,"original_position":19,"commit_id":"4c087310d89cf32cc45304a51a2c4a63f817792e","original_commit_id":"4c087310d89cf32cc45304a51a2c4a63f817792e","user":{"login":"dot-asm","id":9038069,"avatar_url":"https://avatars.githubusercontent.com/u/9038069?v=3","gravatar_id":"","url":"https://api.github.com/users/dot-asm","html_url":"https://github.com/dot-asm","followers_url":"https://api.github.com/users/dot-asm/followers","following_url":"https://api.github.com/users/dot-asm/following{/other_user}","gists_url":"https://api.github.com/users/dot-asm/gists{/gist_id}","starred_url":"https://api.github.com/users/dot-asm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dot-asm/subscriptions","organizations_url":"https://api.github.com/users/dot-asm/orgs","repos_url":"https://api.github.com/users/dot-asm/repos","events_url":"https://api.github.com/users/dot-asm/events{/privacy}","received_events_url":"https://api.github.com/users/dot-asm/received_events","type":"User","site_admin":false},"body":"This applies to multiple cases...\r\n","created_at":"2016-06-06T21:15:27Z","updated_at":"2016-06-06T21:15:27Z","html_url":"https://github.com/openssl/openssl/pull/1165#discussion_r65970582","pull_request_url":"https://api.github.com/repos/openssl/openssl/pulls/1165","_links":{"self":{"href":"https://api.github.com/repos/openssl/openssl/pulls/comments/65970582"},"html":{"href":"https://github.com/openssl/openssl/pull/1165#discussion_r65970582"},"pull_request":{"href":"https://api.github.com/repos/openssl/openssl/pulls/1165"}}},"pull_request":{"url":"https://api.github.com/repos/openssl/openssl/pulls/1165","id":72606825,"html_url":"https://github.com/openssl/openssl/pull/1165","diff_url":"https://github.com/openssl/openssl/pull/1165.diff","patch_url":"https://github.com/openssl/openssl/pull/1165.patch","issue_url":"https://api.github.com/repos/openssl/openssl/issues/1165","number":1165,"state":"open","locked":false,"title":"Make x86_64-xlate.pl 'use strict' clean.","user":{"login":"davidben","id":109690,"avatar_url":"https://avatars.githubusercontent.com/u/109690?v=3","gravatar_id":"","url":"https://api.github.com/users/davidben","html_url":"https://github.com/davidben","followers_url":"https://api.github.com/users/davidben/followers","following_url":"https://api.github.com/users/davidben/following{/other_user}","gists_url":"https://api.github.com/users/davidben/gists{/gist_id}","starred_url":"https://api.github.com/users/davidben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidben/subscriptions","organizations_url":"https://api.github.com/users/davidben/orgs","repos_url":"https://api.github.com/users/davidben/repos","events_url":"https://api.github.com/users/davidben/events{/privacy}","received_events_url":"https://api.github.com/users/davidben/received_events","type":"User","site_admin":false},"body":"use strict would have caught a number of historical bugs in the perlasm\r\ncode, some in the repository and some found during review. It even found\r\na fresh masm-only bug (see below).\r\n\r\nThis required some tweaks. The \"single instance is enough\" globals got\r\nswitched to proper blessed objects rather than relying on symbolic refs.\r\nA few types need $opcode passed in as a result.\r\n\r\nThe $$line thing is a little bit of a nuisance. There may be a clearer\r\npattern to use instead.\r\n\r\nThis even a bug in the masm code.\r\n9b634c9b37afc482a8dc8868e367bdd1b650e507 added logic to make labels\r\nglobal or function-global based on whether something starts with a $,\r\nseemingly intended to capture the $decor setting of '$L$'. However, it\r\nreferences $ret which is not defined in label::out. label::out is always\r\ncalled after label::re, so $ret was always the label itself, so the line\r\nalways ran.\r\n\r\nI've removed the regular expression so as not to change the behavior of\r\nthe script. A number of the assembly files now routinely jump across\r\nfunctions, so this seems to be the desired behavior now.","created_at":"2016-06-04T16:42:21Z","updated_at":"2016-06-06T21:15:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"27ab6b655b4f84845c0a2554d5fa13567716fe20","assignee":null,"milestone":{"url":"https://api.github.com/repos/openssl/openssl/milestones/1","html_url":"https://github.com/openssl/openssl/milestones/1.1.0","labels_url":"https://api.github.com/repos/openssl/openssl/milestones/1/labels","id":1748232,"number":1,"title":"1.1.0","description":"","creator":{"login":"levitte","id":698918,"avatar_url":"https://avatars.githubusercontent.com/u/698918?v=3","gravatar_id":"","url":"https://api.github.com/users/levitte","html_url":"https://github.com/levitte","followers_url":"https://api.github.com/users/levitte/followers","following_url":"https://api.github.com/users/levitte/following{/other_user}","gists_url":"https://api.github.com/users/levitte/gists{/gist_id}","starred_url":"https://api.github.com/users/levitte/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/levitte/subscriptions","organizations_url":"https://api.github.com/users/levitte/orgs","repos_url":"https://api.github.com/users/levitte/repos","events_url":"https://api.github.com/users/levitte/events{/privacy}","received_events_url":"https://api.github.com/users/levitte/received_events","type":"User","site_admin":false},"open_issues":37,"closed_issues":88,"state":"open","created_at":"2016-05-04T17:53:39Z","updated_at":"2016-06-06T14:07:03Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/openssl/openssl/pulls/1165/commits","review_comments_url":"https://api.github.com/repos/openssl/openssl/pulls/1165/comments","review_comment_url":"https://api.github.com/repos/openssl/openssl/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openssl/openssl/issues/1165/comments","statuses_url":"https://api.github.com/repos/openssl/openssl/statuses/4c087310d89cf32cc45304a51a2c4a63f817792e","head":{"label":"davidben:use-strict","ref":"use-strict","sha":"4c087310d89cf32cc45304a51a2c4a63f817792e","user":{"login":"davidben","id":109690,"avatar_url":"https://avatars.githubusercontent.com/u/109690?v=3","gravatar_id":"","url":"https://api.github.com/users/davidben","html_url":"https://github.com/davidben","followers_url":"https://api.github.com/users/davidben/followers","following_url":"https://api.github.com/users/davidben/following{/other_user}","gists_url":"https://api.github.com/users/davidben/gists{/gist_id}","starred_url":"https://api.github.com/users/davidben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidben/subscriptions","organizations_url":"https://api.github.com/users/davidben/orgs","repos_url":"https://api.github.com/users/davidben/repos","events_url":"https://api.github.com/users/davidben/events{/privacy}","received_events_url":"https://api.github.com/users/davidben/received_events","type":"User","site_admin":false},"repo":{"id":57256842,"name":"openssl","full_name":"davidben/openssl","owner":{"login":"davidben","id":109690,"avatar_url":"https://avatars.githubusercontent.com/u/109690?v=3","gravatar_id":"","url":"https://api.github.com/users/davidben","html_url":"https://github.com/davidben","followers_url":"https://api.github.com/users/davidben/followers","following_url":"https://api.github.com/users/davidben/following{/other_user}","gists_url":"https://api.github.com/users/davidben/gists{/gist_id}","starred_url":"https://api.github.com/users/davidben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidben/subscriptions","organizations_url":"https://api.github.com/users/davidben/orgs","repos_url":"https://api.github.com/users/davidben/repos","events_url":"https://api.github.com/users/davidben/events{/privacy}","received_events_url":"https://api.github.com/users/davidben/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/davidben/openssl","description":"TLS/SSL and crypto library","fork":true,"url":"https://api.github.com/repos/davidben/openssl","forks_url":"https://api.github.com/repos/davidben/openssl/forks","keys_url":"https://api.github.com/repos/davidben/openssl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/davidben/openssl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/davidben/openssl/teams","hooks_url":"https://api.github.com/repos/davidben/openssl/hooks","issue_events_url":"https://api.github.com/repos/davidben/openssl/issues/events{/number}","events_url":"https://api.github.com/repos/davidben/openssl/events","assignees_url":"https://api.github.com/repos/davidben/openssl/assignees{/user}","branches_url":"https://api.github.com/repos/davidben/openssl/branches{/branch}","tags_url":"https://api.github.com/repos/davidben/openssl/tags","blobs_url":"https://api.github.com/repos/davidben/openssl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/davidben/openssl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/davidben/openssl/git/refs{/sha}","trees_url":"https://api.github.com/repos/davidben/openssl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/davidben/openssl/statuses/{sha}","languages_url":"https://api.github.com/repos/davidben/openssl/languages","stargazers_url":"https://api.github.com/repos/davidben/openssl/stargazers","contributors_url":"https://api.github.com/repos/davidben/openssl/contributors","subscribers_url":"https://api.github.com/repos/davidben/openssl/subscribers","subscription_url":"https://api.github.com/repos/davidben/openssl/subscription","commits_url":"https://api.github.com/repos/davidben/openssl/commits{/sha}","git_commits_url":"https://api.github.com/repos/davidben/openssl/git/commits{/sha}","comments_url":"https://api.github.com/repos/davidben/openssl/comments{/number}","issue_comment_url":"https://api.github.com/repos/davidben/openssl/issues/comments{/number}","contents_url":"https://api.github.com/repos/davidben/openssl/contents/{+path}","compare_url":"https://api.github.com/repos/davidben/openssl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/davidben/openssl/merges","archive_url":"https://api.github.com/repos/davidben/openssl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/davidben/openssl/downloads","issues_url":"https://api.github.com/repos/davidben/openssl/issues{/number}","pulls_url":"https://api.github.com/repos/davidben/openssl/pulls{/number}","milestones_url":"https://api.github.com/repos/davidben/openssl/milestones{/number}","notifications_url":"https://api.github.com/repos/davidben/openssl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/davidben/openssl/labels{/name}","releases_url":"https://api.github.com/repos/davidben/openssl/releases{/id}","deployments_url":"https://api.github.com/repos/davidben/openssl/deployments","created_at":"2016-04-28T00:03:09Z","updated_at":"2016-04-28T00:03:20Z","pushed_at":"2016-06-04T16:40:51Z","git_url":"git://github.com/davidben/openssl.git","ssh_url":"git@github.com:davidben/openssl.git","clone_url":"https://github.com/davidben/openssl.git","svn_url":"https://github.com/davidben/openssl","homepage":"https://www.openssl.org","size":86741,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"openssl:master","ref":"master","sha":"578b55144121b83a96e780f241f614759c75d1b5","user":{"login":"openssl","id":3279138,"avatar_url":"https://avatars.githubusercontent.com/u/3279138?v=3","gravatar_id":"","url":"https://api.github.com/users/openssl","html_url":"https://github.com/openssl","followers_url":"https://api.github.com/users/openssl/followers","following_url":"https://api.github.com/users/openssl/following{/other_user}","gists_url":"https://api.github.com/users/openssl/gists{/gist_id}","starred_url":"https://api.github.com/users/openssl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openssl/subscriptions","organizations_url":"https://api.github.com/users/openssl/orgs","repos_url":"https://api.github.com/users/openssl/repos","events_url":"https://api.github.com/users/openssl/events{/privacy}","received_events_url":"https://api.github.com/users/openssl/received_events","type":"Organization","site_admin":false},"repo":{"id":7634677,"name":"openssl","full_name":"openssl/openssl","owner":{"login":"openssl","id":3279138,"avatar_url":"https://avatars.githubusercontent.com/u/3279138?v=3","gravatar_id":"","url":"https://api.github.com/users/openssl","html_url":"https://github.com/openssl","followers_url":"https://api.github.com/users/openssl/followers","following_url":"https://api.github.com/users/openssl/following{/other_user}","gists_url":"https://api.github.com/users/openssl/gists{/gist_id}","starred_url":"https://api.github.com/users/openssl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openssl/subscriptions","organizations_url":"https://api.github.com/users/openssl/orgs","repos_url":"https://api.github.com/users/openssl/repos","events_url":"https://api.github.com/users/openssl/events{/privacy}","received_events_url":"https://api.github.com/users/openssl/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openssl/openssl","description":"TLS/SSL and crypto library","fork":false,"url":"https://api.github.com/repos/openssl/openssl","forks_url":"https://api.github.com/repos/openssl/openssl/forks","keys_url":"https://api.github.com/repos/openssl/openssl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openssl/openssl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openssl/openssl/teams","hooks_url":"https://api.github.com/repos/openssl/openssl/hooks","issue_events_url":"https://api.github.com/repos/openssl/openssl/issues/events{/number}","events_url":"https://api.github.com/repos/openssl/openssl/events","assignees_url":"https://api.github.com/repos/openssl/openssl/assignees{/user}","branches_url":"https://api.github.com/repos/openssl/openssl/branches{/branch}","tags_url":"https://api.github.com/repos/openssl/openssl/tags","blobs_url":"https://api.github.com/repos/openssl/openssl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openssl/openssl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openssl/openssl/git/refs{/sha}","trees_url":"https://api.github.com/repos/openssl/openssl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openssl/openssl/statuses/{sha}","languages_url":"https://api.github.com/repos/openssl/openssl/languages","stargazers_url":"https://api.github.com/repos/openssl/openssl/stargazers","contributors_url":"https://api.github.com/repos/openssl/openssl/contributors","subscribers_url":"https://api.github.com/repos/openssl/openssl/subscribers","subscription_url":"https://api.github.com/repos/openssl/openssl/subscription","commits_url":"https://api.github.com/repos/openssl/openssl/commits{/sha}","git_commits_url":"https://api.github.com/repos/openssl/openssl/git/commits{/sha}","comments_url":"https://api.github.com/repos/openssl/openssl/comments{/number}","issue_comment_url":"https://api.github.com/repos/openssl/openssl/issues/comments{/number}","contents_url":"https://api.github.com/repos/openssl/openssl/contents/{+path}","compare_url":"https://api.github.com/repos/openssl/openssl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openssl/openssl/merges","archive_url":"https://api.github.com/repos/openssl/openssl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openssl/openssl/downloads","issues_url":"https://api.github.com/repos/openssl/openssl/issues{/number}","pulls_url":"https://api.github.com/repos/openssl/openssl/pulls{/number}","milestones_url":"https://api.github.com/repos/openssl/openssl/milestones{/number}","notifications_url":"https://api.github.com/repos/openssl/openssl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openssl/openssl/labels{/name}","releases_url":"https://api.github.com/repos/openssl/openssl/releases{/id}","deployments_url":"https://api.github.com/repos/openssl/openssl/deployments","created_at":"2013-01-15T22:34:48Z","updated_at":"2016-06-06T16:19:32Z","pushed_at":"2016-06-06T20:54:15Z","git_url":"git://github.com/openssl/openssl.git","ssh_url":"git@github.com:openssl/openssl.git","clone_url":"https://github.com/openssl/openssl.git","svn_url":"https://github.com/openssl/openssl","homepage":"https://www.openssl.org","size":107031,"stargazers_count":2726,"watchers_count":2726,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1563,"mirror_url":null,"open_issues_count":118,"forks":1563,"open_issues":118,"watchers":2726,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openssl/openssl/pulls/1165"},"html":{"href":"https://github.com/openssl/openssl/pull/1165"},"issue":{"href":"https://api.github.com/repos/openssl/openssl/issues/1165"},"comments":{"href":"https://api.github.com/repos/openssl/openssl/issues/1165/comments"},"review_comments":{"href":"https://api.github.com/repos/openssl/openssl/pulls/1165/comments"},"review_comment":{"href":"https://api.github.com/repos/openssl/openssl/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openssl/openssl/pulls/1165/commits"},"statuses":{"href":"https://api.github.com/repos/openssl/openssl/statuses/4c087310d89cf32cc45304a51a2c4a63f817792e"}}}}
{"actor":{"display_login":"dot-asm"}}