Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>2017-07-01 05:10:29 +0300
committerGitHub <noreply@github.com>2017-07-01 05:10:29 +0300
commit3353bafd4814af88b67b438e8850aaa6e042b4d2 (patch)
tree67d934834bef130f938653f829184cf6e445f47f /Documentation
parentdb7a7cb1c8acfb9c29a3e1e3400ac5394efefefb (diff)
Add a doc on updating the RyuJIT package (#4048)
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/engineering/updating-ryujit.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/Documentation/engineering/updating-ryujit.md b/Documentation/engineering/updating-ryujit.md
new file mode 100644
index 000000000..67664b049
--- /dev/null
+++ b/Documentation/engineering/updating-ryujit.md
@@ -0,0 +1,12 @@
+# Updating RyuJIT
+
+Following steps are necessary to pick up a new version of RyuJIT code generation backend from CoreCLR:
+
+1. From the master branch of the CoreCLR repo, copy header files that are part of the contract with RyuJIT from `src\inc` on the CoreCLR side, to `src\JitInterface\src\ThunkGenerator` on the CoreRT side.
+2. Inspect the diffs
+ 1. If an enum was modified, port the change to the managed version of the enum manually.
+ 2. If a JitInterface method was added or changed, update `src\JitInterface\src\ThunkGenerator\ThunkInput.txt` and run the generation script next to the file to regenerate `CorInfoBase.cs` and `jitinterface.h`. Update the managed implementation of the method in `CorInfoImpl.cs` manually.
+ 3. If the JitInterface GUID was updated, update it in `src\Native\jitinterface\jitwrapper.cpp`
+3. Go to https://dotnet.myget.org/feed/dotnet-core/package/nuget/Microsoft.NETCore.Jit and find the latest version of the RyuJIT package. Update the version number in dependencies.props at the root of the repo.
+4. Rebuild everything and run tests to validate the change.
+5. Create a pull request with title "Update RyuJIT".