summaryrefslogtreecommitdiff
path: root/src/inc/corprof.idl
AgeCommit message (Collapse)AuthorFilesLines
2017-10-23profiler changes for tiered compilation (#14612)David Mason1-0/+18
Add new apis for profiler to use with tiered jitting.
2017-10-23Fix for #12609 - add option to disable tiered compilation for profilers ↵David Mason1-1/+3
(#14643) add option to disable tiered compilation for profilers
2017-05-10Remove EventPipeProfiler due to time constraintsMukul Sabharwal1-15/+2
2017-05-08Add an event pipe that pipes to the profiler apisMukul Sabharwal1-1/+30
2017-02-13Rejit support for R2R imagesnoahfalk1-2/+7
Two changes: a) R2R code wasn't being reported to the Rejit Manager when it was used, this is a simple fix in prestub.cpp. This makes the ReJit API work. b) The bulk of the changes handle adding support for an inlining table to R2R so that ICorProfilerInfo6::EnumNgenMethodsInliningThisMethod can supply that information to profilers. This was only tested on Windows thus far, but there is no apparent reason this change would be OS specific.
2016-10-21Address CR feedbackMukul Sabharwal1-13/+20
2016-10-21Add LCG JIT Compilation Profiler CallbacksMukul Sabharwal1-0/+80
Methods that contain no metadata (e.g. of sources are IL Stubs, DynamicMethod, Expression Trees, etc.) also known as LCG methods are not reported to profilers via the Profiling API. LCG, introduced in .NET 2.0 timeframe is unique in that it doesn't require the method to be hosted in an assembly > module > type heirarchy and is GCable in of itself. This change adds new APIs that notify the profiler of such methods but since there is no metadata to go lookup, it provides some useful pieces of information that the profiler author may want to expose to the profiler user. In the compilation start method we provide a className (always dynamicClass), a methodName that can be a set of few predetermined names like (ILStub_COMToCLR, etc.) or if the user has set the name for the LCG method that can show up here. For example, when using the Expression Trees API, the user can specify a friendly name which would be returned here. In the jit completed callback we provide information for the native code start address and size. This is particularly useful to get more accurate accounting of what the (previously unidentified) code is. At least the user would know it is JITTed if nothing more (but most likely more information like what kind of stub). Furthermore, since this is going to be a profiler callback, the profiler can initiate a stackwalk and give more contextual information to its users beyond the pieces of information we can provide here that could identify what they're encountering. Finally, there is also the case that today the profiling APIs underreport JITTed code in the process. Considerable amount of LCG code can now be present in the program and in security-sensitive environments where tracking JITTed code for security reasons is important the profiling apis fall short. In such environments there is also often restrictions on running with elevated privileges, so procuring this data through other means (like ETW) may pose a challenge.
2016-01-27Update license headersdotnet-bot1-4/+4
2015-10-29Port .NET Framework 4.6.1 changesJan Kotas1-1/+82
Core runtime and GC changes from https://github.com/Microsoft/dotnet/blob/master/docs/releases/net461/dotnet461-changes.md that are not in CoreCLR yet [tfs-changeset: 1543382]
2015-04-07Merge changes from parent branchdotnet-bot1-0/+1
[tfs-changeset: 1448103]
2015-02-04Fixed typosPascal Borreli1-1/+1
2015-02-03Remove non ASCII characters from source filesMatt Ellis1-3/+3
Our native files were more or less encoded in Windows-1252, which causes problems when we try to compile them on machines where the current codepage can't represent everything that Windows-1252 can. With this conversion I just moved characters to their ASCII counterparts (e.g. no smart quotes, the section marker glyph is now "Section"). There were two places where I couldn't do the straight forward thing, in object.h we wanted to insert the Per Mille symbol in a comment so instead I just spelled out the Unicode codepoint. In morph.cpp, there was a comment pointing to a paper by Torbjörn Granlund (note the diaeresis above the second o). In this case, unfortuntely I had to just drop the diaeresis. However, searching for "Torbjorn Granlund" will lead you to the right person. Fixes #49
2015-01-30Initial commit to populate CoreCLR repo dotnet-bot1-0/+3775
[tfs-changeset: 1407945]