{"push_id":889179999,"size":13,"distinct_size":13,"ref":"refs/heads/master","head":"b16ff5935ff9df3211798f18f0c951666ae27774","before":"9a6ac81289733f8622ff3cb2f88447d9cd7ef4db","commits":[{"sha":"4cb6f34a094a90527106575d3578ba3f9c390b03","author":{"email":"aa34124753128a778aeec27fbba9844a037e1b54@microsoft.com","name":"Sergiy Kuryata"},"message":"Implement an allocator for executable (JIT) memory in PAL\n\nThis change improves performance of CoreCLR with Server GC enabled by\nabout 30% according to ASP.NET benchmarks on Linux. The table below shows\nnumber of requests per second that an ASP.NET benchmark could handle on my\nmachine before and after the change.\n\nPipeline        Before          After           Improvement\n16              230K Req/sec    305K Req/sec    33%\n256             240K Req/sec    340K Req/sec    42%\n\nThe problem was that with Server GC enabled, the GC initialization code was\nreserving a large chunck (about 18GB on my machine) of virtual address\nspace during runtime initialization. Unfortunately, due to implementation\ndetails of MM on Linux, GC memory was located next to the location of\nlibcoreclr. As a result, the runtime could not allocate memory for JIT'ed\ncode close to the coreclr library. Because of that the JIT'ed code had to\nuse jump stubs to call functions from the runtime (which can become very\nexpensive, for example, for write barriers).\n\nThis change fixes this issue by implementing a simple allocator that tries\nto reserve (during process startup) a chuck of virtual memory that is\nlocated near the coreclr library (within 2GB range) that can be later used\nfor JIT'ed code.","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/4cb6f34a094a90527106575d3578ba3f9c390b03"},{"sha":"1ff81b4b2b574bad704e484e57a7e09bc1a633e5","author":{"email":"ed926daee0ba13048dd3ad4ece9564359edcaf42@comcast.net","name":"William Godbe"},"message":"resolved naming conflict","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/1ff81b4b2b574bad704e484e57a7e09bc1a633e5"},{"sha":"94bd37b625fffe29e1e346421a444d41c30bb3a9","author":{"email":"a0331dcd1f6f0924d967fa53341a4e8553603730@microsoft.com","name":"William Godbe"},"message":"Merge pull request #2208 from wtgodbe/prTestRun\n\nresolved naming conflict","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/94bd37b625fffe29e1e346421a444d41c30bb3a9"},{"sha":"19caa0c4a47f853e5c7ded9a406e930b2fb833c2","author":{"email":"ed926daee0ba13048dd3ad4ece9564359edcaf42@comcast.net","name":"William Godbe"},"message":"Added release","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/19caa0c4a47f853e5c7ded9a406e930b2fb833c2"},{"sha":"e4750fce8cb5bb7027af7440a25155c2031ead20","author":{"email":"a0331dcd1f6f0924d967fa53341a4e8553603730@microsoft.com","name":"William Godbe"},"message":"Merge pull request #2209 from wtgodbe/prTestRun\n\nModifications to OS X PR test run","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/e4750fce8cb5bb7027af7440a25155c2031ead20"},{"sha":"cd094d84eeb14c6cc33f383bf5dbaae1352d2d6e","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"stephentoub"},"message":"Port System.Threading.Semaphore from corefx to mscorlib\n\nIn the full framework, System.Threading.Semaphore is defined in System.dll, which no longer exists in coreclr/corefx.  Thus Semaphore needs to be defined in either mscorlib in coreclr or in System.Threading.dll in corefx (either way it's exposed from the System.Threading contract).  Today it's implemented in System.Threading.dll in corefx, but this results in a very unnatural dependency on Unix from System.Threading.dll to libcoreclr's PAL layer.  This is because on Unix libcoreclr needs to emulate wait handles, and thus all of the implementation for a Win32 semaphore (for which Semaphore is a thin wrapper) is in libcoreclr.\n\nTo eliminate that unnatural dependency, this commit ports System.Threading.Semaphore to mscorlib.  It'll be type-forwarded as part of the System.Threading.dll partial facade.  A corresponding commit in corefx will remove all of the implementation from there.","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/cd094d84eeb14c6cc33f383bf5dbaae1352d2d6e"},{"sha":"3597a91ad605f4c8d45d1e6cd2c4e38c03cd5730","author":{"email":"ed926daee0ba13048dd3ad4ece9564359edcaf42@comcast.net","name":"William Godbe"},"message":"Fixed copyartifacts issue","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/3597a91ad605f4c8d45d1e6cd2c4e38c03cd5730"},{"sha":"e167bc49c79fbfa9dd4cb95e48b499418325a0b1","author":{"email":"a0331dcd1f6f0924d967fa53341a4e8553603730@microsoft.com","name":"William Godbe"},"message":"Merge pull request #2211 from wtgodbe/prTestRun\n\nShould allow for test suite runs on OSX on each PR","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/e167bc49c79fbfa9dd4cb95e48b499418325a0b1"},{"sha":"9d92683206a08f0ce1756a7e1eefb10e851b95f9","author":{"email":"aa34124753128a778aeec27fbba9844a037e1b54@microsoft.com","name":"Sergiy Kuryata"},"message":"Address code review feedback","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/9d92683206a08f0ce1756a7e1eefb10e851b95f9"},{"sha":"aa78a2773ffe573c705caa11dd66467ae6c82781","author":{"email":"fa77123c115913ca9e97c82fc48a0b47e477b7b4@microsoft.com","name":"Mike McLaughlin"},"message":"Some SOS fixes/cleanup (bpmd, setclrpath, setsostid).\n\nEnable the module load notification when no module or methods are found.\n\nsetclrpath/setsostid print the current path/tid if no arguments. \"setsostid -clear\"\nnow clears the tid/os id mapping.\n\nAdded better exception hook to sos plugin to catch special CLRN exception. Before\nmultiple lldb \"Exception breakpoints\" where set each time bpmd added a new bp. Added\na \"DoNotDeleteOrDisable\" message to the exception breakpoint created.\n\nFix bpmd on release builds. RtlpRaiseException was being inlined and the ExceptionRecord\nparameter was being optimized away causing the GetLastEventInformation api to failed\nand the special CLRN exception to be ignored.\n\nAdd sos help support. \"soshelp\" displays help about a command.","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/aa78a2773ffe573c705caa11dd66467ae6c82781"},{"sha":"bc922e2b97678d7d31e8fee3f83682d2678fe725","author":{"email":"fa77123c115913ca9e97c82fc48a0b47e477b7b4@microsoft.com","name":"Mike McLaughlin"},"message":"Merge pull request #2202 from mikem8361/sosfixes\n\nSome SOS fixes/cleanup (bpmd, setclrpath, setsostid).","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/bc922e2b97678d7d31e8fee3f83682d2678fe725"},{"sha":"0bdc646c5955ca0c735a3976d01969b246e848ef","author":{"email":"aa34124753128a778aeec27fbba9844a037e1b54@microsoft.com","name":"Sergiy Kuryata"},"message":"Merge pull request #2205 from sergiy-k/executablememory\n\nImplement an allocator for executable (JIT) memory in PAL","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/0bdc646c5955ca0c735a3976d01969b246e848ef"},{"sha":"b16ff5935ff9df3211798f18f0c951666ae27774","author":{"email":"202bfdaf89d4929b26015b6e3335e051707b8d9a@microsoft.com","name":"Jan Kotas"},"message":"Merge pull request #2210 from stephentoub/semaphore_in_mscorlib\n\nPort System.Threading.Semaphore from corefx to mscorlib","distinct":true,"url":"https://api.github.com/repos/stephentoub/coreclr/commits/b16ff5935ff9df3211798f18f0c951666ae27774"}]}