{"push_id":839027374,"size":2,"distinct_size":1,"ref":"refs/heads/gca2","head":"d0b44293d0ba17087185a910b43c9988e7117a76","before":"64968e257377e57fee182bc8a74f214fb1c99070","commits":[{"sha":"7fecfc2638fa04f998e3acb31824302c321d9cca","author":{"email":"c890ac7c807a7bcf9e13b1db688c38a109db8565@microsoft.com","name":"Swaroop Sridhar"},"message":"Report Stack Alloca'ed GC Pointers\n\nThis change modifies LLILC's GcInfo tracking to\nreport all stack allocation of GC type (not in SSA)\nas untracked. This including GC pointers allocated\non the stack frame via Alloca instructions, and not just\nGC aggregates.\n\nThis change also has some additional fixes:\n(1) Zero Initialize all GC value allocations, and not just\n    the set of locals in the Reader post-pass.\n(2) Report Generics Context slot correctly -- only report\n    the slot as a gc-pointer if it is a GENERIC_CONTEXTPARAM_THIS\n(3) Supports pinned aggregates -- where all contained pointers\n    are reported as pinned.\n\nImplementation wise, there are some improvements to GcInfo:\nGcFuncInfo now has a Alloca->AllocaInfo map, instead of\nAlloca->Offset mapping. This helps simplify some interfaces\n(like reporting special slots in the reader) and the implementation.\nAll alloca->offset mappings are stored within the AllocaMap,\ninstead of separate fields for GsCookie, SecurityObject, etc.\n\nTesting:\nAll CoreCLR tests pass with Precise GC:\nhttp://dotnet-ci.cloudapp.net/view/dotnet_llilc/job/dotnet_llilc_prtest/1219/console\nThe two timeouts in b68361 and 113574 are expected -- caused by\ninsertion of gc-polls on loop-back edges.\n\nFixes #900\n\nThis change also simplifies the way allocations are tracked\nin GcFuncInfo by introducing the GcAllcaInfo structure.\n\nZero Initialize all GC-allocations\n\nIn the reader ZeroInitLocals() did not initialize the alloca()s\ncreated beyond the reader-pre-pass.\nThe initialization of all GC Values is done in the post-pass now.\n\nRemove hex output\n\nBecause Linux build was unhappy with std::hex\n\nPinned symbols that are not pointers are not reported.\n\nPinned aggregates: Pin all enclosing Gc Pointers","distinct":false,"url":"https://api.github.com/repos/swaroop-sridhar/llilc/commits/7fecfc2638fa04f998e3acb31824302c321d9cca"},{"sha":"d0b44293d0ba17087185a910b43c9988e7117a76","author":{"email":"c890ac7c807a7bcf9e13b1db688c38a109db8565@microsoft.com","name":"Swaroop Sridhar"},"message":"Precise GC by Default","distinct":true,"url":"https://api.github.com/repos/swaroop-sridhar/llilc/commits/d0b44293d0ba17087185a910b43c9988e7117a76"}]}