{"action":"opened","issue":{"url":"https://api.github.com/repos/rahulmutt/ghcvm/issues/94","repository_url":"https://api.github.com/repos/rahulmutt/ghcvm","labels_url":"https://api.github.com/repos/rahulmutt/ghcvm/issues/94/labels{/name}","comments_url":"https://api.github.com/repos/rahulmutt/ghcvm/issues/94/comments","events_url":"https://api.github.com/repos/rahulmutt/ghcvm/issues/94/events","html_url":"https://github.com/rahulmutt/ghcvm/issues/94","id":184031228,"number":94,"title":"Efficient check for thunk evaluation","user":{"login":"rahulmutt","id":8035100,"avatar_url":"https://avatars.githubusercontent.com/u/8035100?v=3","gravatar_id":"","url":"https://api.github.com/users/rahulmutt","html_url":"https://github.com/rahulmutt","followers_url":"https://api.github.com/users/rahulmutt/followers","following_url":"https://api.github.com/users/rahulmutt/following{/other_user}","gists_url":"https://api.github.com/users/rahulmutt/gists{/gist_id}","starred_url":"https://api.github.com/users/rahulmutt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rahulmutt/subscriptions","organizations_url":"https://api.github.com/users/rahulmutt/orgs","repos_url":"https://api.github.com/users/rahulmutt/repos","events_url":"https://api.github.com/users/rahulmutt/events{/privacy}","received_events_url":"https://api.github.com/users/rahulmutt/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-10-19T17:54:21Z","updated_at":"2016-10-19T17:54:21Z","closed_at":null,"body":"Currently, the check for whether a thunk is evaluated or not is done by a call to `StgClosure.evaluate`. Because this is one of the most frequently called functions, finding a more efficient way to get the same result could mean big wins in performance. \r\n\r\nThe most efficient solution will probably involve using `sun.misc.Unsafe` and storing evaluation bits somewhere in the object, whether the object header, or one of the existing fields of StgThunk. These solutions need to wary of the fact that the Java GC will be changing the addresses of objects throughout the duration of the application."}}
{"actor":{"display_login":"rahulmutt"}}