{"push_id":1197184835,"size":9,"distinct_size":4,"ref":"refs/heads/feature/gh8-cowrefcnt-test","head":"60e55b38494814fab86a2f99f589bb624b18c6e2","before":"a5b22f1de876357c65f44c27e627ea5364653043","commits":[{"sha":"79dbf359a1f851318573c4ad6ac7555c89315964","author":{"name":"bulk88","email":"5a6b7f04a018f04b3797245d9d819fcd593a8fa5@hotmail.com"},"message":"configpm shouldn't load XSConfig\n\nThe core cperl and p5p perl Config.pm generated has a 5.XXXYYY series\nversion number identical to the perl version, XS Config uses 6.XX series\nversion numbers so it never conflicts with P5P's Config.pm. When doing\ndevelopment on cperl, and doing \"make not_target_all_or_test\", the\nXS Config.pm can be downgraded (Config.pm is rebuilt) to the initial core\nConfig.pm. Then running full cperl (not mini cperl) causes\n\nC:\\sources\\cperl>cperl -Ilib -MConfig -e\"Config::config_re()\"\nConfig object version 6.21 does not match bootstrap parameter 5.024000 at\nlib/Config.pm line 83.\n\nC:\\sources\\cperl>\n\nSince we dont easily know in configpm what version of XS Config is\nbundled with cperl, there is no point trying to write the correct\nXSConfig version number in the initial Config.pm. Running the initial\nConfig.pm with full cperl has never been done before I pull that trick off\n, so the load XSConfig from initial Config.pm code has never been executed\nbefore and it doesn't actually work, so just always be 100% PP, inside\nthe initial Config.pm. 99%-100% of intial Config.pm's usage is by miniperl\nanyway, so initial Config.pm is deoptimized for XSConfig (example,\ninitial Config.pm has the cached keys at the bottom) anyway and shouldn't\nbe seen in a production/shipped/installed cperl anyway.\n\nI'm not sure \"return Config->FETCH($_[0]);\" in AUTOLOAD even does anything\nsane. For one, Config::config_vars sub is a vararg and that line isn't\nvararg compatible.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/79dbf359a1f851318573c4ad6ac7555c89315964"},{"sha":"94fff67730bd1148aeb7910e39050ef4881e88f9","author":{"name":"bulk88","email":"5a6b7f04a018f04b3797245d9d819fcd593a8fa5@hotmail.com"},"message":"B-C: DynaLoader's boot xsub isn't called DynaLoader::bootstrap\n\nFixes a SEGV, where a perl exception was thrown that shouldn't have\nhapppened. That exception had no eval frame to catch it because of BC\napp's uniqueness causing a SEGV (C stack exhaustion) eventually. Pass\nthe CV * to boot xsub on all perl versions. 5.22 added XS handshake code\nthat requires cv arg to be an actual CV or else SEGV but passing NULL for\nthe cv arg to a XSUB has never been perl API/ABI so don't do it on any\nperl version. The CV * is free/no cost to obtain it anyway because newXS\nreturns it. See GH PR for details on crash.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/94fff67730bd1148aeb7910e39050ef4881e88f9"},{"sha":"7282ac6e91638d2c4217c7a3bcc691d9eb1679c2","author":{"name":"bulk88","email":"5a6b7f04a018f04b3797245d9d819fcd593a8fa5@hotmail.com"},"message":"B-C: escape backslashes in shared lib paths for doublequote strings\n\nFixes a SEGV, where a perl exception was thrown that shouldn't have\nhapppened. That exception had no eval frame to catch it because of BC\napp's uniqueness causing a SEGV (C stack exhaustion) eventually. See GH\nPR for details on crash.\n\nThe exception was\n\"Error: load_file ....lib/auto/Config/Config.dll not found\"\nsince the single backslashes were removed by Visual C with\n\n\"warning C4129: '.' : unrecognized character escape sequence\"\n\"warning C4129: 'l' : unrecognized character escape sequence\"\n\nAdd escaping of backslashes so the emitted C strings don't trigger escape\nsequences.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/7282ac6e91638d2c4217c7a3bcc691d9eb1679c2"},{"sha":"5bde59f430f631bfeb522745ee0cc4cf9ae84dfb","author":{"name":"bulk88","email":"5a6b7f04a018f04b3797245d9d819fcd593a8fa5@hotmail.com"},"message":"Win32: dont set TEST_JOBS for appveyor\n\nTAP::Harness doesnt support parallel testing on Win32. Appveyor gives you\nonly 1 core. Setting TEST_JOBS only makes it impossible to read the\nappveyor build log to figure out which test file hung, since the files are\nlisted in the console randomly, not in the order they were serially run\nwhen TEST_JOBS != 1 on windows.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/5bde59f430f631bfeb522745ee0cc4cf9ae84dfb"},{"sha":"a3228aa60459047127ec74af872edb8072671db4","author":{"name":"bulk88","email":"5a6b7f04a018f04b3797245d9d819fcd593a8fa5@hotmail.com"},"message":"appveyor: enable RDP\n\ndiagnose a hang in e_perlcc.t","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/a3228aa60459047127ec74af872edb8072671db4"},{"sha":"f24a94b2082b8d8e03defa8a0e8cc561c6fc21c8","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"CurREFCNT: aesthetics, rename len to cur","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/f24a94b2082b8d8e03defa8a0e8cc561c6fc21c8"},{"sha":"186dbee68f9b825fc2f3bd0a2318eb2baa38cbca","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"CowREFCNT: new sv_cowrefcnt, shared with sv_refcnt\n\n8+24 bit for the U32 refcnt in HEAD\n\nFor read-only strings (i.e. embedded and with the compiler) and with\nthreads it makes no sense to share the volatile cowrefcnt with the\nread-only buffer of the string. We cannot use read-only strings.  And\nit's problematic to change the read-onlyness of the COW'ed string just\nto bump the refcnt.\n\nSo move the CowREFCNT to the HEAD, to be shared with sv_refcnt.\nRemove all the code which dealt with CowREFCNT at the end of the string.\n\nWe don't inc both refcounts above MAX, but we keep silent in refcnt, and\nleave potential leaks.  In practice the highest observed refcnt was\n118480, MAX is 16777216.  The cowrefnt is still cap'ed at 255.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/186dbee68f9b825fc2f3bd0a2318eb2baa38cbca"},{"sha":"b6a9c56cbdce7ca0d7846913dd3350ba03a8a483","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"CowREFCNT: finalize. doc, use PERL_NEW_COPY_ON_WRITE\n\nWe cannot re-use PERL_COPY_ON_WRITE, thus we drop support for\nit and introduce PERL_NEW_COPY_ON_WRITE as new default.\n\nFixes for non-debugging perl.\nAnd update the docs.\n\nAlso minor optimizations in the miniperl @INC,\nmove . and dist/Exporter/lib to the front.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/b6a9c56cbdce7ca0d7846913dd3350ba03a8a483"},{"sha":"60e55b38494814fab86a2f99f589bb624b18c6e2","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"CowREFCNT: improve regular sv_uncow [WIP]\n\nsimple optimizations. sv_grow is better than SvGROW here.\ndo not set the 3 values 2x, when 1x is enough.\nsv_grow already sets the len.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/60e55b38494814fab86a2f99f589bb624b18c6e2"}]}
{"actor":{"display_login":"rurban"}}