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>2018-01-31 17:55:49 +0300
committerGitHub <noreply@github.com>2018-01-31 17:55:49 +0300
commit6fa173553df604a544b5a26c93fbac289b3a3334 (patch)
tree2fab6f90815e41a54ab6bcdea4228ad009cea38f /src/ILCompiler.CppCodeGen
parent9b020ebf9ba8981e224414cb672ead7e16f867ee (diff)
CppCodegen: Implement break opcode and readonly prefix (#5322)
Fixes #5299.
Diffstat (limited to 'src/ILCompiler.CppCodeGen')
-rw-r--r--src/ILCompiler.CppCodeGen/src/CppCodeGen/ILToCppImporter.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ILCompiler.CppCodeGen/src/CppCodeGen/ILToCppImporter.cs b/src/ILCompiler.CppCodeGen/src/CppCodeGen/ILToCppImporter.cs
index 1b88ec3ea..ae062dad6 100644
--- a/src/ILCompiler.CppCodeGen/src/CppCodeGen/ILToCppImporter.cs
+++ b/src/ILCompiler.CppCodeGen/src/CppCodeGen/ILToCppImporter.cs
@@ -817,7 +817,9 @@ namespace Internal.IL
private void ImportBreak()
{
- throw new NotImplementedException("Opcode: break");
+ AppendLine();
+ Append("__debug_break()");
+ AppendSemicolon();
}
private void ImportLoadVar(int index, bool argument)
@@ -2382,6 +2384,8 @@ namespace Internal.IL
var index = _stack.Pop();
var arrayPtr = _stack.Pop();
+ // TODO: type check, unless readonly prefix was applied
+
// Range check
AppendLine();
Append("__range_check(");
@@ -2637,7 +2641,7 @@ namespace Internal.IL
private void ImportReadOnlyPrefix()
{
- throw new NotImplementedException();
+ _pendingPrefix |= Prefix.ReadOnly;
}
private void TriggerCctor(TypeDesc type)