{"push_id":862176763,"size":156,"distinct_size":51,"ref":"refs/heads/master","head":"e3b2e3f33bc839b0636684d89b2a3d007bffff8f","before":"628ddd0964ab33a075cccf959705ae7499b9e87e","commits":[{"sha":"ae4322069b01cb8b3d5b9de8e739a9ecc5fbde78","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Add SuppressExceptionHandlers flag\n\nThis flag allows compiling in a bring-up mode where EH clauses aren't\nreported to the runtime.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/ae4322069b01cb8b3d5b9de8e739a9ecc5fbde78"},{"sha":"d55421b8066d7fe9fdc668a24b7e1b5162e8e215","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Discard functions with landing pads\n\nThis is a temporary measure during EH bring-up; methods with landing pads\nwill have their IR shown (if IR dumps are enabled), but then will be\ndiscarded so we'll fall back to the other jit rather than choking on the\nlanding pads downstream.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/d55421b8066d7fe9fdc668a24b7e1b5162e8e215"},{"sha":"033ce255f4bd8dd129441d6514f1cd103b44e8b8","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Map Basic Blocks to EHRegions\n\nExpand the FlowGraphInfoMap to record the innermost containing EHRegion\nfor each BasicBlock.\n\nRemove the explicit Region parameter to makeFlowGraphNode since it is now\nassumed to be the CurrentRegion.\n\nRemove the overload of fgNodeGetRegion that takes a Function (and rewrite\nits only callsite to get the tree directly).","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/033ce255f4bd8dd129441d6514f1cd103b44e8b8"},{"sha":"8b2fda43e9be961391708ed8800c5083ccc77594","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Implement get/set CatchClassToken\n\nAllow recording catch class tokens on region objects.  Use a union to\noverlay data used only for finally regions from data used only for catch\nregions.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/8b2fda43e9be961391708ed8800c5083ccc77594"},{"sha":"86f4d936c0bd1a1e679349f416cdff3e738c44a1","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Reorder FlowGraphNodeInfo fields\n\nGroup pointers for better packing.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/86f4d936c0bd1a1e679349f416cdff3e738c44a1"},{"sha":"7b526864a92e8cf567d212ff7aca4bc1c465a1df","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Move SuccessorEdgeList implementations to cpp file\n\nIn preparation for making their logic a little more complex.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/7b526864a92e8cf567d212ff7aca4bc1c465a1df"},{"sha":"e700b3beb35ab6e828817a22832051c91a155f1d","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Move fgNodeGet*EdgeList to Reader class\n\nThis will facilitate consulting the FlowGraphNodeInfoMap to identify\nhandlers for nominal edges.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/e700b3beb35ab6e828817a22832051c91a155f1d"},{"sha":"e2bba9aa9963b135aa2425492f59f0f9b4f5a13b","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Implement reader support for catch handlers\n\nAdd a hook, fgEnterRegion, used during first-pass flow-graph construction\nto perform any necessary client actions for setting up regions.\n\nImplement fgEnterRegion in GenIR to create a landing pad for each\nprotected region.  Clauses are added for catch handlers in the landing\npad; other handler types are stubbed out.\n\nUpdate FlowGraphSuccessorEdgeList to report a nominal edge from any\nhandler-protected block to its handler block (even if no throwing\ninstructions have been inserted into the source block yet); this\nconservative model is what the base Reader class is expecting in terms of\nEH flow (and in particular, this ensures that handlers are visited when\ndetermining reachable blocks to decide which blocks to run pass 2 over).\n\nRemove setupBlockForEH now that its functionality has been incorporated\ninto fgEnterRegion.\n\nUpdate leave processing to generate a call to llvm.eh.endcatch whenever a\ncatch handler is exited.\n\nCloses #66","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/e2bba9aa9963b135aa2425492f59f0f9b4f5a13b"},{"sha":"1c811522d3f20d3220eb0fb33723b0750ab360da","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Generate invoke instructions\n\nCalls in protected regions that may throw must use invoke instructions\nannotated with the appropriate unwind label.\nInvoke is a terminator, so it splits its block; update some code in\ngenConditionalPointBlock to allow that there may be multiple point blocks\nonce the invoke has been inserted.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/1c811522d3f20d3220eb0fb33723b0750ab360da"},{"sha":"dac7652b2d3d2c6a5490ee3b39de9e4b6b0898d7","author":{"email":"8ca7188ad8d9b98e1ad5584704078fcf19aa7c78@gmail.com","name":"Joseph Tremoulet"},"message":"Merge pull request #491 from JosephTremoulet/ReadCatch\n\nImplement reader support for catch handlers and may-throw calls","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/dac7652b2d3d2c6a5490ee3b39de9e4b6b0898d7"},{"sha":"cbb84aa34b7930d577b04d729dbec4e971f7c7ae","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Merge branch 'master' into EH\n\nConflicts:\n\tlib/Jit/LLILCJit.cpp","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/cbb84aa34b7930d577b04d729dbec4e971f7c7ae"},{"sha":"a8eb4ec5fc78462bf2b6a7fe168bed4b855b3c96","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Merge branch 'master' into EH","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/a8eb4ec5fc78462bf2b6a7fe168bed4b855b3c96"},{"sha":"22180f1767ef60794c3aedc69f418e19bf13ee46","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Merge branch 'master' into EH\n\nConflicts:\n\tlib/Reader/reader.cpp","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/22180f1767ef60794c3aedc69f418e19bf13ee46"},{"sha":"574c5529936e33cfb57e970dc4b0a695c0d8b0e1","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Merge branch 'master' into EH","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/574c5529936e33cfb57e970dc4b0a695c0d8b0e1"},{"sha":"0a13eb6e0b75c827c053eeb8a55da550c4a5d3c9","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Merge branch 'master' into EH","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/0a13eb6e0b75c827c053eeb8a55da550c4a5d3c9"},{"sha":"6241eaf075912c7cb92d1d42ba3e975108378117","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Generate correct `resume` instructions\n\nThe argument is the entire struct defined by the LandingPad, not the\nextracted exception pointer field of it.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/6241eaf075912c7cb92d1d42ba3e975108378117"},{"sha":"974c4487a63c91f81481558792226193ca0f1d29","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Bail on nested try regions\n\nAs currently written, the exception dispatch from the inner landingpad\nwould jump straight to the outer landingpad if the exception type doesn't\nmatch.  This is incorrect; that path out of the inner dispatch should jump\nto a common point that the outer landingpad also jumps to (only one\n`landingpad` instruction [the inner one] should be executed in these\ncases).\nJust punt on these cases since the dispatch code will need to look very\ndifferent once the new representation lands.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/974c4487a63c91f81481558792226193ca0f1d29"},{"sha":"7dbc93de042c9245276f913330e5ed53675e7639","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Generate landingpads targeting CoreCLR personality\n\n - Change the name of the personality function to the correct one for\n   CoreCLR.\n - Pass the catch class token value directly as the clause argument on the\n   landingpad instruction.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/7dbc93de042c9245276f913330e5ed53675e7639"},{"sha":"d91dccd0b0b8af251de4b692212376e4a55f23ed","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Report funclet/handler info\n\nAdd a jit layer before the ObjectLinkingLayer to inspect the object and:\n - Call reserveUnwindInfo for each funclet (before calling allocMem)\n - Call allocUnwindInfo separately for each funclet\n\nAlso, add code to:\n - Call setEHcount and setEHinfo to report protected regions and their\n   handlers\n\nThe individual functions' contributes in .xdata are determined by parsing\nthe unwind info headers in the .xdata and markers placed between the\nfunctions' contributions by the CoreCLR EH table generation in LLVM.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/d91dccd0b0b8af251de4b692212376e4a55f23ed"},{"sha":"d79689f9a17c06476c1f1f3cddd843332e8c5ce7","author":{"email":"25bde77e144fcca55ce01543af70cbcf516b8a17@microsoft.com","name":"Joseph Tremoulet"},"message":"Allow functions with landingpads to be lowered\n\nThe handler types supported in the reader are now also supported in\nlowering/emission.","distinct":false,"url":"https://api.github.com/repos/AndyAyersMS/llilc/commits/d79689f9a17c06476c1f1f3cddd843332e8c5ce7"}]}