Next: , Previous: CompiledCode class-instance creation, Up: CompiledCode


1.38.3 CompiledCode class: tables

bytecodeInfoTable
Return a ByteArray which defines some properties of the bytecodes. For each bytecode, 4 bytes are reserved. The fourth byte is a flag byte: bit 7 means that the argument is a line number to be used in creating the bytecode->line number map.

The first three have a meaning only for those bytecodes that represent a combination of operations: the combination can be BC1 ARG BC2 OPERAND if the fourth byte's bit 0 = 0 or BC1 OPERAND BC2 ARG if the fourth byte's bit 0 = 1

where BC1 is the first byte, BC2 is the second, ARG is the third and OPERAND is the bytecode argument as it appears in the bytecode stream.


specialSelectors
Answer an array of message names that don't need to be in literals to be sent in a method. Their position here reflects their integer code in bytecode.


specialSelectorsNumArgs
Answer a harmoniously-indexed array of arities for the messages answered by #specialSelectors.