@@ -1122,13 +1122,6 @@ NativeImageDumper::DumpNativeImage()
1122
1122
DisplayEndArray ( " Total Dependencies" , COR_INFO );
1123
1123
DisplayEndStructure (COR_INFO); // CORCOMPILE_VERSION_INFO
1124
1124
1125
- // Now load all dependencies and imports. There may be more
1126
- // dependencies than imports, so make sure to get them all.
1127
- for ( COUNT_T i = 0 ; i < m_decoder.GetNativeImportTableCount (); ++i )
1128
- {
1129
- NativeImageDumper::Import * import = OpenImport (i);
1130
- TraceDumpImport ( i, import );
1131
- }
1132
1125
NativeImageDumper::Dependency * traceDependency = OpenDependency (0 );
1133
1126
TraceDumpDependency ( 0 , traceDependency );
1134
1127
@@ -1266,16 +1259,6 @@ void NativeImageDumper::DumpNative()
1266
1259
DumpTypes ( module );
1267
1260
}
1268
1261
1269
- void NativeImageDumper::TraceDumpImport (int idx, NativeImageDumper::Import * import )
1270
- {
1271
- IF_OPT (DEBUG_TRACE)
1272
- {
1273
- m_display->ErrorPrintF (" Import: %d\n " , idx);
1274
- m_display->ErrorPrintF (" \t Dependency: %p\n " , import ->dependency );
1275
- m_display->ErrorPrintF (" \t wAssemblyRid: %d\n " , import ->entry ->wAssemblyRid );
1276
- m_display->ErrorPrintF (" \t wModuleRid %d\n " , import ->entry ->wModuleRid );
1277
- }
1278
- }
1279
1262
void NativeImageDumper::TraceDumpDependency (int idx, NativeImageDumper::Dependency * dependency)
1280
1263
{
1281
1264
IF_OPT (DEBUG_TRACE)
@@ -1942,21 +1925,12 @@ void NativeImageDumper::FixupBlobToString(RVA rva, SString& buf)
1942
1925
1943
1926
// print assembly/module info
1944
1927
1945
- PTR_CORCOMPILE_IMPORT_TABLE_ENTRY entry = import ->entry ;
1946
- if (entry->wAssemblyRid != 0 )
1947
- {
1948
- mdToken realRef =
1949
- MapAssemblyRefToManifest (TokenFromRid (entry->wAssemblyRid ,
1950
- mdtAssemblyRef),
1951
- m_assemblyImport);
1952
- AppendToken (realRef, buf, m_manifestImport);
1953
- buf.Append ( W (" " ) );
1954
- }
1955
- if (entry->wModuleRid != 0 )
1956
- {
1957
- AppendToken (TokenFromRid (entry->wModuleRid , mdtFile), buf, pImport);
1958
- buf.Append ( W (" " ) );
1959
- }
1928
+ mdToken realRef =
1929
+ MapAssemblyRefToManifest (TokenFromRid (import ->index ,
1930
+ mdtAssemblyRef),
1931
+ m_assemblyImport);
1932
+ AppendToken (realRef, buf, m_manifestImport);
1933
+ buf.Append ( W (" " ) );
1960
1934
}
1961
1935
1962
1936
// print further info
@@ -2231,21 +2205,12 @@ void NativeImageDumper::FixupBlobToString(RVA rva, SString& buf)
2231
2205
int targetModuleIndex = DacSigUncompressData (sig);
2232
2206
Import *targetImport = OpenImport (targetModuleIndex);
2233
2207
2234
- CORCOMPILE_IMPORT_TABLE_ENTRY *entry = targetImport->entry ;
2235
- if (entry->wAssemblyRid != 0 )
2236
- {
2237
- mdToken realRef =
2238
- MapAssemblyRefToManifest (TokenFromRid (entry->wAssemblyRid ,
2239
- mdtAssemblyRef),
2240
- m_assemblyImport);
2241
- AppendToken (realRef, buf, m_manifestImport);
2242
- buf.Append ( W (" " ) );
2243
- }
2244
- if (entry->wModuleRid != 0 )
2245
- {
2246
- AppendToken (TokenFromRid (entry->wModuleRid , mdtFile), buf,
2247
- targetImport->dependency ->pImport );
2248
- }
2208
+ mdToken realRef =
2209
+ MapAssemblyRefToManifest (TokenFromRid (targetImport->index ,
2210
+ mdtAssemblyRef),
2211
+ m_assemblyImport);
2212
+ AppendToken (realRef, buf, m_manifestImport);
2213
+ buf.Append ( W (" " ) );
2249
2214
}
2250
2215
break ;
2251
2216
@@ -2464,23 +2429,23 @@ NativeImageDumper::Import * NativeImageDumper::OpenImport(int i)
2464
2429
{
2465
2430
if (m_imports == NULL )
2466
2431
{
2467
- COUNT_T count = m_decoder.GetNativeImportTableCount ();
2432
+ COUNT_T count;
2433
+ m_decoder.GetNativeDependencies (&count);
2468
2434
m_numImports = count;
2469
2435
m_imports = new Import [count];
2470
2436
ZeroMemory (m_imports, count * sizeof (m_imports[0 ]));
2471
2437
}
2472
2438
2473
- if (m_imports[i].entry == NULL )
2439
+ if (m_imports[i].index == 0 )
2474
2440
{
2475
2441
// GetNativeImportFromIndex returns a host pointer.
2476
- CORCOMPILE_IMPORT_TABLE_ENTRY * entry = m_decoder.GetNativeImportFromIndex (i);
2477
- m_imports[i].entry = (PTR_CORCOMPILE_IMPORT_TABLE_ENTRY)(TADDR)entry;
2442
+ m_imports[i].index = i;
2478
2443
2479
2444
/*
2480
- mdToken tok = TokenFromRid(entry->wAssemblyRid , mdtAssemblyRef);
2445
+ mdToken tok = TokenFromRid(entry->index , mdtAssemblyRef);
2481
2446
Dependency * dependency = GetDependency( MapAssemblyRefToManifest(tok,
2482
2447
*/
2483
- Dependency *dependency = GetDependency (TokenFromRid (entry-> wAssemblyRid , mdtAssemblyRef));
2448
+ Dependency *dependency = GetDependency (TokenFromRid (i , mdtAssemblyRef));
2484
2449
m_imports[i].dependency = dependency;
2485
2450
_ASSERTE (dependency); // Why can this be null?
2486
2451
@@ -2497,7 +2462,7 @@ const NativeImageDumper::Dependency *NativeImageDumper::GetDependencyForFixup(RV
2497
2462
{
2498
2463
unsigned idx = DacSigUncompressData (sig);
2499
2464
2500
- _ASSERTE (idx >= 0 && idx < (int )m_decoder. GetNativeImportTableCount () );
2465
+ _ASSERTE (idx >= 0 && idx < (int )m_numImports );
2501
2466
return OpenImport (idx)->dependency ;
2502
2467
}
2503
2468
@@ -5329,22 +5294,6 @@ void NativeImageDumper::DumpNativeHeader()
5329
5294
}
5330
5295
DisplayEndArray ( NULL , ALWAYS ); // delayLoads
5331
5296
5332
- WRITE_NATIVE_FIELD (ImportTable);
5333
- DisplayStartArray ( " imports" , NULL , ALWAYS );
5334
- PTR_CORCOMPILE_IMPORT_TABLE_ENTRY ent ( nativeHeader->ImportTable .VirtualAddress + PTR_TO_TADDR (m_decoder.GetBase ()) );
5335
- for ( COUNT_T i = 0 ; i < nativeHeader->ImportTable .Size / sizeof (*ent); ++i )
5336
- {
5337
- DisplayStartStructure ( " CORCOMPILE_IMPORT_TABLE_ENTRY" ,
5338
- DPtrToPreferredAddr (ent + i),
5339
- sizeof (ent[i]), ALWAYS );
5340
- DisplayWriteFieldUInt ( wAssemblyRid, ent[i].wAssemblyRid ,
5341
- CORCOMPILE_IMPORT_TABLE_ENTRY, ALWAYS );
5342
- DisplayWriteFieldUInt ( wModuleRid, ent[i].wModuleRid ,
5343
- CORCOMPILE_IMPORT_TABLE_ENTRY, ALWAYS );
5344
- DisplayEndStructure ( ALWAYS ); // CORCOMPILE_IMPORT_TABLE_ENTRY
5345
- }
5346
- DisplayEndArray ( NULL , ALWAYS ); // imports
5347
-
5348
5297
WRITE_NATIVE_FIELD (VersionInfo);
5349
5298
WRITE_NATIVE_FIELD (DebugMap);
5350
5299
WRITE_NATIVE_FIELD (ModuleImage);
0 commit comments