Instrucciones de llamada de función C ++ (anidadas) - registros

EnPreguntas frecuentes de C ++:

Asumiendo una implementación típica de C ++ que tiene registros y una pila, los registros y los parámetros se escriben en la pila justo antes de la llamada a g (), luego los parámetros se leen de la pila dentro de g () y se leen de nuevo para restaurar los registros mientras g () vuelve a f ().

con respecto a la llamada de función anidada

void f()
{
  int x = /*...*/;
  int y = /*...*/;
  int z = /*...*/;
  ...code that uses x, y and z...
  g(x, y, z);
  ...more code that uses x, y and z...
}

1 / ¿Son todas las implementaciones de C ++ con registros y stack? ¿Significa esto: la implementación depende de la arquitectura del compilador / procesador / computadora?

2 / ¿Qué es la secuencia de instrucciones (sin lenguaje ensamblador, solo el panorama general) cuando llamo?f() ? He leído cosas divergentes sobre este tema, y ​​tampoco recuerdo que los registros se mencionen, sino que solo se apilan.

3 / ¿cuáles son las especificidades / puntos adicionales para subrayar cuando se trata de funciones anidadas?

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta