{"action":"created","comment":{"url":"https://api.github.com/repos/dropbox/pyston/pulls/comments/29801003","id":29801003,"diff_hunk":"@@ -1476,7 +1498,8 @@ class NormalObjectType : public ConcreteCompilerType {\n             if (rtattr->cls == function_cls) {\n                 CompilerVariable* clattr = new ConcreteCompilerVariable(\n                     typeFromClass(function_cls), embedRelocatablePtr(rtattr, g.llvm_value_type_ptr), false);\n-                return InstanceMethodType::makeIM(var, clattr);\n+\n+                return InstanceMethodType::makeIM(var, clattr, getClassCompilerVariable(emitter, var));","path":"src/codegen/compvars.cpp","position":114,"original_position":114,"commit_id":"d8d59032b4783b83a6431039ef7f3a6c84edf38e","original_commit_id":"d8d59032b4783b83a6431039ef7f3a6c84edf38e","user":{"login":"kmod","id":271916,"avatar_url":"https://avatars.githubusercontent.com/u/271916?v=3","gravatar_id":"","url":"https://api.github.com/users/kmod","html_url":"https://github.com/kmod","followers_url":"https://api.github.com/users/kmod/followers","following_url":"https://api.github.com/users/kmod/following{/other_user}","gists_url":"https://api.github.com/users/kmod/gists{/gist_id}","starred_url":"https://api.github.com/users/kmod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kmod/subscriptions","organizations_url":"https://api.github.com/users/kmod/orgs","repos_url":"https://api.github.com/users/kmod/repos","events_url":"https://api.github.com/users/kmod/events{/privacy}","received_events_url":"https://api.github.com/users/kmod/received_events","type":"User","site_admin":false},"body":"We could replace `getClassCompilerVariable()` with `new ConcreteCompilerVariable(UNKNOWN, embedRelocatablePtr(cls, g.llvm_value_type_ptr), false)`","created_at":"2015-05-06T20:54:31Z","updated_at":"2015-05-06T20:54:31Z","html_url":"https://github.com/dropbox/pyston/pull/493#discussion_r29801003","pull_request_url":"https://api.github.com/repos/dropbox/pyston/pulls/493","_links":{"self":{"href":"https://api.github.com/repos/dropbox/pyston/pulls/comments/29801003"},"html":{"href":"https://github.com/dropbox/pyston/pull/493#discussion_r29801003"},"pull_request":{"href":"https://api.github.com/repos/dropbox/pyston/pulls/493"}}},"pull_request":{"url":"https://api.github.com/repos/dropbox/pyston/pulls/493","id":34701728,"html_url":"https://github.com/dropbox/pyston/pull/493","diff_url":"https://github.com/dropbox/pyston/pull/493.diff","patch_url":"https://github.com/dropbox/pyston/pull/493.patch","issue_url":"https://api.github.com/repos/dropbox/pyston/issues/493","number":493,"state":"open","locked":false,"title":"Add im_class field to BoxedInstanceMethod, implement instancemethodRepr","user":{"login":"tjhance","id":592054,"avatar_url":"https://avatars.githubusercontent.com/u/592054?v=3","gravatar_id":"","url":"https://api.github.com/users/tjhance","html_url":"https://github.com/tjhance","followers_url":"https://api.github.com/users/tjhance/followers","following_url":"https://api.github.com/users/tjhance/following{/other_user}","gists_url":"https://api.github.com/users/tjhance/gists{/gist_id}","starred_url":"https://api.github.com/users/tjhance/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjhance/subscriptions","organizations_url":"https://api.github.com/users/tjhance/orgs","repos_url":"https://api.github.com/users/tjhance/repos","events_url":"https://api.github.com/users/tjhance/events{/privacy}","received_events_url":"https://api.github.com/users/tjhance/received_events","type":"User","site_admin":false},"body":"Add the `im_class` field to `BoxedInstanceMethod` and implement `repr`.\r\n\r\nThere were a lot of places to insert it, hopefully I didn't screw up. It's kind of tricky: for example you can't assume it's a `BoxedClass`. One occasion where it wouldn't be a `BoxedClass` is if you were using old-style classes:\r\n\r\n```\r\n>>> class C:\r\n...     def f(self): pass\r\n... \r\n>>> C.f.im_class\r\n<class __main__.C at 0x7fa97d41e258>\r\n>>> type(C.f.im_class)\r\n<type 'classobj'>\r\n```\r\n\r\nI also had to add support for the new field for the `InstanceMethodType` in codegen.","created_at":"2015-05-05T07:41:19Z","updated_at":"2015-05-06T20:54:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5e4504c734a4ce076ed9e7dcfb8343fe45d62256","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dropbox/pyston/pulls/493/commits","review_comments_url":"https://api.github.com/repos/dropbox/pyston/pulls/493/comments","review_comment_url":"https://api.github.com/repos/dropbox/pyston/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dropbox/pyston/issues/493/comments","statuses_url":"https://api.github.com/repos/dropbox/pyston/statuses/d8d59032b4783b83a6431039ef7f3a6c84edf38e","head":{"label":"tjhance:boxed-instance-method","ref":"boxed-instance-method","sha":"d8d59032b4783b83a6431039ef7f3a6c84edf38e","user":{"login":"tjhance","id":592054,"avatar_url":"https://avatars.githubusercontent.com/u/592054?v=3","gravatar_id":"","url":"https://api.github.com/users/tjhance","html_url":"https://github.com/tjhance","followers_url":"https://api.github.com/users/tjhance/followers","following_url":"https://api.github.com/users/tjhance/following{/other_user}","gists_url":"https://api.github.com/users/tjhance/gists{/gist_id}","starred_url":"https://api.github.com/users/tjhance/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjhance/subscriptions","organizations_url":"https://api.github.com/users/tjhance/orgs","repos_url":"https://api.github.com/users/tjhance/repos","events_url":"https://api.github.com/users/tjhance/events{/privacy}","received_events_url":"https://api.github.com/users/tjhance/received_events","type":"User","site_admin":false},"repo":{"id":22051802,"name":"pyston","full_name":"tjhance/pyston","owner":{"login":"tjhance","id":592054,"avatar_url":"https://avatars.githubusercontent.com/u/592054?v=3","gravatar_id":"","url":"https://api.github.com/users/tjhance","html_url":"https://github.com/tjhance","followers_url":"https://api.github.com/users/tjhance/followers","following_url":"https://api.github.com/users/tjhance/following{/other_user}","gists_url":"https://api.github.com/users/tjhance/gists{/gist_id}","starred_url":"https://api.github.com/users/tjhance/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjhance/subscriptions","organizations_url":"https://api.github.com/users/tjhance/orgs","repos_url":"https://api.github.com/users/tjhance/repos","events_url":"https://api.github.com/users/tjhance/events{/privacy}","received_events_url":"https://api.github.com/users/tjhance/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tjhance/pyston","description":"An open-source Python implementation using JIT techniques. ","fork":true,"url":"https://api.github.com/repos/tjhance/pyston","forks_url":"https://api.github.com/repos/tjhance/pyston/forks","keys_url":"https://api.github.com/repos/tjhance/pyston/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tjhance/pyston/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tjhance/pyston/teams","hooks_url":"https://api.github.com/repos/tjhance/pyston/hooks","issue_events_url":"https://api.github.com/repos/tjhance/pyston/issues/events{/number}","events_url":"https://api.github.com/repos/tjhance/pyston/events","assignees_url":"https://api.github.com/repos/tjhance/pyston/assignees{/user}","branches_url":"https://api.github.com/repos/tjhance/pyston/branches{/branch}","tags_url":"https://api.github.com/repos/tjhance/pyston/tags","blobs_url":"https://api.github.com/repos/tjhance/pyston/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tjhance/pyston/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tjhance/pyston/git/refs{/sha}","trees_url":"https://api.github.com/repos/tjhance/pyston/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tjhance/pyston/statuses/{sha}","languages_url":"https://api.github.com/repos/tjhance/pyston/languages","stargazers_url":"https://api.github.com/repos/tjhance/pyston/stargazers","contributors_url":"https://api.github.com/repos/tjhance/pyston/contributors","subscribers_url":"https://api.github.com/repos/tjhance/pyston/subscribers","subscription_url":"https://api.github.com/repos/tjhance/pyston/subscription","commits_url":"https://api.github.com/repos/tjhance/pyston/commits{/sha}","git_commits_url":"https://api.github.com/repos/tjhance/pyston/git/commits{/sha}","comments_url":"https://api.github.com/repos/tjhance/pyston/comments{/number}","issue_comment_url":"https://api.github.com/repos/tjhance/pyston/issues/comments{/number}","contents_url":"https://api.github.com/repos/tjhance/pyston/contents/{+path}","compare_url":"https://api.github.com/repos/tjhance/pyston/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tjhance/pyston/merges","archive_url":"https://api.github.com/repos/tjhance/pyston/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tjhance/pyston/downloads","issues_url":"https://api.github.com/repos/tjhance/pyston/issues{/number}","pulls_url":"https://api.github.com/repos/tjhance/pyston/pulls{/number}","milestones_url":"https://api.github.com/repos/tjhance/pyston/milestones{/number}","notifications_url":"https://api.github.com/repos/tjhance/pyston/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tjhance/pyston/labels{/name}","releases_url":"https://api.github.com/repos/tjhance/pyston/releases{/id}","created_at":"2014-07-21T04:35:48Z","updated_at":"2015-04-29T04:17:31Z","pushed_at":"2015-05-05T07:28:27Z","git_url":"git://github.com/tjhance/pyston.git","ssh_url":"git@github.com:tjhance/pyston.git","clone_url":"https://github.com/tjhance/pyston.git","svn_url":"https://github.com/tjhance/pyston","homepage":"https://tech.dropbox.com/2014/04/introducing-pyston-an-upcoming-jit-based-python-implementation/","size":19932,"stargazers_count":0,"watchers_count":0,"language":"Python","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":"dropbox:master","ref":"master","sha":"fa1cfd09f82e5bd83b52f0ef94a41fd9ba582189","user":{"login":"dropbox","id":559357,"avatar_url":"https://avatars.githubusercontent.com/u/559357?v=3","gravatar_id":"","url":"https://api.github.com/users/dropbox","html_url":"https://github.com/dropbox","followers_url":"https://api.github.com/users/dropbox/followers","following_url":"https://api.github.com/users/dropbox/following{/other_user}","gists_url":"https://api.github.com/users/dropbox/gists{/gist_id}","starred_url":"https://api.github.com/users/dropbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dropbox/subscriptions","organizations_url":"https://api.github.com/users/dropbox/orgs","repos_url":"https://api.github.com/users/dropbox/repos","events_url":"https://api.github.com/users/dropbox/events{/privacy}","received_events_url":"https://api.github.com/users/dropbox/received_events","type":"Organization","site_admin":false},"repo":{"id":18320947,"name":"pyston","full_name":"dropbox/pyston","owner":{"login":"dropbox","id":559357,"avatar_url":"https://avatars.githubusercontent.com/u/559357?v=3","gravatar_id":"","url":"https://api.github.com/users/dropbox","html_url":"https://github.com/dropbox","followers_url":"https://api.github.com/users/dropbox/followers","following_url":"https://api.github.com/users/dropbox/following{/other_user}","gists_url":"https://api.github.com/users/dropbox/gists{/gist_id}","starred_url":"https://api.github.com/users/dropbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dropbox/subscriptions","organizations_url":"https://api.github.com/users/dropbox/orgs","repos_url":"https://api.github.com/users/dropbox/repos","events_url":"https://api.github.com/users/dropbox/events{/privacy}","received_events_url":"https://api.github.com/users/dropbox/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dropbox/pyston","description":"An open-source Python implementation using JIT techniques. ","fork":false,"url":"https://api.github.com/repos/dropbox/pyston","forks_url":"https://api.github.com/repos/dropbox/pyston/forks","keys_url":"https://api.github.com/repos/dropbox/pyston/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dropbox/pyston/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dropbox/pyston/teams","hooks_url":"https://api.github.com/repos/dropbox/pyston/hooks","issue_events_url":"https://api.github.com/repos/dropbox/pyston/issues/events{/number}","events_url":"https://api.github.com/repos/dropbox/pyston/events","assignees_url":"https://api.github.com/repos/dropbox/pyston/assignees{/user}","branches_url":"https://api.github.com/repos/dropbox/pyston/branches{/branch}","tags_url":"https://api.github.com/repos/dropbox/pyston/tags","blobs_url":"https://api.github.com/repos/dropbox/pyston/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dropbox/pyston/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dropbox/pyston/git/refs{/sha}","trees_url":"https://api.github.com/repos/dropbox/pyston/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dropbox/pyston/statuses/{sha}","languages_url":"https://api.github.com/repos/dropbox/pyston/languages","stargazers_url":"https://api.github.com/repos/dropbox/pyston/stargazers","contributors_url":"https://api.github.com/repos/dropbox/pyston/contributors","subscribers_url":"https://api.github.com/repos/dropbox/pyston/subscribers","subscription_url":"https://api.github.com/repos/dropbox/pyston/subscription","commits_url":"https://api.github.com/repos/dropbox/pyston/commits{/sha}","git_commits_url":"https://api.github.com/repos/dropbox/pyston/git/commits{/sha}","comments_url":"https://api.github.com/repos/dropbox/pyston/comments{/number}","issue_comment_url":"https://api.github.com/repos/dropbox/pyston/issues/comments{/number}","contents_url":"https://api.github.com/repos/dropbox/pyston/contents/{+path}","compare_url":"https://api.github.com/repos/dropbox/pyston/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dropbox/pyston/merges","archive_url":"https://api.github.com/repos/dropbox/pyston/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dropbox/pyston/downloads","issues_url":"https://api.github.com/repos/dropbox/pyston/issues{/number}","pulls_url":"https://api.github.com/repos/dropbox/pyston/pulls{/number}","milestones_url":"https://api.github.com/repos/dropbox/pyston/milestones{/number}","notifications_url":"https://api.github.com/repos/dropbox/pyston/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dropbox/pyston/labels{/name}","releases_url":"https://api.github.com/repos/dropbox/pyston/releases{/id}","created_at":"2014-04-01T07:17:20Z","updated_at":"2015-05-06T07:10:35Z","pushed_at":"2015-05-06T20:40:03Z","git_url":"git://github.com/dropbox/pyston.git","ssh_url":"git@github.com:dropbox/pyston.git","clone_url":"https://github.com/dropbox/pyston.git","svn_url":"https://github.com/dropbox/pyston","homepage":"https://tech.dropbox.com/2014/04/introducing-pyston-an-upcoming-jit-based-python-implementation/","size":27880,"stargazers_count":2943,"watchers_count":2943,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":212,"mirror_url":null,"open_issues_count":60,"forks":212,"open_issues":60,"watchers":2943,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dropbox/pyston/pulls/493"},"html":{"href":"https://github.com/dropbox/pyston/pull/493"},"issue":{"href":"https://api.github.com/repos/dropbox/pyston/issues/493"},"comments":{"href":"https://api.github.com/repos/dropbox/pyston/issues/493/comments"},"review_comments":{"href":"https://api.github.com/repos/dropbox/pyston/pulls/493/comments"},"review_comment":{"href":"https://api.github.com/repos/dropbox/pyston/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dropbox/pyston/pulls/493/commits"},"statuses":{"href":"https://api.github.com/repos/dropbox/pyston/statuses/d8d59032b4783b83a6431039ef7f3a6c84edf38e"}}}}