Top Fields Constructors Methods
org.jruby.runtime

public Class MixedModeIRBlockBody

extends IRBlockBody
implements Compilable<CompiledIRBlockBody>
Class Inheritance
All Implemented Interfaces
org.jruby.compiler.Compilable
Imports
java.io.ByteArrayOutputStream, org.jruby.Ruby, .RubyModule, org.jruby.compiler.Compilable, org.jruby.ir.IRClosure, .IRScope, org.jruby.ir.interpreter.FullInterpreterContext, .Interpreter, .InterpreterContext, org.jruby.ir.persistence.IRDumper, org.jruby.ir.runtime.IRRuntimeHelpers, org.jruby.runtime.builtin.IRubyObject, org.jruby.util.cli.Options, org.jruby.util.log.Logger, .LoggerFactory

Field Summary

Modifier and TypeField and Description
private int
private final IRClosure
private boolean
private InterpreterContext
private volatile CompiledIRBlockBody
private static final Logger
protected final boolean
protected final boolean
Inherited from org.jruby.runtime.IRBlockBody:
fileNamelineNumber

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected IRubyObject
public boolean
protected IRubyObject
public void
public InterpreterContext
public boolean
forceBuild(ThreadContext
the current thread context
context
)

Overrides default org.jruby.compiler.Compilable.forceBuild.

Force this Compilable to finish its build process.

public ArgumentDescriptor[]
public RubyModule
public IRScope
public BlockBody
public String
public IRClosure
public boolean
isBuildComplete()

Overrides default org.jruby.compiler.Compilable.isBuildComplete.

Indicates whether this Compilable has completed its build process.

private void
promoteToFullBuild(ThreadContext context, boolean force)

public void
private static void
protected IRubyObject
Inherited from org.jruby.runtime.IRBlockBody:
callcallcallcallcallcalldoYielddoYielddoYieldLambdagetFilegetLineisRubyBlockpostYieldtoAryyieldSpecificyieldSpecificyieldSpecificyieldSpecific

Field Detail

callCountback to summary
private int callCount
closureback to summary
private final IRClosure closure
displayedCFGback to summary
private boolean displayedCFG
interpreterContextback to summary
private InterpreterContext interpreterContext
jittedBodyback to summary
private volatile CompiledIRBlockBody jittedBody
LOGback to summary
private static final Logger LOG
pushScopeback to summary
protected final boolean pushScope
reuseParentScopeback to summary
protected final boolean reuseParentScope

Constructor Detail

MixedModeIRBlockBodyback to summary
public MixedModeIRBlockBody(IRClosure closure, Signature signature)

Method Detail

callDirectback to summary
protected IRubyObject callDirect(ThreadContext context, Block block, IRubyObject[] args, Block blockArg)

Overrides org.jruby.runtime.BlockBody.callDirect.

Annotations
@Override
canCallDirectback to summary
public boolean canCallDirect()

Implements abstract org.jruby.runtime.IRBlockBody.canCallDirect.

Annotations
@Override
commonYieldPathback to summary
protected IRubyObject commonYieldPath(ThreadContext context, Block block, IRubyObject[] args, IRubyObject self, Block blockArg)

Implements abstract org.jruby.runtime.IRBlockBody.commonYieldPath.

Annotations
@Override
completeBuildback to summary
public void completeBuild(ThreadContext context, CompiledIRBlockBody blockBody)

Overrides default org.jruby.compiler.Compilable.completeBuild.

Annotations
@Override
ensureInstrsReadyback to summary
public InterpreterContext ensureInstrsReady()

Implements org.jruby.compiler.Compilable.ensureInstrsReady.

forceBuildback to summary
public boolean forceBuild(ThreadContext context)

Overrides default org.jruby.compiler.Compilable.forceBuild.

Doc from org.jruby.compiler.Compilable.forceBuild.

Force this Compilable to finish its build process. Override this and isBuildComplete() for implementations that have a build process.

Parameters
context:ThreadContext

the current thread context

Returns:boolean

true if the forced build completed; false otherwise

Annotations
@Override
getArgumentDescriptorsback to summary
public ArgumentDescriptor[] getArgumentDescriptors()

Overrides org.jruby.runtime.BlockBody.getArgumentDescriptors.

Annotations
@Override
getImplementationClassback to summary
public RubyModule getImplementationClass()

Implements org.jruby.compiler.Compilable.getImplementationClass.

getIRScopeback to summary
public IRScope getIRScope()

Implements org.jruby.compiler.Compilable.getIRScope.

Annotations
@Override
getJittedBodyback to summary
public BlockBody getJittedBody()
getNameback to summary
public String getName()

Implements org.jruby.compiler.Compilable.getName.

Returns:String

Doc from org.jruby.compiler.Compilable.getName.

method/closure identifier

Annotations
@Override
getScopeback to summary
public IRClosure getScope()

Overrides org.jruby.runtime.IRBlockBody.getScope.

Annotations
@Override
isBuildCompleteback to summary
public boolean isBuildComplete()

Overrides default org.jruby.compiler.Compilable.isBuildComplete.

Doc from org.jruby.compiler.Compilable.isBuildComplete.

Indicates whether this Compilable has completed its build process. Override this and forceBuild(ThreadContext) for implementations that have a build process.

Returns:boolean

true if the build has completed; false otherwise.

Annotations
@Override
promoteToFullBuildback to summary
private void promoteToFullBuild(ThreadContext context, boolean force)
setCallCountback to summary
public void setCallCount(int callCount)

Implements org.jruby.compiler.Compilable.setCallCount.

Annotations
@Override
tryJITback to summary
private static void tryJIT(MixedModeIRBlockBody body, ThreadContext context)
yieldDirectback to summary
protected IRubyObject yieldDirect(ThreadContext context, Block block, IRubyObject[] args, IRubyObject self)

Overrides org.jruby.runtime.BlockBody.yieldDirect.

Annotations
@Override