Сообщение от Riim
|
я имел в виду аккуратно удалять незначащие звенья в этой цепи
|
Да, по логике вещей такую оптимизацию можно сделать (и скорей всего, движки делают что-то подобное, но в любом случае, чтобы знать точно - надо проанализировать все исходники движков). На уровне же специфиации - все функции, всегда, без исключения, запоминают Scope свойством [[Scope]].
Сообщение от Riim
|
можно не запоминать AO(контекста "B") и из "C" сразу в "A" ссылаться.
|
Тут есть важный нюанс - на момент активации "B", функция "А" уже может не существовать. А функция "С" создаётся функцией "B". Соответственно, чтобы получить доступ к объекту активации контекста функции "А", "С" должна обратиться к Scope контекста "B" и запомнить этот Scope, как C.[[Scope]].