mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
[DOC] Add a few new terms to Ruby glossary
This commit is contained in:
parent
bd162dc0cb
commit
c0b9480bbc
1 changed files with 3 additions and 1 deletions
|
@ -8,6 +8,7 @@ Just a list of acronyms I've run across in the Ruby source code and their meanin
|
|||
| `bop` | Basic Operator. Relates to methods like `Integer` plus and minus which can be optimized as long as they haven't been redefined. |
|
||||
| `cc` | Call Cache. An inline cache structure for the call site. Stored in the `cd` |
|
||||
| `cd` | Call Data. A data structure that points at the `ci` and the `cc`. `iseq` objects points at the `cd`, and access call information and call caches via this structure |
|
||||
| CFG | Control Flow Graph. Graph representation of all paths that might be traversed through a program during execution |
|
||||
| `cfp`| Control Frame Pointer. Represents a Ruby stack frame. Calling a method pushes a new frame (cfp), returning pops a frame. Points at the `pc`, `sp`, `ep`, and the corresponding `iseq`|
|
||||
| `ci` | Call Information. Refers to an `rb_callinfo` struct. Contains call information about the call site, including number of parameters to be passed, whether it they are keyword arguments or not, etc. Used in conjunction with the `cc` and `cd`. |
|
||||
| `cref` | Class reference. A structure pointing to the class reference where `klass_or_self`, visibility scope, and refinements are stored. It also stores a pointer to the next class in the hierarchy referenced by `rb_cref_struct * next`. The Class reference is lexically scoped. |
|
||||
|
@ -25,10 +26,11 @@ Just a list of acronyms I've run across in the Ruby source code and their meanin
|
|||
| `insns` | Instructions. Usually an array of YARV instructions. |
|
||||
| `ivar` | Instance Variable. Refers to a Ruby instance variable like `@foo` |
|
||||
| `imemo` | Internal Memo. A tagged struct whose memory is managed by Ruby's GC, but contains internal information and isn't meant to be exposed to Ruby programs. Contains various information depending on the type. See the `imemo_type` enum for different types. |
|
||||
| `IVC` | Instance Variable Cache. Cache specifically for instance variable access |
|
||||
| JIT | Just In Time compiler |
|
||||
| `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") |
|
||||
| `local` | Local. Refers to a local variable. |
|
||||
| `me` | Method Entry. Refers to an `rb_method_entry_t` struct, the internal representation of a Ruby method.
|
||||
| `me` | Method Entry. Refers to an `rb_method_entry_t` struct, the internal representation of a Ruby method. |
|
||||
| MRI | Matz's Ruby Implementation |
|
||||
| `pc` | Program Counter. Usually the instruction that will be executed _next_ by the VM. Pointed to by the `cfp` and incremented by the VM |
|
||||
| `sp` | Stack Pointer. The top of the stack. The VM executes instructions in the `iseq` and instructions will push and pop values on the stack. The VM updates the `sp` on the `cfp` to point at the top of the stack|
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue