summaryrefslogtreecommitdiff
path: root/Documentation/coding-guidelines
AgeCommit message (Collapse)AuthorFilesLines
2019-01-23Remove all traces of FEATURE_STACK_PROBE. (#22149)Filip Navara1-13/+4
2018-06-30Pass CompAllocator by value (#15025)mikedn1-2/+41
Passing CompAllocator objects by value is advantageous because it no longer needs to be dynamically allocated and cached. CompAllocator instances can now be freely created, copied and stored, which makes adding new CompMemKind values easier. Together with other cleanup this also improves memory allocation performance by removing some extra levels of indirection that were previously required - jitstd::allocator had a pointer to CompAllocator, CompAllocator had a pointer to Compiler and Compiler finally had a pointer to ArenaAllocator. Without MEASURE_MEM_ALLOC enabled, both jitstd::allocator and CompAllocator now just contain a pointer to ArenaAllocator. When MEASURE_MEM_ALLOC is enabled CompAllocator also contains a pointer but to a MemStatsAllocator object that holds the relevant memory kind. This way CompAllocator is always pointer sized so that enabling MEASURE_MEM_ALLOC does not result in increased memory usage due to objects that store a CompAllocator instance. In order to implement this, 2 additional signficant changes have been made: * MemStats has been moved to ArenaAllocator, it's after all the allocator's job to maintain statistics. This also fixes some issues related to memory statistics, such as not tracking the memory allocated by the inlinee compiler (since that one used its own MemStats instance). * Extract the arena page pooling logic out of the allocator. It doesn't make sense to pool an allocator, it has very little state that can actually be reused and everyting else (including MemStats) needs to be reset on reuse. What really needs to be pooled is just a page of memory. Since this was touching allocation code the opportunity has been used to perform additional cleanup: * Remove unnecessary LSRA ListElementAllocator * Remove compGetMem and compGetMemArray * Make CompAllocator and HostAllocator more like the std allocator * Update HashTable to use CompAllocator * Update ArrayStack to use CompAllocator * Move CompAllocator & friends to alloc.h
2017-03-20Fix markdown headingsOmair Majid2-2/+2
GitHub recently changed how atx headings (beginning with `#`) are rendered. A space is now required between `#` and the following text for the heading to be recognized. Update headings in the docs to match the expected format. See https://github.github.com/gfm/#atx-headings
2016-10-22Fixed typos and format issues on clr-code-guide doc(#7767) (#7768)Jim Ma1-2/+3
There're several typos and format issues. Just fixed them. Fix issue #7767
2016-08-31Update coding conventionsMichelle McDaniel1-0/+2
Add a note to the jit coding conventions that jit-format changes supersede the conventions in the doc. Add a link to jit-format's documentation.
2015-12-28Automating Event Logging Infrastructure: With this change the infrastructure ↵Rama1-0/+19
required for Event Logging will be generated as part of build
2015-10-25Merge pull request #1229 from benpye/fix-complus-case-docsMatt Ellis2-4/+4
Fix casing of COMPlus_ in documentation
2015-08-21LTTng supports hardware contextJérémie Galarneau1-1/+0
LTTng supports the annotation of events with perf hardware counters via the use of the "add-context" command.
2015-08-13Fix a section number in table of contents.Aditya Mandaleeka1-1/+1
The "Primitive Types" link pointed to 2.9 rather than 2.9.1.
2015-07-11Fix casing of COMPlus_ in documentationBen Pye2-4/+4
On Linux the casing of environment variables matters, the documentation commonly had the wrong casing for COMPlus_ which is misleading.
2015-06-15Adding Table of Contents to clr-code-guide.mdHadi Brais1-77/+155
Adding Table of Contents to clr-code-guide.md, fixing some typos and formatting issues.
2015-06-10Add subfolders to Documentation folderZlatko Knezevic3-0/+3478
As raised in #1075 by @akoeplinger, the Documentation folder's file list forces the user to scroll way down to see the README.md. This PR fixes that by storing the documents in separate sub-folders one per hierarchy of related documents. Also changed Documentation\README.md and root README.md to take into account the new paths.