diff options
author | Fadi Hanna <fadim@microsoft.com> | 2016-06-21 11:51:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-21 11:51:05 -0700 |
commit | b9f5ae88cc49836c8d31f07db7800707165cdb06 (patch) | |
tree | c5d6246379b51c19e9c79489364da1e2a6fe79f5 /src/inc | |
parent | fb79613c44df5ad80831dba1460ffb14dd6497a3 (diff) | |
download | coreclr-b9f5ae88cc49836c8d31f07db7800707165cdb06.tar.gz coreclr-b9f5ae88cc49836c8d31f07db7800707165cdb06.tar.bz2 coreclr-b9f5ae88cc49836c8d31f07db7800707165cdb06.zip |
Generic dictionary minor performance improvement and simplification for R2R (#5690)
A set of refactoring changes to slighly improve the performance of generic dictionary access on R2R images, and simplifying the codebase:
1) Removing dependency on CEEInfo::ComputeRuntimeLookupForSharedGenericTokenStatic (and deleting the API).
2) Stop parsing the generic type/method signatures when generating the R2R dictionary lookup assembly stub.
3) Avoid re-encoding the generic type/method signatures in a new in-memory blob using a SigBuilder (signatures used directly from the R2R image)
4) Moved the parsing/loading of type/method signatures to Dictionary::PopulateEntry()
5) Dictionary index and slot number are now encoded in the generated assembly stub instead of the signature (stub takes a pointer to a data blob, which contains the signature, the dictionary index and slot, and the module pointer)
Diffstat (limited to 'src/inc')
-rw-r--r-- | src/inc/corinfo.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/inc/corinfo.h b/src/inc/corinfo.h index fbbc95e05c..baae699bcf 100644 --- a/src/inc/corinfo.h +++ b/src/inc/corinfo.h @@ -614,10 +614,10 @@ enum CorInfoHelpFunc CORINFO_HELP_MEMSET, // Init block of memory CORINFO_HELP_MEMCPY, // Copy block of memory - CORINFO_HELP_RUNTIMEHANDLE_METHOD, // determine a type/field/method handle at run-time - CORINFO_HELP_RUNTIMEHANDLE_METHOD_LOG,// determine a type/field/method handle at run-time, with IBC logging - CORINFO_HELP_RUNTIMEHANDLE_CLASS, // determine a type/field/method handle at run-time - CORINFO_HELP_RUNTIMEHANDLE_CLASS_LOG,// determine a type/field/method handle at run-time, with IBC logging + CORINFO_HELP_RUNTIMEHANDLE_METHOD, // determine a type/field/method handle at run-time + CORINFO_HELP_RUNTIMEHANDLE_METHOD_LOG, // determine a type/field/method handle at run-time, with IBC logging + CORINFO_HELP_RUNTIMEHANDLE_CLASS, // determine a type/field/method handle at run-time + CORINFO_HELP_RUNTIMEHANDLE_CLASS_LOG, // determine a type/field/method handle at run-time, with IBC logging // These helpers are required for MDIL backward compatibility only. They are not used by current JITed code. CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE_OBSOLETE, // Convert from a TypeHandle (native structure pointer) to RuntimeTypeHandle at run-time |