En JavaScript existe la función %GetOptimizationStatus , que devuelve el estado actual de una función en una canalización de compilación. Además, --trace-opt/--trace-deopt/--trace-baseline funciona bien con el código fuente de JavaScript.
Los estados de optimización de WebAssebmly, por otro lado, parecen ser imposibles de investigar con esas técnicas. ¿Cómo puedo ver que la función WebAssembly pasó con éxito Liftoff/Turbofan?
%IsLiftoffFunction (que naturalmente solo funciona para funciones visibles para JS, es decir, funciones exportadas), y está --trace-wasm-compilation-times .
Por lo general, la funcionalidad de seguimiento se crea cuando un desarrollador (1) la necesita y (2) asume que será lo suficientemente útil en el futuro para obtener el código, en lugar de simplemente hackear algunos printfs localmente y luego descartándolos cuando el problema en cuestión se haya resuelto. El modelo de ejecución de Wasm es tan simple (por ahora) que no ha habido mucha necesidad de crear un seguimiento para él. (Y solía ser aún más simple, hasta que activamos la organización dinámica en niveles hace unos meses).
A partir de hoy (2022-05-29, esta parte probablemente no envejecerá muy bien), en la configuración predeterminada: