Skip to content

Commit 0322b5b

Browse files
committed
Merge pull request microsoft#214 from richlander/ryujit
Update RyuJIT instructions
2 parents 2770181 + 7587238 commit 0322b5b

File tree

2 files changed

+27
-12
lines changed

2 files changed

+27
-12
lines changed

docs/enabling-the-latest-ryujit.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# How to enable a RyuJIT CTP
22

3+
**Updated (July 2015)**: [RyuJIT](http://blogs.msdn.com/b/dotnet/archive/2015/07/20/announcing-net-framework-4-6.aspx#ryujit) has shipped! You can download it with the [.NET Framework 4.6](http://blogs.msdn.com/b/dotnet/archive/2015/07/20/announcing-net-framework-4-6.aspx#net-framework-46). There is no longer any need to install the RyuJIT CTP.
4+
35
Download and install the latest [RyuJIT](http://aka.ms/RyuJIT) now.
46

57
RyuJIT only works on 64-bit editions of Windows Vista and Windows Server 2008 and later.

docs/testing-with-ryujit.md

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
1-
# .NET Framework 4.6 - Testing with RyuJIT
1+
.NET Framework 4.6 - Testing RyuJIT
2+
===================================
23

3-
The .NET Framework 4.6 includes new Just-In-Time (JIT) compiler for 64-bit processes, called RyuJIT. It is enabled by default. It is still a preview version, so you may discover issues that have yet to be fixed.
4+
The [.NET Framework 4.6](http://blogs.msdn.com/b/dotnet/archive/2015/07/20/announcing-net-framework-4-6.aspx#net-framework-46) includes new Just-In-Time (JIT) compiler for 64-bit processes, called RyuJIT. It is enabled by default.
45

5-
You may experience the following symptoms when you use the new JIT compiler:
6+
This document provides instructions to disable RyuJIT or one of its optimizations, in order to test your program without it running. This is useful if you experience unexpected product behavior and want to determine if RyuJIT is the cause of that behavioral change.
67

7-
* An application throws an `InvalidProgramException` error.
8-
* An application works on an x86-based computer but not on an x64-based
9-
computer.
10-
11-
## Workarounds for JIT Compilation
12-
13-
To work around this problem, use any one of the following methods.
8+
Disable RyuJIT
9+
==============
1410

1511
**Important** Follow the steps in this section carefully. Serious problems might
1612
occur if you modify the registry incorrectly. Before you modify it,
@@ -48,7 +44,8 @@ existing NGEN images that have been compiled by the new JIT continue to be used.
4844
</runtime>
4945
</configuration>
5046

51-
## Workarounds for NGEN Compilation
47+
Disable loading NGEN Images
48+
===========================
5249

5350
If you encounter a bug when you use the new JIT, and if the bug manifests itself
5451
as an NGEN image, use any of the following methods to force certain named
@@ -88,4 +85,20 @@ assemblies to be recompiled by the JIT and not use the existing native images:
8885
<assemblyIdentity name="assembly_two" />
8986
</disableNativeImageLoad>
9087
</runtime>
91-
</configuration>
88+
</configuration>
89+
90+
Disable Tail Call Optimization
91+
==============================
92+
93+
You can disable tail call optimization in RyuJIT with the following instructions.
94+
95+
* In the registry, create either of the following subkeys:
96+
97+
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
98+
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
99+
100+
Then, specify the following:
101+
102+
Key name: TailCallOpt
103+
Type: REG_SZ
104+
Value: "0"

0 commit comments

Comments
 (0)