Re: [Python-Dev] What is the purpose of NEXT_BLOCK()?

2018-03-21 Thread Serhiy Storchaka
21.03.18 17:13, Guido van Rossum пише: Maybe spelunking in the Python 2 branch will help? It seems it was introduced in 2005 by Jeremy Hylton with this comment: /* The distinction between NEW_BLOCK and NEXT_BLOCK is subtle.  (I'd    like to find better names.)  NEW_BLOCK() creates a new block

Re: [Python-Dev] What is the purpose of NEXT_BLOCK()?

2018-03-21 Thread Guido van Rossum
Maybe spelunking in the Python 2 branch will help? It seems it was introduced in 2005 by Jeremy Hylton with this comment: /* The distinction between NEW_BLOCK and NEXT_BLOCK is subtle. (I'd like to find better names.) NEW_BLOCK() creates a new block and sets it as the current block.

[Python-Dev] What is the purpose of NEXT_BLOCK()?

2018-03-21 Thread Serhiy Storchaka
There is the NEXT_BLOCK() macro in compile.c. It creates a new block, creates an implicit jump from the current block to the new block, and sets it as the current block. But why it is used? All seems working if remove NEXT_BLOCK(). If there was a need of NEXT_BLOCK() (if it reduces the