1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-10 01:50:53 +09:00

Print Ibc messages only when --verbose is specified (#33595)

This commit is contained in:
David Wrighton 2020-03-15 13:02:00 -07:00 committed by GitHub
parent b56c4d97a1
commit 1bce90ddc4
Signed by: github
GPG key ID: 4AEE18F83AFDEB23

View file

@ -145,6 +145,7 @@ namespace ILCompiler.IBC
} }
else else
{ {
if (_logger.IsVerbose)
_logger.Writer.WriteLine($"Multiple copies of data for method '{associatedMethod}' found."); _logger.Writer.WriteLine($"Multiple copies of data for method '{associatedMethod}' found.");
} }
} }
@ -290,6 +291,7 @@ namespace ILCompiler.IBC
{ {
if (!blobs.TryGetValue(new IBCBlobKey(ibcToken, BlobType.ExternalTypeDef), out BlobEntry externalTypeDefBlob)) if (!blobs.TryGetValue(new IBCBlobKey(ibcToken, BlobType.ExternalTypeDef), out BlobEntry externalTypeDefBlob))
{ {
if (_logger.IsVerbose)
_logger.Writer.WriteLine($"Ibc TypeToken {ibcToken:x} unable to find external typedef"); _logger.Writer.WriteLine($"Ibc TypeToken {ibcToken:x} unable to find external typedef");
return Cor.Macros.RidToToken(0, CorTokenType.mdtTypeDef); // Nil TypeDef token return Cor.Macros.RidToToken(0, CorTokenType.mdtTypeDef); // Nil TypeDef token
} }
@ -314,6 +316,7 @@ namespace ILCompiler.IBC
if (!blobs.TryGetValue(new IBCBlobKey(nameSpaceToken, BlobType.ExternalNamespaceDef), out BlobEntry namespaceEntryBlob)) if (!blobs.TryGetValue(new IBCBlobKey(nameSpaceToken, BlobType.ExternalNamespaceDef), out BlobEntry namespaceEntryBlob))
{ {
if (_logger.IsVerbose)
_logger.Writer.WriteLine($"Ibc TypeToken {ibcToken:x} unable to find external namespace blob '{nameSpaceToken:x}"); _logger.Writer.WriteLine($"Ibc TypeToken {ibcToken:x} unable to find external namespace blob '{nameSpaceToken:x}");
return Cor.Macros.RidToToken(0, CorTokenType.mdtTypeDef); // Nil TypeDef token return Cor.Macros.RidToToken(0, CorTokenType.mdtTypeDef); // Nil TypeDef token
} }
@ -328,7 +331,7 @@ namespace ILCompiler.IBC
throw new Exception($"Ibc TypeToken {ibcToken:x} has NestedClass token which does not resolve to a type definition"); throw new Exception($"Ibc TypeToken {ibcToken:x} has NestedClass token which does not resolve to a type definition");
enclosingType = MetadataTokens.TypeDefinitionHandle((int)Cor.Macros.RidFromToken(enclosingTypeTokenValue)); enclosingType = MetadataTokens.TypeDefinitionHandle((int)Cor.Macros.RidFromToken(enclosingTypeTokenValue));
if (enclosingType.IsNil) if (enclosingType.IsNil && _logger.IsVerbose)
_logger.Writer.WriteLine($"Ibc TypeToken {ibcToken:x} has NestedClass token which resolves to a nil token"); _logger.Writer.WriteLine($"Ibc TypeToken {ibcToken:x} has NestedClass token which resolves to a nil token");
} }
@ -358,6 +361,7 @@ namespace ILCompiler.IBC
if (foundType == null) if (foundType == null)
{ {
if (_logger.IsVerbose)
_logger.Writer.WriteLine($"Ibc TypeToken {ibcToken:x} has type token which resolves to a nil token"); _logger.Writer.WriteLine($"Ibc TypeToken {ibcToken:x} has type token which resolves to a nil token");
return Cor.Macros.RidToToken(0, CorTokenType.mdtTypeDef); // Nil TypeDef token return Cor.Macros.RidToToken(0, CorTokenType.mdtTypeDef); // Nil TypeDef token
} }
@ -377,6 +381,7 @@ namespace ILCompiler.IBC
} }
} }
if (_logger.IsVerbose)
_logger.Writer.WriteLine($"Ibc TypeToken {ibcToken:x} unable to find nested type '{typeName}' on type '{externalModule.MetadataReader.GetToken(enclosingType):x}'"); _logger.Writer.WriteLine($"Ibc TypeToken {ibcToken:x} unable to find nested type '{typeName}' on type '{externalModule.MetadataReader.GetToken(enclosingType):x}'");
return Cor.Macros.RidToToken(0, CorTokenType.mdtTypeDef); // Nil TypeDef token return Cor.Macros.RidToToken(0, CorTokenType.mdtTypeDef); // Nil TypeDef token
} }
@ -425,6 +430,7 @@ namespace ILCompiler.IBC
} }
} }
if (_logger.IsVerbose)
_logger.Writer.WriteLine("Warning: Unable to find exact match for candidate external method"); _logger.Writer.WriteLine("Warning: Unable to find exact match for candidate external method");
return 0; return 0;
} }
@ -675,11 +681,13 @@ namespace ILCompiler.IBC
var result = (MetadataType)ecmaModule.GetType(MetadataTokens.EntityHandle((int)token)); var result = (MetadataType)ecmaModule.GetType(MetadataTokens.EntityHandle((int)token));
if ((typ == CorElementType.ELEMENT_TYPE_VALUETYPE) != result.IsValueType) if ((typ == CorElementType.ELEMENT_TYPE_VALUETYPE) != result.IsValueType)
{ {
if (_logger.IsVerbose)
_logger.Writer.WriteLine("Mismatch between valuetype and reference type in while parsing generic instantiation"); _logger.Writer.WriteLine("Mismatch between valuetype and reference type in while parsing generic instantiation");
return null; return null;
} }
return result; return result;
default: default:
if (_logger.IsVerbose)
_logger.Writer.WriteLine("Unexpected token type parsing ELEMENT_TYPE_GENERICINST"); _logger.Writer.WriteLine("Unexpected token type parsing ELEMENT_TYPE_GENERICINST");
return null; return null;
} }
@ -696,6 +704,7 @@ namespace ILCompiler.IBC
if (Macros.IsSlotUsedInsteadOfToken(flags)) if (Macros.IsSlotUsedInsteadOfToken(flags))
{ {
int slot = sig.ReadCompressedInteger(); int slot = sig.ReadCompressedInteger();
if (_logger.IsVerbose)
_logger.Writer.WriteLine($"Warning: IBC Data for `{methodType}` with slot '{slot}' was ignored"); _logger.Writer.WriteLine($"Warning: IBC Data for `{methodType}` with slot '{slot}' was ignored");
return null; // Unsupported case thought to be used only for array methods, which don't really matter for R2R codegen return null; // Unsupported case thought to be used only for array methods, which don't really matter for R2R codegen
} }
@ -716,6 +725,7 @@ namespace ILCompiler.IBC
methodToken = LookupIbcMethodToken(methodMetadataType, ibcToken, ibcModule.Blobs); methodToken = LookupIbcMethodToken(methodMetadataType, ibcToken, ibcModule.Blobs);
if (Cor.Macros.RidFromToken(methodToken) == 0) if (Cor.Macros.RidFromToken(methodToken) == 0)
{ {
if (_logger.IsVerbose)
_logger.Writer.WriteLine($"Warning: External Method Token {ibcToken:x} on '{methodMetadataType}' could not be found."); _logger.Writer.WriteLine($"Warning: External Method Token {ibcToken:x} on '{methodMetadataType}' could not be found.");
return null; return null;
} }
@ -746,12 +756,14 @@ namespace ILCompiler.IBC
if (Macros.IsUnboxingStub(flags)) if (Macros.IsUnboxingStub(flags))
{ {
if (_logger.IsVerbose)
_logger.Writer.WriteLine($"Warning: Skipping IBC data for unboxing stub {methodFound}"); _logger.Writer.WriteLine($"Warning: Skipping IBC data for unboxing stub {methodFound}");
return null; return null;
} }
if (Macros.IsInstantiatingStub(flags)) if (Macros.IsInstantiatingStub(flags))
{ {
if (_logger.IsVerbose)
_logger.Writer.WriteLine($"Warning: Skipping IBC data for instantiating stub {methodFound}"); _logger.Writer.WriteLine($"Warning: Skipping IBC data for instantiating stub {methodFound}");
return null; return null;
} }