summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorBen Monroe <bendono@gmail.com>2016-03-09 11:28:46 +0900
committerBen Monroe <bendono@gmail.com>2016-03-09 11:28:46 +0900
commita0c8fe6582d93037486c0179bb7591948380fb45 (patch)
tree5d91563d6f50165b57428885be50549c5c7573ad /Documentation
parentcdbc51ff1e216804027533baa42eb9c9be7bef1f (diff)
downloadcoreclr-a0c8fe6582d93037486c0179bb7591948380fb45.tar.gz
coreclr-a0c8fe6582d93037486c0179bb7591948380fb45.tar.bz2
coreclr-a0c8fe6582d93037486c0179bb7591948380fb45.zip
Fix spelling and grammar.
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/botr/dac-notes.md2
-rw-r--r--Documentation/botr/profiling.md2
-rw-r--r--Documentation/botr/ryujit-overview.md2
-rw-r--r--Documentation/botr/virtual-stub-dispatch.md2
4 files changed, 4 insertions, 4 deletions
diff --git a/Documentation/botr/dac-notes.md b/Documentation/botr/dac-notes.md
index f1f64375c6..adeb9a8cee 100644
--- a/Documentation/botr/dac-notes.md
+++ b/Documentation/botr/dac-notes.md
@@ -154,7 +154,7 @@ The TADDR and PCODE types we introduced in the example of DAC operation are pure
We also have one special class of PTRs that don't involve marshaling: PTR\_VOID and PTR\_CVOID. These are the target equivalents of void \* and const void \*, respectively. Because TADDRs are simply numbers, they don't have pointer semantics, which means that if we DACize code by converting void \* to TADDR (as was often the case in the past), we often need extra casts and other changes, even in code that does not compile for the DAC. Using PTR\_VOID makes it easier and cleaner to DACize code that uses void \* by preserving the semantics expected for void \*. If we DACize a function that uses PTR\_VOID or PTR\_CVOID, we can't directly marshal data from these addresses, since we have no idea how much data we would need to read. This means we can't dereference them (or even do pointer aritmetic), but this is identical to the semantics of void \*. As is the case for void \*, we generally cast them to a more specific PTR type when we need to use them. We also have a PTR\_BYTE type, which is a standard marshaled target pointer (that supports pointer arithmetic, etc.). In general, when we DACize code, void \* becomes PTR\_VOID and BYTE \* becomes PTR\_BYTE, just as you would expect. [daccess.h][daccess.h] has explanatory comments that provide more details about the use and semantics of the PTR\_VOID type.
-Occasionally, legacy code stores a target address in a host pointer type such as void \*. This is always a bug and makes it extremely difficult to reason about the code. It will also break when we support cross-platform, where the pointer types are differenct sizes). In DAC builds, the void \* type is a host pointer which should never contain a target address. Using PTR\_VOID instead allows us to indicate that a void pointer type is a target address. We are trying to eliminate all such uses, but some are quite pervasive in the code and will take a while to eliminate entirely.
+Occasionally, legacy code stores a target address in a host pointer type such as void \*. This is always a bug and makes it extremely difficult to reason about the code. It will also break when we support cross-platform, where the pointer types are different sizes). In DAC builds, the void \* type is a host pointer which should never contain a target address. Using PTR\_VOID instead allows us to indicate that a void pointer type is a target address. We are trying to eliminate all such uses, but some are quite pervasive in the code and will take a while to eliminate entirely.
### Conversions
diff --git a/Documentation/botr/profiling.md b/Documentation/botr/profiling.md
index b66e236cdd..b83f78b5bd 100644
--- a/Documentation/botr/profiling.md
+++ b/Documentation/botr/profiling.md
@@ -390,7 +390,7 @@ There are four types of statics. The following table describes what they are and
Exceptions
----------
-Notifications of exceptions are the most difficult of all notifications to describe and to understand. This is because of the inherent complexity in exception processing. The set of exception notifications described below was designed to provide all the information required for a sophisticated profiler – so that, at every instant, it can keep track of which pass (first or second), which frame, which filter and which finally block is being executed, for every thread in the profilee process. Note that the Exception notifications do not provide any _threadID's_ but the a profiler can always call _ICorProfilerInfo::GetCurrentThreadID_ to discover which managed thread throws the exception.
+Notifications of exceptions are the most difficult of all notifications to describe and to understand. This is because of the inherent complexity in exception processing. The set of exception notifications described below was designed to provide all the information required for a sophisticated profiler – so that, at every instant, it can keep track of which pass (first or second), which frame, which filter and which finally block is being executed, for every thread in the profilee process. Note that the Exception notifications do not provide any _threadID's_ but a profiler can always call _ICorProfilerInfo::GetCurrentThreadID_ to discover which managed thread throws the exception.
![Exception callback sequence]: profiling-exception-callback-sequence.png
diff --git a/Documentation/botr/ryujit-overview.md b/Documentation/botr/ryujit-overview.md
index afbd1a0bfd..e404b1f91d 100644
--- a/Documentation/botr/ryujit-overview.md
+++ b/Documentation/botr/ryujit-overview.md
@@ -3,7 +3,7 @@ JIT Compiler Structure
# Introduction
-RyuJIT is the code name for the next generation Just in Time Compiler (aka “JIT”) for the AMD64 .NET runtime . Its first implementation is for the AMD64 architecture. It is derived from a code base that is still in use for the other targets of .NET.
+RyuJIT is the code name for the next generation Just in Time Compiler (aka “JIT”) for the AMD64 .NET runtime. Its first implementation is for the AMD64 architecture. It is derived from a code base that is still in use for the other targets of .NET.
The primary design considerations for RyuJIT are to:
diff --git a/Documentation/botr/virtual-stub-dispatch.md b/Documentation/botr/virtual-stub-dispatch.md
index ef563bfa1a..8d5a52c47a 100644
--- a/Documentation/botr/virtual-stub-dispatch.md
+++ b/Documentation/botr/virtual-stub-dispatch.md
@@ -79,7 +79,7 @@ This is an array that, for each method body introduced by the type, has a pointe
The reason for this format is that it provides a natural extension to the classic v-table layout. As a result many entries in the slot map (described below) can be inferred by this order and other details such as the total number of virtuals and non-virtuals for the class.
-When stub dispatch for virtual instance methods is disabled (as it is currently), the implementation table is non-existant and is substituted with a true vtable. All mapping results are expressed as slots for the vtable rather than an implementation table. Keep this in mind when implementation tables are mentioned throughout this document.
+When stub dispatch for virtual instance methods is disabled (as it is currently), the implementation table is non-existent and is substituted with a true vtable. All mapping results are expressed as slots for the vtable rather than an implementation table. Keep this in mind when implementation tables are mentioned throughout this document.
#### Slot Map