| Modifier and Type | Field and Description |
|---|---|
| private final BuiltinClass | |
| private IRBuilderFactory | |
| private static final int | |
| private final String[] | |
| private final List | |
| private final RubyInstanceConfig | |
| private final CompilerPass | |
| public static final String | |
| public static final String | |
| public static final String | |
| private final CompilerPassListener | |
| private int | |
| private final Boolean | |
| private static final int | |
| private final Fixnum[] | |
| private final BuiltinClass | |
| private final List | |
| private InstructionsListener | |
| public static final boolean | |
| public static final int | |
| public static final boolean | |
| private IRScopeListener | |
| private final List | |
| private LineNumberInstr[] | |
| public final ToggleBacktraceInstr | |
| public final ToggleBacktraceInstr | |
| private final Nil | |
| private static final ByteList | |
| private final IRModuleBody | |
| private final BuiltinClass | |
| private final CompilerPass | |
| private final CompilerPass | |
| private final Set | |
| private final ReceiveSelfInstr | |
| public final Ruby | |
| public static final String | |
| private final List | |
| private final StandardError | |
| private final BuiltinClass | |
| private TemporaryLocalVariable[] | |
| private final Boolean |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public void | |
| public void | |
| public BuiltinClass | |
| public IRBuilderFactory | |
| public String | |
| public List | |
| public Boolean | |
| public BuiltinClass | |
| public List | |
| public RubyInstanceConfig | |
| public InstructionsListener | |
| public IRScopeListener | |
| public List | |
| public Set | |
| public RubySymbol | |
| public Nil | |
| public IRModuleBody | |
| public BuiltinClass | |
| public ReceiveSelfInstr | |
| public Ruby | |
| public List | |
| public StandardError | |
| public BuiltinClass | |
| public Boolean | |
| protected LineNumberInstr[] | |
| protected TemporaryLocalVariable[] | |
| public IRMethod | |
| public ToggleBacktraceInstr | |
| public Fixnum | |
| public LineNumberInstr | |
| public TemporaryLocalVariable | newTemporaryIntVariable(int index)
Temporarily provided for loading/storing a normal local as int on JVM; interpreter will still box as Integer. |
| public TemporaryLocalVariable | newTemporaryLocalVariable(int index)
Temporary local variables are immutable and always start from a low index value and increment up to a higher index value per scope. |
| protected void | optimizeIfSimpleScope(FullInterpreterContext fic)
For scopes that don't require a dynamic scope we can run DCE and some other passes which cannot be stymied by escaped bindings. |
| private ParseResult | |
| public void | |
| public void | |
| public void | |
| public CompilerPassScheduler | |
| public static CompilerPassScheduler | |
| public void |
| arrayClass | back to summary |
|---|---|
| private final BuiltinClass arrayClass | |
| builderFactory | back to summary |
|---|---|
| private IRBuilderFactory builderFactory | |
| CLOSURE_PREFIX_CACHE_SIZE | back to summary |
|---|---|
| private static final int CLOSURE_PREFIX_CACHE_SIZE | |
| closurePrefixCache | back to summary |
|---|---|
| private final String[] closurePrefixCache | |
| compilerPasses | back to summary |
|---|---|
| private final List<CompilerPass> compilerPasses | |
| config | back to summary |
|---|---|
| private final RubyInstanceConfig config | |
| deadCodeEliminationPass | back to summary |
|---|---|
| private final CompilerPass deadCodeEliminationPass | |
| DEFAULT_BUILD_PASSES | back to summary |
|---|---|
| public static final String DEFAULT_BUILD_PASSES | |
| DEFAULT_INLINING_COMPILER_PASSES | back to summary |
|---|---|
| public static final String DEFAULT_INLINING_COMPILER_PASSES | |
| DEFAULT_JIT_PASSES | back to summary |
|---|---|
| public static final String DEFAULT_JIT_PASSES | |
| defaultListener | back to summary |
|---|---|
| private final CompilerPassListener defaultListener | |
| dummyMetaClassCount | back to summary |
|---|---|
| private int dummyMetaClassCount | |
| fals | back to summary |
|---|---|
| private final Boolean fals | |
| FIXNUM_CACHE_HALF_SIZE | back to summary |
|---|---|
| private static final int FIXNUM_CACHE_HALF_SIZE | |
| fixnums | back to summary |
|---|---|
| private final Fixnum[] fixnums | |
| hashClass | back to summary |
|---|---|
| private final BuiltinClass hashClass | |
| inliningCompilerPasses | back to summary |
|---|---|
| private final List<CompilerPass> inliningCompilerPasses | |
| instrsListener | back to summary |
|---|---|
| private InstructionsListener instrsListener | |
| IR_INLINER | back to summary |
|---|---|
| public static final boolean IR_INLINER | |
| IR_INLINER_THRESHOLD | back to summary |
|---|---|
| public static final int IR_INLINER_THRESHOLD | |
| IR_INLINER_VERBOSE | back to summary |
|---|---|
| public static final boolean IR_INLINER_VERBOSE | |
| irScopeListener | back to summary |
|---|---|
| private IRScopeListener irScopeListener | |
| jitPasses | back to summary |
|---|---|
| private final List<CompilerPass> jitPasses | |
| lineNumbers | back to summary |
|---|---|
| private LineNumberInstr[] lineNumbers | |
| needsBacktrace | back to summary |
|---|---|
| public final ToggleBacktraceInstr needsBacktrace | |
| needsNoBacktrace | back to summary |
|---|---|
| public final ToggleBacktraceInstr needsNoBacktrace | |
| nil | back to summary |
|---|---|
| private final Nil nil | |
| OBJECT | back to summary |
|---|---|
| private static final ByteList OBJECT | |
| object | back to summary |
|---|---|
| private final IRModuleBody object | |
| objectClass | back to summary |
|---|---|
| private final BuiltinClass objectClass | |
| optimizeDelegationPass | back to summary |
|---|---|
| private final CompilerPass optimizeDelegationPass | |
| optimizeDynScopesPass | back to summary |
|---|---|
| private final CompilerPass optimizeDynScopesPass | |
| passListeners | back to summary |
|---|---|
| private final Set<CompilerPassListener> passListeners | |
| receiveSelfInstr | back to summary |
|---|---|
| private final ReceiveSelfInstr receiveSelfInstr | |
| runtime | back to summary |
|---|---|
| public final Ruby runtime | |
| SAFE_COMPILER_PASSES | back to summary |
|---|---|
| public static final String SAFE_COMPILER_PASSES | |
| safePasses | back to summary |
|---|---|
| private final List<CompilerPass> safePasses | |
| standardError | back to summary |
|---|---|
| private final StandardError standardError | |
| symbolClass | back to summary |
|---|---|
| private final BuiltinClass symbolClass | |
| temporaryLocalVariables | back to summary |
|---|---|
| private TemporaryLocalVariable[] temporaryLocalVariables | |
| tru | back to summary |
|---|---|
| private final Boolean tru | |
| IRManager | back to summary |
|---|---|
| public IRManager(Ruby runtime, RubyInstanceConfig config) | |
| addListener | back to summary |
|---|---|
| public void addListener(CompilerPassListener listener) | |
| addListener | back to summary |
|---|---|
| public void addListener(InstructionsListener listener) | |
| addListener | back to summary |
|---|---|
| public void addListener(IRScopeListener listener) | |
| getArrayClass | back to summary |
|---|---|
| public BuiltinClass getArrayClass() | |
| getBuilderFactory | back to summary |
|---|---|
| public IRBuilderFactory getBuilderFactory() | |
| getClosurePrefix | back to summary |
|---|---|
| public String getClosurePrefix(int closureId) | |
| getCompilerPasses | back to summary |
|---|---|
| public List | |
| getFalse | back to summary |
|---|---|
| public Boolean getFalse() | |
| getHashClass | back to summary |
|---|---|
| public BuiltinClass getHashClass() | |
| getInliningCompilerPasses | back to summary |
|---|---|
| public List | |
| getInstanceConfig | back to summary |
|---|---|
| public RubyInstanceConfig getInstanceConfig() | |
| getInstructionsListener | back to summary |
|---|---|
| public InstructionsListener getInstructionsListener() | |
| getIRScopeListener | back to summary |
|---|---|
| public IRScopeListener getIRScopeListener() | |
| getJITPasses | back to summary |
|---|---|
| public List | |
| getListeners | back to summary |
|---|---|
| public Set | |
| getMetaClassName | back to summary |
|---|---|
| public RubySymbol getMetaClassName() | |
| getNil | back to summary |
|---|---|
| public Nil getNil() | |
| getObject | back to summary |
|---|---|
| public IRModuleBody getObject() | |
| getObjectClass | back to summary |
|---|---|
| public BuiltinClass getObjectClass() | |
| getReceiveSelfInstr | back to summary |
|---|---|
| public ReceiveSelfInstr getReceiveSelfInstr() | |
| getRuntime | back to summary |
|---|---|
| public Ruby getRuntime() | |
| getSafePasses | back to summary |
|---|---|
| public List | |
| getStandardError | back to summary |
|---|---|
| public StandardError getStandardError() | |
| getSymbolClass | back to summary |
|---|---|
| public BuiltinClass getSymbolClass() | |
| getTrue | back to summary |
|---|---|
| public Boolean getTrue() | |
| growLineNumbersPool | back to summary |
|---|---|
| protected LineNumberInstr[] growLineNumbersPool(int index) | |
| growTemporaryVariablePool | back to summary |
|---|---|
| protected TemporaryLocalVariable[] growTemporaryVariablePool(int index) | |
| loadInternalMethod | back to summary |
|---|---|
| public IRMethod loadInternalMethod(ThreadContext context, IRubyObject self, String method) | |
| needsBacktrace | back to summary |
|---|---|
| public ToggleBacktraceInstr needsBacktrace(boolean needsIt) | |
| newFixnum | back to summary |
|---|---|
| public Fixnum newFixnum(long value) | |
| newLineNumber | back to summary |
|---|---|
| public LineNumberInstr newLineNumber(int line) | |
| newTemporaryIntVariable | back to summary |
|---|---|
| public TemporaryLocalVariable newTemporaryIntVariable(int index) Temporarily provided for loading/storing a normal local as int on JVM; interpreter will still box as Integer. | |
| newTemporaryLocalVariable | back to summary |
|---|---|
| public TemporaryLocalVariable newTemporaryLocalVariable(int index) Temporary local variables are immutable and always start from a low index value and increment up to a higher index value per scope. So we can share these and store the ones in a simple list. If hard pinning is ever an issue we can periodically evict the list and start over at the cost of more live objects but this list cache reduces a simple empty Rails app console from over 140K instances to about 1200 instances. | |
| optimizeIfSimpleScope | back to summary |
|---|---|
| protected void optimizeIfSimpleScope(FullInterpreterContext fic) For scopes that don't require a dynamic scope we can run DCE and some other passes which cannot be stymied by escaped bindings. | |
| parse | back to summary |
|---|---|
| private ParseResult parse(ThreadContext context, FileResource file, String fileName) throws IOException | |
| removeListener | back to summary |
|---|---|
| public void removeListener(CompilerPassListener listener) | |
| removeListener | back to summary |
|---|---|
| public void removeListener(InstructionsListener listener) | |
| removeListener | back to summary |
|---|---|
| public void removeListener(IRScopeListener listener) | |
| schedulePasses | back to summary |
|---|---|
| public CompilerPassScheduler schedulePasses() | |
| schedulePasses | back to summary |
|---|---|
| public static CompilerPassScheduler schedulePasses(final List<CompilerPass> passes) | |
| setBuilderFactory | back to summary |
|---|---|
| public void setBuilderFactory(IRBuilderFactory builderFactory) | |