{"action":"created","comment":{"url":"https://api.github.com/repos/graalvm/truffleruby/pulls/comments/113965877","pull_request_review_id":35400416,"id":113965877,"diff_hunk":"@@ -649,7 +646,7 @@ public Object evalBadBinding(DynamicObject source, DynamicObject badBinding, Not\n             // TODO CS 14-Apr-15 concat space + code as a rope, otherwise the string will be copied after the rope is converted\n             final Source source = Source.newBuilder(space + RopeOperations.decodeRope(code)).name(filename).mimeType(RubyLanguage.MIME_TYPE).build();\n \n-            final MaterializedFrame frame = Layouts.BINDING.getFrame(binding);\n+            final MaterializedFrame frame = BindingNodes.getExtrasFrame(getContext(), binding);","path":"truffleruby/src/main/java/org/truffleruby/core/kernel/KernelNodes.java","position":30,"original_position":30,"commit_id":"3ac4c5f121a774e501d667cadb45e7eff2f3181b","original_commit_id":"4f9ddd021be8c00f886d319c0cc1b809da309660","user":{"login":"eregon","id":168854,"avatar_url":"https://avatars1.githubusercontent.com/u/168854?v=3","gravatar_id":"","url":"https://api.github.com/users/eregon","html_url":"https://github.com/eregon","followers_url":"https://api.github.com/users/eregon/followers","following_url":"https://api.github.com/users/eregon/following{/other_user}","gists_url":"https://api.github.com/users/eregon/gists{/gist_id}","starred_url":"https://api.github.com/users/eregon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eregon/subscriptions","organizations_url":"https://api.github.com/users/eregon/orgs","repos_url":"https://api.github.com/users/eregon/repos","events_url":"https://api.github.com/users/eregon/events{/privacy}","received_events_url":"https://api.github.com/users/eregon/received_events","type":"User","site_admin":false},"body":"I see, thanks.","created_at":"2017-04-28T16:10:49Z","updated_at":"2017-04-28T16:10:50Z","html_url":"https://github.com/graalvm/truffleruby/pull/126#discussion_r113965877","pull_request_url":"https://api.github.com/repos/graalvm/truffleruby/pulls/126","_links":{"self":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/comments/113965877"},"html":{"href":"https://github.com/graalvm/truffleruby/pull/126#discussion_r113965877"},"pull_request":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/126"}}},"pull_request":{"url":"https://api.github.com/repos/graalvm/truffleruby/pulls/126","id":117728396,"html_url":"https://github.com/graalvm/truffleruby/pull/126","diff_url":"https://github.com/graalvm/truffleruby/pull/126.diff","patch_url":"https://github.com/graalvm/truffleruby/pull/126.patch","issue_url":"https://api.github.com/repos/graalvm/truffleruby/issues/126","number":126,"state":"open","locked":false,"title":"Binding improvements","user":{"login":"aardvark179","id":17862353,"avatar_url":"https://avatars2.githubusercontent.com/u/17862353?v=3","gravatar_id":"","url":"https://api.github.com/users/aardvark179","html_url":"https://github.com/aardvark179","followers_url":"https://api.github.com/users/aardvark179/followers","following_url":"https://api.github.com/users/aardvark179/following{/other_user}","gists_url":"https://api.github.com/users/aardvark179/gists{/gist_id}","starred_url":"https://api.github.com/users/aardvark179/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aardvark179/subscriptions","organizations_url":"https://api.github.com/users/aardvark179/orgs","repos_url":"https://api.github.com/users/aardvark179/repos","events_url":"https://api.github.com/users/aardvark179/events{/privacy}","received_events_url":"https://api.github.com/users/aardvark179/received_events","type":"User","site_admin":false},"body":"Refactors Binding creation and use to be more easily optimised. Tested with an adapted version of the Mandelbrot benchmark which replaced\r\n```\r\nzr = tr\r\nzi = ti\r\n```\r\nwith\r\n```\r\nbinding.local_variable_set(:zr, binding.local_variable_get(:tr))\r\nbinding.local_variable_set(:zi, binding.local_variable_get(:ti))\r\n```\r\nand verified that performance was unaffected. Similar checks using blocks done and also showed zero cost for the use of bindings.","created_at":"2017-04-26T14:28:02Z","updated_at":"2017-04-28T16:10:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9004490288168604cbd4d2da1f78955bc73e98c7","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/graalvm/truffleruby/pulls/126/commits","review_comments_url":"https://api.github.com/repos/graalvm/truffleruby/pulls/126/comments","review_comment_url":"https://api.github.com/repos/graalvm/truffleruby/pulls/comments{/number}","comments_url":"https://api.github.com/repos/graalvm/truffleruby/issues/126/comments","statuses_url":"https://api.github.com/repos/graalvm/truffleruby/statuses/3ac4c5f121a774e501d667cadb45e7eff2f3181b","head":{"label":"graalvm:binding-improvements","ref":"binding-improvements","sha":"3ac4c5f121a774e501d667cadb45e7eff2f3181b","user":{"login":"graalvm","id":10176827,"avatar_url":"https://avatars0.githubusercontent.com/u/10176827?v=3","gravatar_id":"","url":"https://api.github.com/users/graalvm","html_url":"https://github.com/graalvm","followers_url":"https://api.github.com/users/graalvm/followers","following_url":"https://api.github.com/users/graalvm/following{/other_user}","gists_url":"https://api.github.com/users/graalvm/gists{/gist_id}","starred_url":"https://api.github.com/users/graalvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graalvm/subscriptions","organizations_url":"https://api.github.com/users/graalvm/orgs","repos_url":"https://api.github.com/users/graalvm/repos","events_url":"https://api.github.com/users/graalvm/events{/privacy}","received_events_url":"https://api.github.com/users/graalvm/received_events","type":"Organization","site_admin":false},"repo":{"id":51164398,"name":"truffleruby","full_name":"graalvm/truffleruby","owner":{"login":"graalvm","id":10176827,"avatar_url":"https://avatars0.githubusercontent.com/u/10176827?v=3","gravatar_id":"","url":"https://api.github.com/users/graalvm","html_url":"https://github.com/graalvm","followers_url":"https://api.github.com/users/graalvm/followers","following_url":"https://api.github.com/users/graalvm/following{/other_user}","gists_url":"https://api.github.com/users/graalvm/gists{/gist_id}","starred_url":"https://api.github.com/users/graalvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graalvm/subscriptions","organizations_url":"https://api.github.com/users/graalvm/orgs","repos_url":"https://api.github.com/users/graalvm/repos","events_url":"https://api.github.com/users/graalvm/events{/privacy}","received_events_url":"https://api.github.com/users/graalvm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/graalvm/truffleruby","description":"A high performance implementation of the Ruby programming language. Built on the GraalVM by Oracle Labs.","fork":false,"url":"https://api.github.com/repos/graalvm/truffleruby","forks_url":"https://api.github.com/repos/graalvm/truffleruby/forks","keys_url":"https://api.github.com/repos/graalvm/truffleruby/keys{/key_id}","collaborators_url":"https://api.github.com/repos/graalvm/truffleruby/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/graalvm/truffleruby/teams","hooks_url":"https://api.github.com/repos/graalvm/truffleruby/hooks","issue_events_url":"https://api.github.com/repos/graalvm/truffleruby/issues/events{/number}","events_url":"https://api.github.com/repos/graalvm/truffleruby/events","assignees_url":"https://api.github.com/repos/graalvm/truffleruby/assignees{/user}","branches_url":"https://api.github.com/repos/graalvm/truffleruby/branches{/branch}","tags_url":"https://api.github.com/repos/graalvm/truffleruby/tags","blobs_url":"https://api.github.com/repos/graalvm/truffleruby/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/graalvm/truffleruby/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/graalvm/truffleruby/git/refs{/sha}","trees_url":"https://api.github.com/repos/graalvm/truffleruby/git/trees{/sha}","statuses_url":"https://api.github.com/repos/graalvm/truffleruby/statuses/{sha}","languages_url":"https://api.github.com/repos/graalvm/truffleruby/languages","stargazers_url":"https://api.github.com/repos/graalvm/truffleruby/stargazers","contributors_url":"https://api.github.com/repos/graalvm/truffleruby/contributors","subscribers_url":"https://api.github.com/repos/graalvm/truffleruby/subscribers","subscription_url":"https://api.github.com/repos/graalvm/truffleruby/subscription","commits_url":"https://api.github.com/repos/graalvm/truffleruby/commits{/sha}","git_commits_url":"https://api.github.com/repos/graalvm/truffleruby/git/commits{/sha}","comments_url":"https://api.github.com/repos/graalvm/truffleruby/comments{/number}","issue_comment_url":"https://api.github.com/repos/graalvm/truffleruby/issues/comments{/number}","contents_url":"https://api.github.com/repos/graalvm/truffleruby/contents/{+path}","compare_url":"https://api.github.com/repos/graalvm/truffleruby/compare/{base}...{head}","merges_url":"https://api.github.com/repos/graalvm/truffleruby/merges","archive_url":"https://api.github.com/repos/graalvm/truffleruby/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/graalvm/truffleruby/downloads","issues_url":"https://api.github.com/repos/graalvm/truffleruby/issues{/number}","pulls_url":"https://api.github.com/repos/graalvm/truffleruby/pulls{/number}","milestones_url":"https://api.github.com/repos/graalvm/truffleruby/milestones{/number}","notifications_url":"https://api.github.com/repos/graalvm/truffleruby/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/graalvm/truffleruby/labels{/name}","releases_url":"https://api.github.com/repos/graalvm/truffleruby/releases{/id}","deployments_url":"https://api.github.com/repos/graalvm/truffleruby/deployments","created_at":"2016-02-05T18:03:11Z","updated_at":"2017-04-28T15:30:50Z","pushed_at":"2017-04-28T14:58:53Z","git_url":"git://github.com/graalvm/truffleruby.git","ssh_url":"git@github.com:graalvm/truffleruby.git","clone_url":"https://github.com/graalvm/truffleruby.git","svn_url":"https://github.com/graalvm/truffleruby","homepage":"","size":217632,"stargazers_count":626,"watchers_count":626,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":22,"mirror_url":null,"open_issues_count":13,"forks":22,"open_issues":13,"watchers":626,"default_branch":"master"}},"base":{"label":"graalvm:master","ref":"master","sha":"b468869d6fdc176b3c514725970668363b167d62","user":{"login":"graalvm","id":10176827,"avatar_url":"https://avatars0.githubusercontent.com/u/10176827?v=3","gravatar_id":"","url":"https://api.github.com/users/graalvm","html_url":"https://github.com/graalvm","followers_url":"https://api.github.com/users/graalvm/followers","following_url":"https://api.github.com/users/graalvm/following{/other_user}","gists_url":"https://api.github.com/users/graalvm/gists{/gist_id}","starred_url":"https://api.github.com/users/graalvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graalvm/subscriptions","organizations_url":"https://api.github.com/users/graalvm/orgs","repos_url":"https://api.github.com/users/graalvm/repos","events_url":"https://api.github.com/users/graalvm/events{/privacy}","received_events_url":"https://api.github.com/users/graalvm/received_events","type":"Organization","site_admin":false},"repo":{"id":51164398,"name":"truffleruby","full_name":"graalvm/truffleruby","owner":{"login":"graalvm","id":10176827,"avatar_url":"https://avatars0.githubusercontent.com/u/10176827?v=3","gravatar_id":"","url":"https://api.github.com/users/graalvm","html_url":"https://github.com/graalvm","followers_url":"https://api.github.com/users/graalvm/followers","following_url":"https://api.github.com/users/graalvm/following{/other_user}","gists_url":"https://api.github.com/users/graalvm/gists{/gist_id}","starred_url":"https://api.github.com/users/graalvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graalvm/subscriptions","organizations_url":"https://api.github.com/users/graalvm/orgs","repos_url":"https://api.github.com/users/graalvm/repos","events_url":"https://api.github.com/users/graalvm/events{/privacy}","received_events_url":"https://api.github.com/users/graalvm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/graalvm/truffleruby","description":"A high performance implementation of the Ruby programming language. Built on the GraalVM by Oracle Labs.","fork":false,"url":"https://api.github.com/repos/graalvm/truffleruby","forks_url":"https://api.github.com/repos/graalvm/truffleruby/forks","keys_url":"https://api.github.com/repos/graalvm/truffleruby/keys{/key_id}","collaborators_url":"https://api.github.com/repos/graalvm/truffleruby/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/graalvm/truffleruby/teams","hooks_url":"https://api.github.com/repos/graalvm/truffleruby/hooks","issue_events_url":"https://api.github.com/repos/graalvm/truffleruby/issues/events{/number}","events_url":"https://api.github.com/repos/graalvm/truffleruby/events","assignees_url":"https://api.github.com/repos/graalvm/truffleruby/assignees{/user}","branches_url":"https://api.github.com/repos/graalvm/truffleruby/branches{/branch}","tags_url":"https://api.github.com/repos/graalvm/truffleruby/tags","blobs_url":"https://api.github.com/repos/graalvm/truffleruby/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/graalvm/truffleruby/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/graalvm/truffleruby/git/refs{/sha}","trees_url":"https://api.github.com/repos/graalvm/truffleruby/git/trees{/sha}","statuses_url":"https://api.github.com/repos/graalvm/truffleruby/statuses/{sha}","languages_url":"https://api.github.com/repos/graalvm/truffleruby/languages","stargazers_url":"https://api.github.com/repos/graalvm/truffleruby/stargazers","contributors_url":"https://api.github.com/repos/graalvm/truffleruby/contributors","subscribers_url":"https://api.github.com/repos/graalvm/truffleruby/subscribers","subscription_url":"https://api.github.com/repos/graalvm/truffleruby/subscription","commits_url":"https://api.github.com/repos/graalvm/truffleruby/commits{/sha}","git_commits_url":"https://api.github.com/repos/graalvm/truffleruby/git/commits{/sha}","comments_url":"https://api.github.com/repos/graalvm/truffleruby/comments{/number}","issue_comment_url":"https://api.github.com/repos/graalvm/truffleruby/issues/comments{/number}","contents_url":"https://api.github.com/repos/graalvm/truffleruby/contents/{+path}","compare_url":"https://api.github.com/repos/graalvm/truffleruby/compare/{base}...{head}","merges_url":"https://api.github.com/repos/graalvm/truffleruby/merges","archive_url":"https://api.github.com/repos/graalvm/truffleruby/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/graalvm/truffleruby/downloads","issues_url":"https://api.github.com/repos/graalvm/truffleruby/issues{/number}","pulls_url":"https://api.github.com/repos/graalvm/truffleruby/pulls{/number}","milestones_url":"https://api.github.com/repos/graalvm/truffleruby/milestones{/number}","notifications_url":"https://api.github.com/repos/graalvm/truffleruby/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/graalvm/truffleruby/labels{/name}","releases_url":"https://api.github.com/repos/graalvm/truffleruby/releases{/id}","deployments_url":"https://api.github.com/repos/graalvm/truffleruby/deployments","created_at":"2016-02-05T18:03:11Z","updated_at":"2017-04-28T15:30:50Z","pushed_at":"2017-04-28T14:58:53Z","git_url":"git://github.com/graalvm/truffleruby.git","ssh_url":"git@github.com:graalvm/truffleruby.git","clone_url":"https://github.com/graalvm/truffleruby.git","svn_url":"https://github.com/graalvm/truffleruby","homepage":"","size":217632,"stargazers_count":626,"watchers_count":626,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":22,"mirror_url":null,"open_issues_count":13,"forks":22,"open_issues":13,"watchers":626,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/126"},"html":{"href":"https://github.com/graalvm/truffleruby/pull/126"},"issue":{"href":"https://api.github.com/repos/graalvm/truffleruby/issues/126"},"comments":{"href":"https://api.github.com/repos/graalvm/truffleruby/issues/126/comments"},"review_comments":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/126/comments"},"review_comment":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/graalvm/truffleruby/pulls/126/commits"},"statuses":{"href":"https://api.github.com/repos/graalvm/truffleruby/statuses/3ac4c5f121a774e501d667cadb45e7eff2f3181b"}}}}
{"actor":{"display_login":"eregon"}}