Skip to content

Commit 25d688d

Browse files
committed
Add local_iseq to glossary
1 parent 36a22e0 commit 25d688d

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

doc/contributing/glossary.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ Just a list of acronyms I've run across in the Ruby source code and their meanin
3232
| JIT | Just In Time compiler |
3333
| `lep` | Local Environment Pointer. An `ep` which is tagged `VM_ENV_FLAG_LOCAL`. Usually this is the `ep` of a method (rather than a block, whose `ep` isn't "local") |
3434
| `local` | Local. Refers to a local variable. |
35+
| `local_iseq` | Nearest enclosing `iseq` that owns a local-variable scope. Found by walking up the parent chain (`parent_iseq`) and skipping block iseqs (`ISEQ_TYPE_BLOCK`) until a non-block iseq (method, top, class, eval, etc.) is reached. For a method iseq, the local iseq is itself; for a block, it's the method (or other non-block scope) the block was defined in. Used to resolve local-variable slots, decide what a bare `return` returns from, and similar scope-level questions. |
3536
| `me` | Method Entry. Refers to an `rb_method_entry_t` struct, the internal representation of a Ruby method. |
3637
| MRI | Matz's Ruby Implementation |
3738
| `pc` | Program Counter. Usually the instruction that will be executed _next_ by the VM. Pointed to by the `cfp` and incremented by the VM |

0 commit comments

Comments
 (0)