Método ICorProfilerCallback::JITCachedFunctionSearchStarted
Notifica o criador de perfil que uma Pesquisar começou para uma função que foi compilada usando o nativo imagem gerador (NGen.exe) anteriormente.
HRESULT JITCachedFunctionSearchStarted(
[in] FunctionID functionId,
[out] BOOL *pbUseCachedFunction);
Parâmetros
functionId
[in] A ID da função para o qual a Pesquisar está sendo executada.pbUseCachedFunction
[out] true Se o mecanismo de execução deve usar a versão em cache de uma função (se disponível); caso contrário, false. Se o valor é false, a execução do motor JIT compila a função em vez do uso de uma versão que não seja compilado em JIT.
Comentários
No .NET estrutura versão 2.0, a JITCachedFunctionSearchStarted e Método ICorProfilerCallback::JITCachedFunctionSearchFinished retornos de chamada não serão feitos para todas as funções nas imagens NGen regulares. Somente as imagens NGen otimizadas para um analisar irão gerar retornos de chamada para todas as funções na imagem. Entretanto, devido à sobrecarga adicional, um criador de perfil deve solicitar as imagens NGen otimizado criador de perfil somente se pretender usar esses retornos de chamada para forçar uma função a ser compilado just-in-time (JIT). Caso contrário, o criador de perfil deve use uma estratégia lenta para reunir informações de função.
Geradores de perfis devem oferecer suporte a casos em que vários threads de um aplicativo perfilado estão chamando o método mesmo simultaneamente. Por exemplo, um thread chama JITCachedFunctionSearchStarted e o criador de perfil responde, definindo pbUseCachedFunction como falso para forçar a compilação JIT. Thread A chamadas, em seguida, ICorProfilerCallback::JITCompilationStarted and ICorProfilerCallback::JITCompilationFinished.
Agora o thread B chamadas JITCachedFunctionSearchStarted para a mesma função. Mesmo que o criador de perfil declarou sua intenção de compilar JIT a função, o criador de perfil recebe o retorno de telefonar segundo porque o thread B envia o retorno de telefonar antes que o criador de perfil tiver respondido a telefonar do thread para JITCachedFunctionSearchStarted. A ordem na qual os threads de fazer chamadas depende de como os threads estão agendados.
Quando o criador de perfil recebe retornos de chamada duplicados, ele deve conjunto o valor referenciado por pbUseCachedFunction com o mesmo valor para retornos de chamada duplicados. Isto é, quando JITCachedFunctionSearchStarted é chamado várias vezes com o mesmo functionId valor, o criador de perfil deve responder a mesma cada vez.
Requisitos
Plataformas: See Requisitos de sistema do .NET framework.
Cabeçalho: CorProf.idl
Biblioteca: CorGuids.lib
.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0