| Index: src/ast/ast-numbering.h
|
| diff --git a/src/ast/ast-numbering.h b/src/ast/ast-numbering.h
|
| index 9c178b4c517743a218a3b4524e98bb8c99ea6a2c..c9c003c9501a3560846c0125289343babc1b87e8 100644
|
| --- a/src/ast/ast-numbering.h
|
| +++ b/src/ast/ast-numbering.h
|
| @@ -14,12 +14,25 @@ class Isolate;
|
| class Zone;
|
|
|
| namespace AstNumbering {
|
| -// Assign type feedback IDs and bailout IDs to an AST node tree. For a
|
| -// generator function, also annotate the function itself and any loops therein
|
| -// with the number of contained yields.
|
| +// Assign type feedback IDs, bailout IDs, and generator yield IDs to an AST node
|
| +// tree.
|
| bool Renumber(Isolate* isolate, Zone* zone, FunctionLiteral* function);
|
| }
|
|
|
| +// Some details on yield IDs
|
| +// -------------------------
|
| +//
|
| +// In order to assist Ignition in generating bytecode for a generator function,
|
| +// we assign a unique number (the yield ID) to each Yield node in its AST. We
|
| +// also annotate loops with the number of yields they contain
|
| +// (loop->yield_count()) and the smallest ID of those (loop->first_yield_id()),
|
| +// and we annotate the function itself with the number of yields it contains
|
| +// (function->yield_count()).
|
| +//
|
| +// The way in which we choose the IDs is simply by enumerating the Yield nodes,
|
| +// starting with 0. While Ignition does not completely depend on this particular
|
| +// scheme, it does rely on some of its properties.
|
| +
|
| } // namespace internal
|
| } // namespace v8
|
|
|
|
|