| Modifier and Type | Field and Description |
|---|---|
| protected ArgumentDescriptor[] | |
| private volatile LazyMethodDefinition | |
| private volatile ExitableInterpreterContext | |
| public final boolean |
| Access | Constructor and Description |
|---|---|
| public | IRMethod(IRManager manager, IRScope lexicalParent, LazyMethodDefinition<U, V, W, X, Y, Z> defn, ByteList name, boolean isInstanceMethod, int lineNumber, StaticScope staticScope, int coverageMode)
|
| Modifier and Type | Method and Description |
|---|---|
| private synchronized void | |
| public ExitableInterpreterContext | |
| public InterpreterContext | |
| public ExitableInterpreterContext | Returns: appropriate interpretercontextinitialize methods in reified Java types will try and dispatch to the Java base classes constructor when the Ruby in the initialize: a) The super call is still valid in terms of Java (e.g. you cannot access self/this before the super call b) We can detect the validity of 'a'. |
| private synchronized ExitableInterpreterContext | |
| protected LocalVariable | findExistingLocalVariable(RubySymbol name, int scopeDepth)
Overrides org.
|
| public ArgumentDescriptor[] | |
| public LocalVariable | getLocalVariable(RubySymbol name, int scopeDepth)
Overrides org. Find or create a local variable. |
| public MethodData | |
| public IRScopeType | |
| public boolean | hasBeenBuilt()
Overrides org. For lazy scopes which IRBuild on demand we can ask this method whether it has been built yet... |
| public final InterpreterContext | |
| public BasicBlock[] | prepareForCompilation()
Overrides org. Run any necessary passes to get the IR ready for compilation (AOT and/or JIT) |
| public void | setArgumentDescriptors(ArgumentDescriptor[] argDesc)
Set upon completion of IRBuild of this IRMethod. |
| argDesc | back to summary |
|---|---|
| protected ArgumentDescriptor[] argDesc | |
| defNode | back to summary |
|---|---|
| private volatile LazyMethodDefinition<U, V, W, X, Y, Z> defNode | |
| interpreterContextForJavaConstructor | back to summary |
|---|---|
| private volatile ExitableInterpreterContext interpreterContextForJavaConstructor | |
| isInstanceMethod | back to summary |
|---|---|
| public final boolean isInstanceMethod | |
| IRMethod | back to summary |
|---|---|
| public IRMethod(IRManager manager, IRScope lexicalParent, LazyMethodDefinition<U, V, W, X, Y, Z> defn, ByteList name, boolean isInstanceMethod, int lineNumber, StaticScope staticScope, int coverageMode) | |
| buildMethodImpl | back to summary |
|---|---|
| private synchronized void buildMethodImpl() | |
| builtInterperterContextForJavaConstructor | back to summary |
|---|---|
| public ExitableInterpreterContext builtInterperterContextForJavaConstructor()
Deprecated
This method was renamed (due a typo).
| |
| builtInterpreterContext | back to summary |
|---|---|
| public InterpreterContext builtInterpreterContext() Overrides org.
| |
| builtInterpreterContextForJavaConstructor | back to summary |
|---|---|
| public ExitableInterpreterContext builtInterpreterContextForJavaConstructor() initialize methods in reified Java types will try and dispatch to the Java base classes constructor when the Ruby in the initialize: a) The super call is still valid in terms of Java (e.g. you cannot access self/this before the super call b) We can detect the validity of 'a'. Limitations like super in all paths of branches is not supported (for now). In cases where no super exists or it is unsupported we will return a normal interpreter (and a warning when unsupported):
| |
| builtInterpreterContextForJavaConstructorImpl | back to summary |
|---|---|
| private synchronized ExitableInterpreterContext builtInterpreterContextForJavaConstructorImpl() | |
| findExistingLocalVariable | back to summary |
|---|---|
| protected LocalVariable findExistingLocalVariable(RubySymbol name, int scopeDepth) Overrides org.
| |
| getArgumentDescriptors | back to summary |
|---|---|
| public ArgumentDescriptor[] getArgumentDescriptors() | |
| getLocalVariable | back to summary |
|---|---|
| public LocalVariable getLocalVariable(RubySymbol name, int scopeDepth) Overrides org. Doc from org. Find or create a local variable. By default, scopes are assumed to only check current depth. Blocks/Closures override this because they have special nesting rules.
| |
| getMethodData | back to summary |
|---|---|
| public MethodData getMethodData() | |
| getScopeType | back to summary |
|---|---|
| public IRScopeType getScopeType() Implements abstract org.
| |
| hasBeenBuilt | back to summary |
|---|---|
| public boolean hasBeenBuilt() Overrides org. Doc from org. For lazy scopes which IRBuild on demand we can ask this method whether it has been built yet...
| |
| lazilyAcquireInterpreterContext | back to summary |
|---|---|
| public final InterpreterContext lazilyAcquireInterpreterContext() | |
| prepareForCompilation | back to summary |
|---|---|
| public BasicBlock[] prepareForCompilation() Overrides org. Doc from org. Run any necessary passes to get the IR ready for compilation (AOT and/or JIT) | |
| setArgumentDescriptors | back to summary |
|---|---|
| public void setArgumentDescriptors(ArgumentDescriptor[] argDesc) Set upon completion of IRBuild of this IRMethod. | |