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:
authorMorgan Brown <morganbr@users.noreply.github.com>2018-08-07 11:21:02 +0300
committerGitHub <noreply@github.com>2018-08-07 11:21:02 +0300
commit914360af01f97f5b49c104c5a0b38ea879849d9f (patch)
treebbe4d5c3faf47b71f1f1c23a2ed19616c31c187e /src/ILCompiler.Compiler
parentbdc6bfbef12b94db9dedef90cb39da88949f61ed (diff)
Optimize WASM arguments and returns (#6181)
Use LLVM arguments and returns where possible (no GC references) instead of passing them on the shadow stack. The argument optimization saves 3% optimized (5% compressed). The return change adds about 0.5% to the uncompressed file, but saves about 6% compressed. They both save size in debug. This also greatly simplifies debugging and reading code. Also includes a fix to the class constructor runner where it was calling cctors with the wrong signature and some test fixes.
Diffstat (limited to 'src/ILCompiler.Compiler')
-rw-r--r--src/ILCompiler.Compiler/src/Compiler/CompilerTypeSystemContext.Mangling.cs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/ILCompiler.Compiler/src/Compiler/CompilerTypeSystemContext.Mangling.cs b/src/ILCompiler.Compiler/src/Compiler/CompilerTypeSystemContext.Mangling.cs
index 720f06114..ace374f04 100644
--- a/src/ILCompiler.Compiler/src/Compiler/CompilerTypeSystemContext.Mangling.cs
+++ b/src/ILCompiler.Compiler/src/Compiler/CompilerTypeSystemContext.Mangling.cs
@@ -47,5 +47,24 @@ namespace ILCompiler
}
}
}
+
+ partial class UnboxingThunk : IPrefixMangledMethod
+ {
+ MethodDesc IPrefixMangledMethod.BaseMethod
+ {
+ get
+ {
+ return _targetMethod;
+ }
+ }
+
+ string IPrefixMangledMethod.Prefix
+ {
+ get
+ {
+ return "unbox";
+ }
+ }
+ }
}
}