Como entender esses parágrafos no EMCA 335 sobre `.locals init`?

Do ECMA 335 I.12.4.1 Chamadas de método

A matriz de variáveis ​​locais sempre tem nulo para os tipos de objeto e para os campos nos tipos de valor que contêm objetos. Além disso, se.locals init é definido, então a matriz de variáveis ​​locais é inicializada para 0 para tipos inteiros e 0.0 para tipos de ponto flutuante. Os tipos de valor não são inicializados pela CLI, mas o código verificado fornecerá uma chamada para um inicializador como parte do código do ponto de entrada do método.

assim

"Inicializado como 0 para tipos integrais e 0.0 para tipos de ponto flutuante" significa "zera os tipos de valor"?

Isso significa: independentemente de.locals init, A CLI deve sempre garantir que os tipos de objetos sejam definidos como nulos na entrada do método? Então, por que diferenciar os tipos de objeto e os tipos de valor aqui: os tipos de valor de saída zero não são semelhantes ao tipo de objeto de saída zero?

Como entender que "tipos de valor não são inicializados pelo CLI"?

O que isso significa: "código verificado fornecerá uma chamada para um inicializador como parte do código do ponto de entrada do método"? Não é parte de verificação do CLI?

Do ECMA 335 III.1.8.1.1 Algoritmo de verificação

Métodos verificáveis ​​devem ter.locals init conjunto. Se não estiver definido, o CLI pode lançar umVerificationException onde a montagem não foi concedidaSecurityPermission.SkipVerification. A CLI pode, opcionalmente, optar por executar uma análise de atribuição definida (para determinar qual local é gravado antes da leitura) para permitir que um compilador de código nativo de CIL minimize seu impacto no desempenho para esse requisito.

E se.locals init está definido, a especificação requer que a CLI deve zerar a matriz de variáveis ​​locais na entrada do método. Isso significa que o código da máquina de zerar precisa ser executado na entrada. Então, como seria a "análise de atribuição definida" ajuda, dado que o zeramento possivelmente desnecessário já foi feito?

Desculpas se não me fiz claro. Vou tentar o meu melhor para melhorar minhas perguntas com base em comentários.

questionAnswers(1)

yourAnswerToTheQuestion