Modifier and Type | Method and Description |
---|---|
static String |
SexpMaker.sha1(IRScope scope) |
Modifier and Type | Field and Description |
---|---|
protected IRScope |
InterpretedIRMethod.method |
protected IRScope |
CompiledIRMethod.method |
Modifier and Type | Method and Description |
---|---|
IRScope |
InterpretedIRMethod.getIRMethod() |
IRScope |
CompiledIRMethod.getIRMethod() |
Constructor and Description |
---|
CompiledIRMetaClassBody(java.lang.invoke.MethodHandle handle,
IRScope scope,
RubyModule implementationClass) |
CompiledIRMethod(java.lang.invoke.MethodHandle variable,
IRScope method,
Visibility visibility,
RubyModule implementationClass) |
CompiledIRMethod(java.lang.invoke.MethodHandle variable,
java.lang.invoke.MethodHandle specific,
int specificArity,
IRScope method,
Visibility visibility,
RubyModule implementationClass) |
InterpretedIRMetaClassBody(IRScope metaClassBody,
RubyModule implementationClass) |
InterpretedIRMethod(IRScope method,
Visibility visibility,
RubyModule implementationClass) |
Modifier and Type | Class and Description |
---|---|
class |
IRBindingEvalScript
Explicit Binding Evals must allow preserving values between evals.
|
class |
IRClassBody |
class |
IRClosure |
class |
IREvalScript |
class |
IRFor
Represents a 'for' loop
|
class |
IRMetaClassBody |
class |
IRMethod |
class |
IRModuleBody |
class |
IRScriptBody |
Modifier and Type | Method and Description |
---|---|
IRScope |
IRScope.getLexicalParent()
Returns the lexical scope that contains this scope definition
|
IRScope |
IRScope.getNearestFlipVariableScope() |
IRScope |
IRScope.getNearestTopLocalVariableScope() |
IRScope |
IRScope.getTopLevelScope()
Returns the top level scope
|
Modifier and Type | Method and Description |
---|---|
List<IRScope> |
IRScope.getLexicalScopes() |
Constructor and Description |
---|
IRBindingEvalScript(IRManager manager,
IRScope lexicalParent,
String fileName,
int lineNumber,
StaticScope staticScope,
EvalType evalType) |
IRClassBody(IRManager manager,
IRScope lexicalParent,
String name,
int lineNumber,
StaticScope scope) |
IRClassBody(IRManager manager,
IRScope lexicalParent,
String name,
String fileName,
int lineNumber,
StaticScope scope) |
IRClosure(IRClosure c,
IRScope lexicalParent,
int closureId,
String fullName)
Used by cloning code
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
int argumentType) |
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
int argumentType,
String prefix) |
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
int argumentType,
String prefix,
boolean isBeginEndBlock) |
IRClosure(IRManager manager,
IRScope lexicalParent,
String fileName,
int lineNumber,
StaticScope staticScope,
String prefix) |
IREvalScript(IRManager manager,
IRScope lexicalParent,
String fileName,
int lineNumber,
StaticScope staticScope,
EvalType evalType) |
IRFor(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
int argumentType) |
IRFor(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
int argumentType,
String labelPrefix) |
IRMetaClassBody(IRManager manager,
IRScope lexicalParent,
String name,
int lineNumber,
StaticScope scope) |
IRMetaClassBody(IRManager manager,
IRScope lexicalParent,
String name,
String fileName,
int lineNumber,
StaticScope scope) |
IRMethod(IRManager manager,
IRScope lexicalParent,
MethodDefNode defn,
String name,
boolean isInstanceMethod,
int lineNumber,
StaticScope staticScope) |
IRModuleBody(IRManager manager,
IRScope lexicalParent,
String name,
int lineNumber,
StaticScope scope) |
IRModuleBody(IRManager manager,
IRScope lexicalParent,
String name,
String fileName,
int lineNumber,
StaticScope staticScope) |
IRScope(IRManager manager,
IRScope lexicalParent,
String name,
String fileName,
int lineNumber,
StaticScope staticScope) |
IRScope(IRScope s,
IRScope lexicalParent) |
Modifier and Type | Field and Description |
---|---|
protected IRScope |
DataFlowProblem.scope |
Modifier and Type | Method and Description |
---|---|
IRScope |
DataFlowProblem.getScope() |
Modifier and Type | Method and Description |
---|---|
void |
DataFlowProblem.setup(IRScope scope) |
Modifier and Type | Method and Description |
---|---|
void |
LiveVariablesProblem.setup(IRScope scope,
Collection<LocalVariable> allVars)
Initialize the problem with all vars from the surrounding scope variables.
|
Constructor and Description |
---|
LiveVariablesProblem(IRScope scope) |
Modifier and Type | Method and Description |
---|---|
IRScope |
RecordEndBlockInstr.getDeclaringScope() |
IRScope |
StoreLocalVarInstr.getScope() |
IRScope |
LoadLocalVarInstr.getScope() |
IRScope |
InlinedLineNumberInstr.getScope() |
Modifier and Type | Method and Description |
---|---|
boolean |
ToAryInstr.canBeDeleted(IRScope s) |
boolean |
Instr.canBeDeleted(IRScope s)
Can this instruction be deleted? LVA will preserve instructions based on whether operands (variables)
are living but even if there are no living variables then the instruction itself may not be able to be removed
during DCE for other reasons (like if it unconditionally has a side-effect or it happens to be living in a
scope where a binding can escape and one of its operands is a local variable).
|
boolean |
ZSuperInstr.computeScopeFlags(IRScope scope) |
boolean |
UnresolvedSuperInstr.computeScopeFlags(IRScope scope) |
boolean |
UndefMethodInstr.computeScopeFlags(IRScope scope) |
boolean |
RuntimeHelperCall.computeScopeFlags(IRScope scope)
Does this instruction do anything the scope is interested in?
|
boolean |
ReifyClosureInstr.computeScopeFlags(IRScope scope) |
boolean |
RecordEndBlockInstr.computeScopeFlags(IRScope scope) |
boolean |
ReceiveKeywordRestArgInstr.computeScopeFlags(IRScope scope) |
boolean |
ReceiveKeywordArgInstr.computeScopeFlags(IRScope scope) |
boolean |
PutGlobalVarInstr.computeScopeFlags(IRScope scope) |
boolean |
NonlocalReturnInstr.computeScopeFlags(IRScope scope) |
boolean |
MatchInstr.computeScopeFlags(IRScope scope) |
boolean |
Match3Instr.computeScopeFlags(IRScope scope) |
boolean |
Match2Instr.computeScopeFlags(IRScope scope) |
boolean |
Instr.computeScopeFlags(IRScope scope)
Does this instruction do anything the scope is interested in?
|
boolean |
GetGlobalVariableInstr.computeScopeFlags(IRScope scope) |
boolean |
DefineMetaClassInstr.computeScopeFlags(IRScope scope) |
boolean |
DefineInstanceMethodInstr.computeScopeFlags(IRScope scope) |
boolean |
CallBase.computeScopeFlags(IRScope scope) |
boolean |
BuildLambdaInstr.computeScopeFlags(IRScope scope) |
boolean |
BreakInstr.computeScopeFlags(IRScope scope) |
boolean |
AttrAssignInstr.computeScopeFlags(IRScope scope) |
boolean |
AliasInstr.computeScopeFlags(IRScope scope) |
Operand |
ToAryInstr.simplifyAndGetResult(IRScope scope,
Map<Operand,Operand> valueMap) |
Operand |
ReqdArgMultipleAsgnInstr.simplifyAndGetResult(IRScope scope,
Map<Operand,Operand> valueMap) |
Operand |
Instr.simplifyAndGetResult(IRScope scope,
Map<Operand,Operand> valueMap)
This method takes as input a map of operands to their values, and outputs
the result of this instruction.
|
Operand |
CopyInstr.simplifyAndGetResult(IRScope scope,
Map<Operand,Operand> valueMap) |
Constructor and Description |
---|
InlinedLineNumberInstr(IRScope scope,
int lineNumber) |
LoadLocalVarInstr(IRScope scope,
TemporaryLocalVariable result,
LocalVariable lvar) |
RecordEndBlockInstr(IRScope declaringScope,
WrappedIRClosure endBlockClosure) |
StoreLocalVarInstr(Operand value,
IRScope scope,
LocalVariable lvar) |
Modifier and Type | Method and Description |
---|---|
static Integer |
Profiler.initProfiling(IRScope scope) |
static void |
Profiler.updateCallSite(Instr instr,
IRScope scope,
Integer scopeVersion) |
Constructor and Description |
---|
BeginEndInterpreterContext(IRScope scope,
Instr[] instructions) |
InterpreterContext(IRScope scope,
Instr[] instructions) |
Modifier and Type | Method and Description |
---|---|
void |
IRScopeListener.addedInstr(IRScope scope,
Instr instr,
int index) |
void |
IRScopeListener.endBuildOperand(Node node,
IRScope scope,
Operand operand) |
void |
IRScopeListener.startBuildOperand(Node node,
IRScope scope) |
Modifier and Type | Method and Description |
---|---|
void |
CompilerPassListener.alreadyExecuted(CompilerPass passClass,
IRScope scope,
Object data,
boolean childScope)
This dependent pass has been determined to already be satisfied and is
not going to call execute().
|
void |
BasicCompilerPassListener.alreadyExecuted(CompilerPass passClass,
IRScope scope,
Object data,
boolean childScope) |
void |
OptimizeDynScopesPass.eliminateLocalVars(IRScope s) |
void |
CompilerPassListener.endExecute(CompilerPass pass,
IRScope scope,
Object data,
boolean childScope)
This pass has just finished execute'ing.
|
void |
BasicCompilerPassListener.endExecute(CompilerPass pass,
IRScope scope,
Object data,
boolean childScope) |
Object |
UnboxingPass.execute(IRScope scope,
Object... data) |
Object |
OptimizeTempVarsPass.execute(IRScope s,
Object... data) |
Object |
OptimizeDynScopesPass.execute(IRScope scope,
Object... data) |
Object |
LocalOptimizationPass.execute(IRScope s,
Object... data) |
Object |
LiveVariableAnalysis.execute(IRScope scope,
Object... data) |
Object |
LinearizeCFG.execute(IRScope scope,
Object... data) |
Object |
EnsureTempsAssigned.execute(IRScope scope,
Object... data) |
Object |
DominatorTreeBuilder.execute(IRScope scope,
Object... data) |
Object |
DeadCodeElimination.execute(IRScope scope,
Object... data) |
abstract Object |
CompilerPass.execute(IRScope scope,
Object... dependencyData)
Meat of an individual pass.
|
Object |
CFGBuilder.execute(IRScope scope,
Object... data) |
Object |
AddLocalVarLoadStoreInstructions.execute(IRScope s,
Object... data) |
Object |
AddCallProtocolInstructions.execute(IRScope scope,
Object... data) |
boolean |
UnboxingPass.invalidate(IRScope scope) |
boolean |
OptimizeTempVarsPass.invalidate(IRScope s) |
boolean |
OptimizeDynScopesPass.invalidate(IRScope scope) |
boolean |
LiveVariableAnalysis.invalidate(IRScope scope) |
boolean |
LinearizeCFG.invalidate(IRScope scope) |
boolean |
DominatorTreeBuilder.invalidate(IRScope scope) |
boolean |
CompilerPass.invalidate(IRScope scope)
The data that this pass is responsible for will get invalidated so that
if this pass is then executed it will generate new pass data.
|
boolean |
CFGBuilder.invalidate(IRScope scope) |
boolean |
AddLocalVarLoadStoreInstructions.invalidate(IRScope scope) |
boolean |
AddCallProtocolInstructions.invalidate(IRScope scope) |
Object |
UnboxingPass.previouslyRun(IRScope scope) |
Object |
LiveVariableAnalysis.previouslyRun(IRScope scope) |
Object |
CompilerPass.previouslyRun(IRScope scope)
If this pass has been previous run, then return the data from that last run.
|
Object |
CFGBuilder.previouslyRun(IRScope scope) |
Object |
AddLocalVarLoadStoreInstructions.previouslyRun(IRScope scope) |
Object |
CompilerPass.run(IRScope scope) |
Object |
CompilerPass.run(IRScope scope,
boolean force) |
protected Object |
CompilerPass.run(IRScope scope,
boolean force,
boolean childScope) |
static void |
LocalOptimizationPass.runLocalOptsOnInstrList(IRScope s,
ListIterator<Instr> instrs,
boolean preCFG) |
void |
CompilerPassListener.startExecute(CompilerPass pass,
IRScope scope,
boolean childScope)
This pass is about to begin execute'ing.
|
void |
BasicCompilerPassListener.startExecute(CompilerPass pass,
IRScope scope,
boolean childScope) |
Modifier and Type | Method and Description |
---|---|
static IRScope |
IRReader.createScope(IRManager manager,
IRScopeType type,
String name,
int line,
IRScope lexicalParent,
Signature signature,
int argumentType,
StaticScope staticScope) |
IRScope |
IRReaderFile.decodeScope() |
IRScope |
IRReaderDecoder.decodeScope() |
IRScope |
IRReaderFile.getCurrentScope() |
IRScope |
IRReaderDecoder.getCurrentScope() |
static IRScope |
IRReader.load(IRManager manager,
IRReaderDecoder file) |
Modifier and Type | Method and Description |
---|---|
void |
IRReaderFile.addScope(IRScope scope) |
void |
IRReaderDecoder.addScope(IRScope scope) |
void |
IRWriterFile.addScopeInstructionOffset(IRScope scope)
Record current offset as the beginning of specified scopes list of instructions.
|
static IRScope |
IRReader.createScope(IRManager manager,
IRScopeType type,
String name,
int line,
IRScope lexicalParent,
Signature signature,
int argumentType,
StaticScope staticScope) |
List<Instr> |
IRReaderFile.decodeInstructionsAt(IRScope scope,
int offset) |
List<Instr> |
IRReaderDecoder.decodeInstructionsAt(IRScope scope,
int offset) |
void |
IRWriterFile.encode(IRScope value) |
void |
IRWriterEncoder.encode(IRScope scope) |
void |
IRWriterAnalzer.encode(IRScope value) |
void |
IRWriterFile.endEncoding(IRScope script) |
void |
IRWriterEncoder.endEncoding(IRScope script) |
void |
IRWriterAnalzer.endEncoding(IRScope script) |
void |
IRWriterFile.endEncodingScopeHeader(IRScope scope) |
void |
IRWriterEncoder.endEncodingScopeHeader(IRScope scope) |
void |
IRWriterAnalzer.endEncodingScopeHeader(IRScope scope) |
void |
IRWriterFile.endEncodingScopeHeaders(IRScope script) |
void |
IRWriterEncoder.endEncodingScopeHeaders(IRScope script) |
void |
IRWriterAnalzer.endEncodingScopeHeaders(IRScope script) |
void |
IRWriterFile.endEncodingScopeInstrs(IRScope scope) |
void |
IRWriterEncoder.endEncodingScopeInstrs(IRScope scope) |
void |
IRWriterAnalzer.endEncodingScopeInstrs(IRScope scope) |
int |
IRWriterAnalzer.getScopeID(IRScope value) |
int |
IRWriterFile.getScopeInstructionOffset(IRScope scope)
Get recorded offset for this scropes instruction list.
|
static void |
IRWriter.persist(IRWriterEncoder file,
IRScope script) |
void |
IRWriterFile.startEncoding(IRScope script) |
void |
IRWriterEncoder.startEncoding(IRScope script) |
void |
IRWriterAnalzer.startEncoding(IRScope script) |
void |
IRWriterFile.startEncodingScopeHeader(IRScope scope) |
void |
IRWriterEncoder.startEncodingScopeHeader(IRScope scope) |
void |
IRWriterAnalzer.startEncodingScopeHeader(IRScope scope) |
void |
IRWriterFile.startEncodingScopeHeaders(IRScope script) |
void |
IRWriterEncoder.startEncodingScopeHeaders(IRScope script) |
void |
IRWriterAnalzer.startEncodingScopeHeaders(IRScope script) |
void |
IRWriterFile.startEncodingScopeInstrs(IRScope scope) |
void |
IRWriterEncoder.startEncodingScopeInstrs(IRScope scope) |
void |
IRWriterAnalzer.startEncodingScopeInstrs(IRScope scope) |
Modifier and Type | Method and Description |
---|---|
IRScope |
CFG.getScope() |
Modifier and Type | Method and Description |
---|---|
CFG |
CFG.clone(CloneInfo info,
IRScope clonedScope)
Clone this CFG and return a new one.
|
Constructor and Description |
---|
CFG(IRScope scope) |
Modifier and Type | Method and Description |
---|---|
static void |
IRRuntimeHelpers.defCompiledClassMethod(ThreadContext context,
java.lang.invoke.MethodHandle handle,
IRScope method,
IRubyObject obj) |
static void |
IRRuntimeHelpers.defCompiledClassMethod(ThreadContext context,
java.lang.invoke.MethodHandle variable,
java.lang.invoke.MethodHandle specific,
int specificArity,
IRScope method,
IRubyObject obj) |
static void |
IRRuntimeHelpers.defCompiledInstanceMethod(ThreadContext context,
java.lang.invoke.MethodHandle handle,
IRScope method,
DynamicScope currDynScope,
IRubyObject self) |
static void |
IRRuntimeHelpers.defCompiledInstanceMethod(ThreadContext context,
java.lang.invoke.MethodHandle variable,
java.lang.invoke.MethodHandle specific,
int specificArity,
IRScope method,
DynamicScope currDynScope,
IRubyObject self) |
static void |
IRRuntimeHelpers.defCompiledIRClassMethod(ThreadContext context,
IRubyObject obj,
java.lang.invoke.MethodHandle handle,
String rubyName,
IRScope irScope) |
static void |
IRRuntimeHelpers.defCompiledIRMethod(ThreadContext context,
java.lang.invoke.MethodHandle handle,
String rubyName,
DynamicScope currDynScope,
IRubyObject self,
IRScope irScope) |
static void |
IRRuntimeHelpers.defInterpretedClassMethod(ThreadContext context,
IRScope method,
IRubyObject obj) |
static void |
IRRuntimeHelpers.defInterpretedInstanceMethod(ThreadContext context,
IRScope method,
DynamicScope currDynScope,
IRubyObject self) |
static DynamicMethod |
IRRuntimeHelpers.newCompiledClassBody(ThreadContext context,
java.lang.invoke.MethodHandle handle,
IRScope irClassBody,
Object container,
Object superClass) |
static DynamicMethod |
IRRuntimeHelpers.newCompiledMetaClass(ThreadContext context,
java.lang.invoke.MethodHandle handle,
IRScope metaClassBody,
IRubyObject obj)
Construct a new DynamicMethod to wrap the given IRModuleBody and singletonizable object.
|
static DynamicMethod |
IRRuntimeHelpers.newCompiledModuleBody(ThreadContext context,
java.lang.invoke.MethodHandle handle,
IRScope irModule,
Object rubyContainer) |
static DynamicMethod |
IRRuntimeHelpers.newInterpretedClassBody(ThreadContext context,
IRScope irClassBody,
Object container,
Object superClass) |
static DynamicMethod |
IRRuntimeHelpers.newInterpretedMetaClass(Ruby runtime,
IRScope metaClassBody,
IRubyObject obj)
Construct a new DynamicMethod to wrap the given IRModuleBody and singletonizable object.
|
static DynamicMethod |
IRRuntimeHelpers.newInterpretedModuleBody(ThreadContext context,
IRScope irModule,
Object rubyContainer)
Construct a new DynamicMethod to wrap the given IRModuleBody and singletonizable object.
|
static RubyModule |
IRRuntimeHelpers.newRubyClassFromIR(Ruby runtime,
IRScope irClassBody,
Object superClass,
Object container) |
Modifier and Type | Field and Description |
---|---|
IRScope |
MethodData.scope |
Modifier and Type | Method and Description |
---|---|
void |
JVMVisitor.codegenScope(IRScope scope) |
Class |
JVMVisitor.compile(IRScope scope,
ClassDefiningClassLoader jrubyClassLoader) |
byte[] |
JVMVisitor.compileToBytecode(IRScope scope) |
Class |
JVMVisitor.defineFromBytecode(IRScope scope,
byte[] code,
ClassDefiningClassLoader jrubyClassLoader) |
void |
JVMVisitor.emitScope(IRScope scope,
String name,
com.headius.invokebinder.Signature signature,
boolean specificArity) |
void |
JVM.pushmethod(String name,
IRScope scope,
com.headius.invokebinder.Signature signature,
boolean specificArity) |
static com.headius.invokebinder.Signature |
JVMVisitor.signatureFor(IRScope method,
boolean aritySplit) |
Constructor and Description |
---|
MethodData(IRBytecodeAdapter method,
IRScope scope,
com.headius.invokebinder.Signature signature,
int specificArity) |
Modifier and Type | Field and Description |
---|---|
protected IRScope |
CloneInfo.scope |
Modifier and Type | Method and Description |
---|---|
IRScope |
InlineCloneInfo.getHostScope() |
IRScope |
CloneInfo.getScope() |
IRScope |
InlineCloneInfo.getScopeBeingInlined() |
Modifier and Type | Method and Description |
---|---|
InlineCloneInfo |
InlineCloneInfo.cloneForInliningClosure(IRScope scopeBeingInlined) |
void |
CFGInliner.inlineMethod(IRScope scope,
RubyModule implClass,
int classToken,
BasicBlock callBB,
CallBase call,
boolean cloneHost) |
Constructor and Description |
---|
CloneInfo(IRScope scope) |
InlineCloneInfo(CallBase call,
CFG c,
Variable callReceiver,
IRScope scopeBeingInlined) |
InlineCloneInfo(CFG cfg,
IRScope scope,
IRScope scopeBeingInlined) |
SimpleCloneInfo(IRScope scope,
boolean isEnsureBlock) |
Modifier and Type | Method and Description |
---|---|
IRScope |
StaticScope.getIRScope() |
Modifier and Type | Method and Description |
---|---|
void |
StaticScope.setIRScope(IRScope irScope) |
void |
StaticScope.setIRScope(IRScope irScope,
boolean isForLoopBody) |
Constructor and Description |
---|
CompiledIRBlockBody(java.lang.invoke.MethodHandle handle,
IRScope closure,
long encodedSignature) |
Copyright © 2001-2015 JRuby. All Rights Reserved.