{"push_id":3017469625,"size":1,"distinct_size":1,"ref":"refs/heads/mm/64bit-bifs","head":"0e1821edd0f3c351950d42a00bfb7108c11de749","before":"62bb618143f644f700c4e26ca68d97453edee691","commits":[{"sha":"0e1821edd0f3c351950d42a00bfb7108c11de749","author":{"name":"Michał Muskała","email":"a2df1e659c9fd2578de0a26565357cb273292eeb@muskala.eu"},"message":"Turn some gcbifs to ubifs on 64bit systems\n\nBIFs erlang:size/1, erlang:byte_size/1 and erlang:map_size/1 on 64bit\nsystems would never trigger GC, so they can be implemented as regular\nnon-gc BIFs - they are slightly more efficient.\n\nThe fact that size of bianries fits into small ints on 64bits is already\nleveraged in the new bs_get/set_position instructions. If byte size of\nbinaries will fit into a small, so will a size of a map since the\nsize indicates number of words instead of bytes.\n\nAdditionally:\n  * change erlang:map_size/1 implementation not to allocate a\n    bigint if the hashmap size fits in a small, which should be\n    the common case.\n  * change the instruction names to i_bif1 and i_bif1_body for\n    consistency\n  * support %if sequences in make_tables .tab files similar to\n    files generated by beam_makeops","distinct":true,"url":"https://api.github.com/repos/michalmuskala/otp/commits/0e1821edd0f3c351950d42a00bfb7108c11de749"}]}
{"actor":{"display_login":"michalmuskala"}}