…wilde-master Conflicts: README.md
This reverts commit d2bc780.
SequencePoint xml-element exports 2 new xml-attributes 1) source fileid and 2) source 'url' (filename) if fileid == 0
…(even NGEN /Profile images) #188
Join/merge is limited to branches originated from single SequencePoint
Almost done :) Conditional compilation removed
Branch-Point path is tracked from existing Offset via (new) Offset-Chain to (new) Offset-End attribute. In example: <BranchPoint vc="0" uspid="13378" ordinal="8" offset="108" path="0" offsetchain="121 143" offsetend="148" />
Goal: To join unvisited switch default: branch with earlier by compiler inserted conditional branch. Why? To cover in fact visited branch that is due compiler rewriting reported as unvisited. How: Branch instrumentation for all switch(default) and for all conditional br instructions (if branch, not else branch!), where exists unconditional-branch-jump-chain, is "pushed down". Last conditional jump (if exists) is rewired to inserted instrumentation.
Prepare Method::InsertInstructionsAtOriginalOffset for inserting Sequence-Point Instrumentation instructions at EndOfBranch
Instrument Branch-Points before Sequence-Points Instrumentation, because Sequence-Points Instrumentation breaks unconditional CEE_BR chains.
Given Instruction toFollow argument, method will follow and skip all unconditional branches and return last not BR instruction in the unconditional-branches-chain.
Committed changes (afaik) will not affect original build environment. To compile OpenCover.Profiler on Windows7.1SDK platform toolset using VS2010 and/or SharpDevelop: 1) Instal Windows 7.1 SDK 2) In OpenCover.Profiler.vcxproj change all - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>Windows7.1SDK</PlatformToolset> 3) In OpenCover.Profiler project properties define _TOOLSETV71 preprocessor symbol for C++ Preprocessor AND MIDL Preprocessor