{"push_id":1335784164,"size":13,"distinct_size":7,"ref":"refs/heads/feature/gh24-oldnew-hash-table","head":"c74ce81703997343d4c69d837c18bde3a1b30206","before":"1f92ca237974619e524274f60605e106d3b6c45c","commits":[{"sha":"9dd35090024bb755b318f37644ba082a90393477","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"win32: create perl.exe, handle Term-ReadKey\n\nperl.exe is FULLRUNPERL. needed also during EUMM builds,\nnot just at test-prep.\n\nTerm-ReadKey depends on Win32 on Win32, move it to the end.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/9dd35090024bb755b318f37644ba082a90393477"},{"sha":"763e29a6bc2f69c6074903a66fdb08ac905e48c1","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Term-ReadKey: cleanup ReadKey.xs, use StructCopy\n\nmemcpy is not available everywhere.\nremove some redundant copies.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/763e29a6bc2f69c6074903a66fdb08ac905e48c1"},{"sha":"2f81285d2e5206ab3009987bb02b9afeee3096b0","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Cpanel::JSON::XS: Update to 3.0217_03\n\nNew stringify_infnan(3) infnan_mode.\nFix inf/nan detection on HP-UX and others.\n\nuse faster strEQc macro\nprefer memEQ for systems without memcmp, to use bcmp there.\nadd more expect_false() to inf/nan branches.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/2f81285d2e5206ab3009987bb02b9afeee3096b0"},{"sha":"050a43e389807c6890835580a13bd235a7697685","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Cpanel::JSON::XS 3.0217_03 secure types, overflows\n\nadd HVMAX_T and RITER_T.\nfix av and hv length types: protect from security sensitive overflows,\nesp. on 64bit, but also with overlong hash keys.\nadd new \"Hash key too large\" error, do not silently truncate overlarge\nhash keys > I32_MAX.\n5.8.1 fixes","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/050a43e389807c6890835580a13bd235a7697685"},{"sha":"326d177c0076414237c926dbb9593992479fb65c","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"add \"name too large\" panics\n\nPanic with overlarge names for hash keys: files, stashes, mro, ...\nwhen being parsed and compiled and also at run-time.\n\nBefore overlarge hash keys (>I32_MAX) were just silently\ntruncated, panic now.\n\nAlso mark all (cperl only) diagnostic messages.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/326d177c0076414237c926dbb9593992479fb65c"},{"sha":"27fb30e9195cae5814726c4907ec09b9d4d2de2e","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"B-C: Update to 1.54_13\n\ndefer REGCOMP for \\P{} properties.\n\nchange $sv->EXTFLAGS to compflags since 5.22 for CALLREGCOMP().\n\nmg_RC_off turn off MGf_REFCOUNTED.  sv_magic insists on setting the\nMGf_REFCOUNTED flag for most sv associations.  reset it when the source\nMAGIC does not have this flag set.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/27fb30e9195cae5814726c4907ec09b9d4d2de2e"},{"sha":"fc1469889b6da44de828f9f164420ca8456919aa","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"hash: refactor hash loops (WIP)\n\n* move utf8 flag to len. accessed directly as bitfield/word union.\n* use faster cmp with static hekcmp on the stack if <256 len.\n  with HAVE_ALLOCA we could avoid this limit and the branch at all.\n* to not try to fetch/exists/delete when !HvTOTALKEYS(hv),\n* do not even calc hash until we need it in hv_store.\n* fix some masked_flags to only use HVhek_WASUTF8 explicitly, nothing else.\n\nAdd some combined accessors:\nHEK_LEN_UTF8, HEK_FLAGS_UTF8 resp. HeKFLAGS_UTF8, HeKLEN_UTF8\n\nMixed endian = big endian: We assume mixed endian to have the MSB at first.\nIf not, the faster word accessor HEK_LEN_UTF8 needs to be split into the two old\nvariants.\n\nPerformance: bench.pl (mixed ackerman) is 5.43% faster,\nbut the micro-benchmarks from perlbench-run are 4% slower.\n\nbench.pl:\n\nmy @a = (0..31);\nmy %h = (1..100);\nmy $s = '0123456789';\nsub f {\n    my ($n) = @_;\n    $n % 2 and bless{1..4} and $h{$n} and $a[$n] and $s =~ s/$/../;\n    $n<2 and return $n;\n    f($n-1)+f($n-2)\n}\nf(27)","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/fc1469889b6da44de828f9f164420ca8456919aa"},{"sha":"50f5aa0f0e0dd0383843efbab2481438ccb80417","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"disable HV_STATIC_HEKCMP for now\n\n8% slower with modern Core-2 CPUs and\nPERL_PERTURB_KEYS_TOP with much less collisions.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/50f5aa0f0e0dd0383843efbab2481438ccb80417"},{"sha":"9815542d2e51ca498b5c69e374d8378d4fdc9a50","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"hash: add bool HeKSVKEY(he), HEK_IS_SVKEY(hek)\n\nto check if a he is HEf_SVKEY (now checks hek_len_utf8 which is unsigned).\nand replace all `HeKLEN(entry) == HEf_SVKEY` with `HeKSVKEY(entry)`.\n\nNote that the mg_len still is signed and uses HEf_SVKEY (-2).\n\nNeeds changes in some XS modules, which checks the signed hek_len\nagainst HEf_SVKEY. Theoretically we could use a unsigned:31 HEf_SVKEY\nmask in hek_len alone, and keep the existing HeKLEN checks, but\n1. this is check is too fragile from the beginning, rather abstract it\n   to a proper macro.\n2. this would be independent on utf8, and setters need to set two values\n   then.\n\nMeasured 4.5% faster in bench.pl","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/9815542d2e51ca498b5c69e374d8378d4fdc9a50"},{"sha":"7c04d52282709c5282dbcca555b1dbc8d5c6f4bd","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Cpanel-JSON-XS: cperl change for HeKSVKEY(he)","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/7c04d52282709c5282dbcca555b1dbc8d5c6f4bd"},{"sha":"4ddf1b7e68f296327ab233ef7c869b613a266fc7","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Internals-DumpArenas: cperl change for HeKSVKEY(he)","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/4ddf1b7e68f296327ab233ef7c869b613a266fc7"},{"sha":"33123ab7d52321a3571c62f0b28e2b2e11b1a24e","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Hash-Util: cperl change for HeKSVKEY(he)","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/33123ab7d52321a3571c62f0b28e2b2e11b1a24e"},{"sha":"c74ce81703997343d4c69d837c18bde3a1b30206","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"hash: fixups","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/c74ce81703997343d4c69d837c18bde3a1b30206"}]}
{"actor":{"display_login":"rurban"}}