Imported Upstream version 5.10.0.47

Former-commit-id: d0813289fa2d35e1f8ed77530acb4fb1df441bc0
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-01-24 17:04:36 +00:00
parent 88ff76fe28
commit e46a49ecf1
5927 changed files with 226314 additions and 129848 deletions

View File

@@ -2392,13 +2392,19 @@ namespace Mono.Cecil {
var method_info = ((MethodDefinition) provider).DebugInformation;
var signature = CreateSignatureWriter ();
signature.WriteUInt32 ((uint) state_machine_scope.Start.Offset);
var end_offset = state_machine_scope.End.IsEndOfMethod
? method_info.code_size
: state_machine_scope.End.Offset;
var scopes = state_machine_scope.Scopes;
signature.WriteUInt32 ((uint) (end_offset - state_machine_scope.Start.Offset));
for (int i = 0; i < scopes.Count; i++) {
var scope = scopes [i];
signature.WriteUInt32 ((uint) scope.Start.Offset);
var end_offset = scope.End.IsEndOfMethod
? method_info.code_size
: scope.End.Offset;
signature.WriteUInt32 ((uint) (end_offset - scope.Start.Offset));
}
AddCustomDebugInformation (provider, state_machine_scope, signature);
}
@@ -2411,7 +2417,7 @@ namespace Mono.Cecil {
for (int i = 0; i < async_method.yields.Count; i++) {
signature.WriteUInt32 ((uint) async_method.yields [i].Offset);
signature.WriteUInt32 ((uint) async_method.resumes [i].Offset);
signature.WriteCompressedUInt32 (async_method.move_next.MetadataToken.RID);
signature.WriteCompressedUInt32 (async_method.resume_methods [i].MetadataToken.RID);
}
AddCustomDebugInformation (provider, async_method, signature);