{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/11888","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/11888/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/11888/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/11888/events","html_url":"https://github.com/JuliaLang/julia/pull/11888","id":91406861,"number":11888,"title":"Make size and offset in jl_fielddesc_t 32bit length","user":{"login":"yuyichao","id":712232,"avatar_url":"https://avatars.githubusercontent.com/u/712232?v=3","gravatar_id":"","url":"https://api.github.com/users/yuyichao","html_url":"https://github.com/yuyichao","followers_url":"https://api.github.com/users/yuyichao/followers","following_url":"https://api.github.com/users/yuyichao/following{/other_user}","gists_url":"https://api.github.com/users/yuyichao/gists{/gist_id}","starred_url":"https://api.github.com/users/yuyichao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuyichao/subscriptions","organizations_url":"https://api.github.com/users/yuyichao/orgs","repos_url":"https://api.github.com/users/yuyichao/repos","events_url":"https://api.github.com/users/yuyichao/events{/privacy}","received_events_url":"https://api.github.com/users/yuyichao/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-06-27T03:11:25Z","updated_at":"2015-06-28T20:14:20Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JuliaLang/julia/pulls/11888","html_url":"https://github.com/JuliaLang/julia/pull/11888","diff_url":"https://github.com/JuliaLang/julia/pull/11888.diff","patch_url":"https://github.com/JuliaLang/julia/pull/11888.patch"},"body":"This fixes https://github.com/JuliaLang/julia/issues/11884 .\r\n\r\n1. Passing too many arguments to a function or constructing a structure/tuple of GB's size is arguably not a good idea. The primary goal of this PR is not to encourage that but I do feel like the current limit `16`bit integer is a little bit too small.\r\n2. This does **not** solve the problem in issue #11320 (hopefully github's close issue hook does not pick this one up) so passing big tuples around / constructing them might still be an issue. On the other hand, this change should be almost orthogonal to that issue and won't make the situation much worse.\r\n3. The current limit is `2^31 - 1` and this is mainly because `DataType.size` is a `Int32`. According to @jiahao , this was because of not letting unsigned integer types polluting calculations. It might not be a problem now anymore but I think this limit should be good enough for now and I don't want to risk introducing subtle type stability issues.\r\n"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/116323632","html_url":"https://github.com/JuliaLang/julia/pull/11888#issuecomment-116323632","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/11888","id":116323632,"user":{"login":"carnaval","id":5307791,"avatar_url":"https://avatars.githubusercontent.com/u/5307791?v=3","gravatar_id":"","url":"https://api.github.com/users/carnaval","html_url":"https://github.com/carnaval","followers_url":"https://api.github.com/users/carnaval/followers","following_url":"https://api.github.com/users/carnaval/following{/other_user}","gists_url":"https://api.github.com/users/carnaval/gists{/gist_id}","starred_url":"https://api.github.com/users/carnaval/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/carnaval/subscriptions","organizations_url":"https://api.github.com/users/carnaval/orgs","repos_url":"https://api.github.com/users/carnaval/repos","events_url":"https://api.github.com/users/carnaval/events{/privacy}","received_events_url":"https://api.github.com/users/carnaval/received_events","type":"User","site_admin":false},"created_at":"2015-06-28T20:14:20Z","updated_at":"2015-06-28T20:14:20Z","body":"I don't remember if you started doing it this way yesterday but it would make more sense IMO to switch between this 32 bit repr and an 8 bit repr (which will be \"most\" cases anyway, so we might at least take advantage of the change to scrap a little space here) based on a bit flag in the object header."}}