Каково обоснование дизайна HandleScope?

V8 требует объявления HandleScope для очистки любых локальных дескрипторов, которые были созданы в пределах области видимости. Я понимаю, что HandleScope будет разыменовывать эти дескрипторы для сборки мусора, но меня интересует, почему каждый локальный класс не выполняет разыменование себя, как большинство внутренних помощников типа ref_ptr.

Я считаю, что HandleScope может сделать это более эффективно, сбрасывая большое количество дескрипторов сразу, а не один за другим, как в классе с областью видимости типа ref_ptr.

17
задан aughey 1 March 2012 в 04:55
поделиться