{"push_id":1398176873,"size":49,"distinct_size":0,"ref":"refs/heads/featurex/gh24-array_he","head":"127edfd1bbd8f84a8f75741b2637f27c6075f277","before":"5402319dc3c5b9bdab76aa529590805f8de2bb65","commits":[{"sha":"881538d2713e45688b220807d8c092e5daf8ee0a","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"perlcdelta.pod: format C<OP> macros","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/881538d2713e45688b220807d8c092e5daf8ee0a"},{"sha":"be4af018b1503206a3db3c49a69f0d41f2b9288e","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"travis: remove encrypted vars\n\nwe don't need them yet.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/be4af018b1503206a3db3c49a69f0d41f2b9288e"},{"sha":"a32d6b7722e788752fde161c80ac9282f8730259","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"op/getppid.t: fix reparenting test on newer kernels\n\non linux kernels since 3.4 with PR_SET_CHILD_SUBREAPER\nan orphaned child is not necesserily reparented to init.\nrelax the test for this.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/a32d6b7722e788752fde161c80ac9282f8730259"},{"sha":"6c80b8e487f0746fc40da4e8651a3d2bc12e23f3","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"INTERN.h: define EXT used for -flto=thin\n\notherwise -fwhole-program link-time optimization will drop\nthe pure declaration in globals.o of globals PL_* vars.\n\nThis lets shared libs access libperl globals with -flto=thin,\ncurrently clang-3.9 only.\n\nWe add config.h before INTERN.h to be able to check if\n__attribute__((used)) can be used.\nSee #186","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/6c80b8e487f0746fc40da4e8651a3d2bc12e23f3"},{"sha":"3de2ba29a9ad3b3641cb01257f1894e5d467dfd0","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Use attribute used for public API functions\n\nused by shared XS libs.\n-flto drops every inlined function body if not marked as used.\n\nmakes it pass in PERL_CORE, but is 10% slower than -flto,\ncauses -flto failures in poting/libperl.t (missing exports)\nand causes misoptimizations with -O3 -flto=thin with some encoding feature,\nwith some test fails.\nSee #186","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/3de2ba29a9ad3b3641cb01257f1894e5d467dfd0"},{"sha":"2ff247ff6cd14607053eeefa4c0b00e92f42005f","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"unuse static inline functions\n\nmost of the khw static inline S_invlist_* are not API.\nalso the new static davem S_cx_*block helpers.\n\nThey should be inlined.\n\nWould close #186, but is blocked by the 10% performance regression for\nthese commits, not caused by clang-3.9 -O3 -flto=thin.  Same drop\nwith gcc-6 -O3 -flto.\nApparently the gcc nor clang inliner does not inline __attribute__((used))\nfunctions, even if it should.  Inline it plus creating a public copy.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/2ff247ff6cd14607053eeefa4c0b00e92f42005f"},{"sha":"7f9d3bb802ef31115e4023f69b4993806216cb84","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Add always_inline for b (mathoms) and i\n\nThe problem is that  __attribute__((used)) functions are not inlined.\nWith always_inline + used we hope to get inlined variants plus exported copies\nfor the API.\nAdd PERL_MATHOM_CALLCONV to use it.\n\nNote that __attribute__((always_inline)) must be before the function name, not after.\nSo we add it to PERL_MATHOM_CALLCONV and PERL_STATIC_INLINE.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/7f9d3bb802ef31115e4023f69b4993806216cb84"},{"sha":"02b1446a23f181cb9731ecebcd937883f34af1a9","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"config: add d_setenv, setenv global visibility\n\nAnd use it.\nEsp. with `-fvisibility=hidden -flto` setenv is not globally visible.\nSee #186","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/02b1446a23f181cb9731ecebcd937883f34af1a9"},{"sha":"391a1543fd34eabfddbe703dcf9c907e04e7228c","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"config: add d_attribute_always_inline keys","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/391a1543fd34eabfddbe703dcf9c907e04e7228c"},{"sha":"2f57c73fdcf2fae6e9782ace8b359bb8312f382b","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"ExtUtils-ParseXS 3.32_01: fix visibility\n\nFix visibility declaration of XS_EXTERNAL for -flto and\n-fvisibility=hidden.\nSee #186","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/2f57c73fdcf2fae6e9782ace8b359bb8312f382b"},{"sha":"b65e17b644250c3052d29d2a4b9da95c0cfb6b19","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"lto: add __attribute__global__\n\nagainst default visibility hidden.\n\nWe could also use GLOBAL instead of  __attribute__global__.\nBut GLOBAL would be expected at the front of the declaration,\nwhilst the attribute is better put behind.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/b65e17b644250c3052d29d2a4b9da95c0cfb6b19"},{"sha":"844c7dda979c0c8b8e542ef595321b7ef93f1df4","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Configure: handle -fsanitize=cfi\n\nfixup ccflags, ldflags and lddflags for the needed\nflags for -fsanitize=cfi, but also -flto and more.\nEsp. disable -fstack-protector","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/844c7dda979c0c8b8e542ef595321b7ef93f1df4"},{"sha":"2aea8c94e58ca3996f2b06b2210eb0e726b9b18a","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"config: no attribute used\n\nused is not helpful for a fast API and lto, global visibility is.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/2aea8c94e58ca3996f2b06b2210eb0e726b9b18a"},{"sha":"39a3c7995114d712b8dce1e3a84371b869ea6fa3","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"lto: -DLTO\n\nuse __attribute__((__visibility__(\"default\"))) only with clang -flto\n\ngcc -flto works fine without and warns with\nwarning: '__visibility__' attribute ignored [-Wattributes]\n    __attribute__noreturn__;","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/39a3c7995114d712b8dce1e3a84371b869ea6fa3"},{"sha":"6aad78c934bd818ee2980a03c35272cc9687711f","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"porting/libperl.t: honor darwin [no dead strip]\n\nwith the new global visibility attribute for public API data, which\nwould have been stripped without this attribute, honor it it in\nthe darwin-style nm output when checking the symbols.\ndead-strip is also ignored for attribute((used)).","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/6aad78c934bd818ee2980a03c35272cc9687711f"},{"sha":"f41cbf0ade0a9aeb458cc14c0cd5db4306b4927b","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"porting/libperl.t: honor clang -flto\n\nwith llvm bitcode in libperl.a we need to detect\nthe llvm-nm-\\d.\\d variant, use -B for the BSD format\nand there is no data const section yet, only data data.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/f41cbf0ade0a9aeb458cc14c0cd5db4306b4927b"},{"sha":"81c6470c15dae7d9a5788e67a3c0e4eff2d750ea","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"porting/globvar.t: honor clang -flto\n\nwith llvm bitcode in libperl.a we need to detect\nthe llvm-nm-\\d.\\d variant, use -B for the BSD format\nand allow empty pointers -----------------","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/81c6470c15dae7d9a5788e67a3c0e4eff2d750ea"},{"sha":"93bddc7479c9ab7eb41df0f494322231661b563c","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"document -flto support changes\n\nCloses #186","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/93bddc7479c9ab7eb41df0f494322231661b563c"},{"sha":"72d6c3d6cd9072209aee7e07d2a9377632df58d2","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"hash: abstract HE_EACH collision iterator\n\nHE_EACH and HE_OEACH.\n\nThe collision search first has to be abstracted to be able to switch to\nother schemes, like open addressing in its many variants or better data\nstructures. (2 word HE, indirect compressed arrays, ...)  Even if not\nall searches can be turned into macros. Note that macros make it hard to\ndebug, force inlined static functions would be better. But to test\nperformance benefits I had to chose macros for now, and will then\nconvert them back over to normal code.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/72d6c3d6cd9072209aee7e07d2a9377632df58d2"},{"sha":"0ce19093b1c50bba5dc8d8807c36281d881aa907","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"hash: abstract He_IS_SVKEY(he), HEK_IS_SVKEY(hek)\n\nto check if a he is HEf_SVKEY.\nand replace all `HeKLEN(entry) == HEf_SVKEY` with `He_IS_SVKEY(entry)`.\n\nNote that the mg_len is signed and uses HEf_SVKEY (-2).","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/0ce19093b1c50bba5dc8d8807c36281d881aa907"}]}
{"actor":{"display_login":"rurban"}}