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:
authorSamuel Arzt <arzt.samuel@live.de>2017-09-22 18:48:25 +0300
committerJan Kotas <jkotas@microsoft.com>2017-09-22 18:48:25 +0300
commit5705c262df6b6da588e65eb4d7224700e10d9c87 (patch)
treeebbfba2eee46d006cb3998ba2ee065af068472ce /src/ILCompiler.Compiler
parent6e9831a42ded8fd660f0298a663f69cc9389afc5 (diff)
[ILVerify] Fix block re-verification possibly causing endless loop (#4575)
* Fixed block re-verification after stack merge possibly causing endless loop. * Refactored BasicBlock.EndOffset to BasicBlock.ImportState.
Diffstat (limited to 'src/ILCompiler.Compiler')
-rw-r--r--src/ILCompiler.Compiler/src/IL/ILImporter.Scanner.cs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ILCompiler.Compiler/src/IL/ILImporter.Scanner.cs b/src/ILCompiler.Compiler/src/IL/ILImporter.Scanner.cs
index 4a099c9a6..b30e9e7b4 100644
--- a/src/ILCompiler.Compiler/src/IL/ILImporter.Scanner.cs
+++ b/src/ILCompiler.Compiler/src/IL/ILImporter.Scanner.cs
@@ -34,10 +34,16 @@ namespace Internal.IL
private class BasicBlock
{
// Common fields
+ public enum ImportState : byte
+ {
+ Unmarked,
+ IsPending
+ }
+
public BasicBlock Next;
public int StartOffset;
- public int EndOffset;
+ public ImportState State = ImportState.Unmarked;
public bool TryStart;
public bool FilterStart;