{"push_id":1592273532,"size":68,"distinct_size":68,"ref":"refs/heads/fix-union-type-matching-assertion","head":"760bb304f052098e9a360cab954690790b28b2b2","before":"c67b785eb03676d38fb685658893842acabaa412","commits":[{"sha":"ce25599abbaa932430e16af1fc9372b4bbb05e8c","author":{"name":"Benoit Vey","email":"cf7c9bef376584cb919ba6f868e2b7552ea55956@etu.upmc.fr"},"message":"Fix pool index computing in ponyint_pool_index (#1525)\n\n- Check if the size is a power of 2 to avoid an off-by-one error on the\r\nindex.\r\n- On 32 bits systems, `size_t` is 32 bits wide and we must substract\r\nfrom 32 instead of 64 when computing the pool index.\r\n- Ensure that CTZ and CLZ operations process 32 bits numbers on 32 bits\r\nWindows.\r\n\r\nCloses #1517.","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/ce25599abbaa932430e16af1fc9372b4bbb05e8c"},{"sha":"81e727a6ff913df0f27f396626eb12ac8bc82e89","author":{"name":"Sean T Allen","email":"745a5948f3a29be7b294faa8063f9998c214afbb@monkeysnatchbanana.com"},"message":"Revert to pre-ticketing mpmcq pop algo (#1521)\n\nThe original testing for performance impact of the ticketing\r\nalgo change was done at Sendence. At the time, we didn't see\r\nany impact. However, we weren't looking in the right place.\r\n\r\nWe have since found that the ticketing algo under some workloads\r\ncan result in very long pauses (up to a second) getting a ticket.\r\nFurther, we regularly see pauses while waiting to get a ticket\r\nmeasured in the 100's of micro-seconds.\r\n\r\nThis commit reverts to the prior double word cas algo that we\r\nfound has far better performance characteristics in the \"bad\"\r\nscenarios we found and the same or slightly better characteristics\r\nunder normal circumstances.\r\n\r\nThe reversion includes the work in a later commit to support GCC\r\n4.7.\r\n\r\nIt does not include the VALGRIND awareness that was added later.\r\nI'm not sure where to put that in, as such, I left it out.\r\n\r\nThere was a change in heap that went along with the original\r\nticketing algo change. That is not included as part of this commit\r\nas we at Sendence didn't switch that and thus are unsure if it\r\nshould be switched or what the impact would be.","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/81e727a6ff913df0f27f396626eb12ac8bc82e89"},{"sha":"a337127348237d906220f07a3f65ae89ded3d53e","author":{"name":"[Main]","email":"98ac7a0879d41cc061eadb6d642daa72abb1fd59@gmail.com"},"message":"Update CHANGELOG for PR #1521","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/a337127348237d906220f07a3f65ae89ded3d53e"},{"sha":"b89925f3f5962c3eba0e1794159a9a95ccd68b0d","author":{"name":"Benoit Vey","email":"cf7c9bef376584cb919ba6f868e2b7552ea55956@etu.upmc.fr"},"message":"Generate trace correctly for tuples\n\nThis change fixes a code generator crash on generating behaviour calls\nwith tuples as arguments.\n\nCloses #1546.","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/b89925f3f5962c3eba0e1794159a9a95ccd68b0d"},{"sha":"903e8ca279e0df914d693aac8a94d446a5cd0c1f","author":{"name":"Sean T Allen","email":"745a5948f3a29be7b294faa8063f9998c214afbb@monkeysnatchbanana.com"},"message":"Rename IPAddress to NetAddress (#1559)\n\nAs was discussed in https://github.com/ponylang/ponyc/pull/1524,\r\nIPAddress is poorly named as it doesn't represent just the IP address,\r\nit incorporates additional information such as port, protocol etc.\r\n\r\nThis change renamed IPAddress to more applicable NetAddress.","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/903e8ca279e0df914d693aac8a94d446a5cd0c1f"},{"sha":"00c2b90208dd2d80b5f2dbf02f5670265e90662d","author":{"name":"[Main]","email":"98ac7a0879d41cc061eadb6d642daa72abb1fd59@gmail.com"},"message":"Update CHANGELOG for PR #1559","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/00c2b90208dd2d80b5f2dbf02f5670265e90662d"},{"sha":"93fb863458365b83832e7ffd1e5bc4796ea55762","author":{"name":"Sean T Allen","email":"745a5948f3a29be7b294faa8063f9998c214afbb@monkeysnatchbanana.com"},"message":"Correctly resubscribe TCPConnection to ASIO events after throttling (#1558)\n\nAs part of the TCPConnection/EPoll One Shot changes that I previously\r\nsubmitted, there was a bug where when the TCPConnection experiences\r\nthrottling, it won't ever get notified when we are ready to send again.\r\n\r\nThis patch addresses that in the short term. There's a PR coming from\r\nDipin Hora that addresses this in a better fashion and handles a\r\nsubtle race condition in One Shot ASIO events. This small patch\r\nshould suffice in the meantime and get master back to a correct state.","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/93fb863458365b83832e7ffd1e5bc4796ea55762"},{"sha":"1d7b4ab86ce5d1eb56cc8d67676c78d875d7f953","author":{"name":"[Main]","email":"98ac7a0879d41cc061eadb6d642daa72abb1fd59@gmail.com"},"message":"Update CHANGELOG for PR #1558","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/1d7b4ab86ce5d1eb56cc8d67676c78d875d7f953"},{"sha":"179ba8f00744b5930e87a485c468914f7956322e","author":{"name":"Sean T Allen","email":"745a5948f3a29be7b294faa8063f9998c214afbb@monkeysnatchbanana.com"},"message":"Update comment to match PR #1559 change","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/179ba8f00744b5930e87a485c468914f7956322e"},{"sha":"e6a69e79ad610796376b8e88a1df11feb5e212b6","author":{"name":"Dipin Hora","email":"272d98517c6454c2143e218df67ce1d444686fc1@gmail.com"},"message":"Linux epoll event resubscribe optimization (#1564)\n\nFix Linux epoll event resubscribe performance and race condition.","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/e6a69e79ad610796376b8e88a1df11feb5e212b6"},{"sha":"13c21eb194f7d0a441b46b79a9dd60e443581ace","author":{"name":"[Main]","email":"98ac7a0879d41cc061eadb6d642daa72abb1fd59@gmail.com"},"message":"Update CHANGELOG for PR #1564","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/13c21eb194f7d0a441b46b79a9dd60e443581ace"},{"sha":"29c54e4eadc3e46168a967fc699cf1566c065acb","author":{"name":"Sean T Allen","email":"745a5948f3a29be7b294faa8063f9998c214afbb@monkeysnatchbanana.com"},"message":"Add missing \"the\" in COC","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/29c54e4eadc3e46168a967fc699cf1566c065acb"},{"sha":"806b92133ece9cc07d7095033bb1674972b3adb3","author":{"name":"sylvanc","email":"6d73f41bac4671721fcb3bb581c83d6771978e29@gmail.com"},"message":"Recurse when tracing an iso that has become a val\n\nForce `mutability` to trigger recursion.","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/806b92133ece9cc07d7095033bb1674972b3adb3"},{"sha":"afbfab4838c0486ebb671f67a6b6dcad95dea00a","author":{"name":"Benoit Vey","email":"cf7c9bef376584cb919ba6f868e2b7552ea55956@etu.upmc.fr"},"message":"Load program symbols dynamically in the runtime\n\nThe __DescTable and __DescTableSize defined by Pony programs and\ngenerated by the compiler are now accessed dynamically by the runtime\n(with dlsym on POSIX and GetProcAddress on Windows).\n\nThis change was made for two reasons:\n\n- To avoid link errors from of compiler-generated symbols when using\n  the runtime library directly in a C program.\n- JIT compilation is being worked on for the compiler test framework.\n  Since we'll want to run more than one JIT'ed programs in the test\n  suite, the symbol addresses must be dynamic.\n\nAs part of this change, the pony_start runtime function now takes an\nadditional parameter indicating whether the language-specific features\nof the Pony runtime should be intialised. This solves the first concern\nstated above by avoiding referencing the symbols.","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/afbfab4838c0486ebb671f67a6b6dcad95dea00a"},{"sha":"946c823ba0d8dd4d03ef9a0f10b3102a14004828","author":{"name":"Joe Eli McIlvain","email":"18d2b4c17a2bf0db9bfdc290b2fce9bf5b491188@gmail.com"},"message":"Performance improvement in subtype checking.\n\nIn subtype checking we now avoid some costly allocation operations\nassociated with viewpoint adaptation and reification by checking\nfirst if the type could be a subtype of the other if caps were ignored.\nIf not, then there's no point in moving forward with comparisons\nthat take the cap into account, but require costly allocations.\n\nReduces compile time drastically for programs requiring a lot of type\nunions to be flattened, where those types involve viewpoint adaptation.\nFor the real-world package under test, compile time was reduced by 23x.\nFor comparison, standard library test compile time was not affected by this change.","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/946c823ba0d8dd4d03ef9a0f10b3102a14004828"},{"sha":"7884a6cd68bd999d3b26e812b451e0a5c5850d59","author":{"name":"Dipin Hora","email":"272d98517c6454c2143e218df67ce1d444686fc1@gmail.com"},"message":"Add heap/hashmap/pool benchmarks and command to run them (#1565)\n\n* Add in benchmarks for pool, heap and hashmap in pony runtime.\r\n* Add `make benchmark` command to easily run benchmarks","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/7884a6cd68bd999d3b26e812b451e0a5c5850d59"},{"sha":"7c7e0368a004bb060ba316fa70e74f1b97d67c88","author":{"name":"Dipin Hora","email":"272d98517c6454c2143e218df67ce1d444686fc1@gmail.com"},"message":"Reduce time to allocate/destroy a large chunk (#1566)\n\n* Add heap/hashmap/pool benchmarks and command to run them\r\n\r\n* Add in benchmarks for pool, heap and hashmap in pony runtime.\r\n* Add `make benchmark` command to easily run benchmarks\r\n\r\n* Reduce time to allocate/destroy a large chunk\r\n\r\n* Enhance large chunk pagemap setting by setting multiple pagemaps\r\n  in bulk to avoid unnecessary work and reduce time to allocate\r\n  and destroy a large chunk.\r\n* Enhance heap tests to ensure pagemaps are set correctly for\r\n  large chunks","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/7c7e0368a004bb060ba316fa70e74f1b97d67c88"},{"sha":"0ccc1008ef77a0950e70b40198dd03bf1b9dc8b6","author":{"name":"Dipin Hora","email":"272d98517c6454c2143e218df67ce1d444686fc1@gmail.com"},"message":"Pool block and pool index size performance improvements (#1568)\n\n* Modify `pool_block_insert` to insert a free block of equal size\r\n  at beginning instead of end of list of other blocks of equal size.\r\n* Modify `ponyint_pool_index` to remove a branch.","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/0ccc1008ef77a0950e70b40198dd03bf1b9dc8b6"},{"sha":"e3b2f6aab842a0c6df115b3af22988db802233a8","author":{"name":"Dipin Hora","email":"272d98517c6454c2143e218df67ce1d444686fc1@gmail.com"},"message":"Fix benchmark build on 32 bit platforms. (#1570)","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/e3b2f6aab842a0c6df115b3af22988db802233a8"},{"sha":"76b085c60ca52c1bd9979ee53ba2b0669399cc90","author":{"name":"Dipin Hora","email":"272d98517c6454c2143e218df67ce1d444686fc1@gmail.com"},"message":"Fix PonyTest timer cancel logic (#1577)\n\nPrior to this commit, PonyTest would register multiple timers\r\nfor a long test but only keep track of the last one. This would\r\nresult in not all timers getting cancelled on successful\r\ncompletion of a test. This would mean that PonyTest would not\r\nexit immediately after all tests passed but would still wait for\r\nuncancelled timers to expire even though the tests for these\r\ntimers had already successfully passed.\r\n\r\nThis commit fixes the issue by having PonyTest keep track of all\r\ntimers it creates in an array and then cancelling every timer when\r\na test successfully completed. As a result, now, PonyTest exits\r\nimmediately after all tests have passed.","distinct":true,"url":"https://api.github.com/repos/tokenrove/ponyc/commits/76b085c60ca52c1bd9979ee53ba2b0669399cc90"}]}
{"actor":{"display_login":"tokenrove"}}