Index

A B C D E G H I M N O P R S T U V W _ 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form

A

accept(T) - Method in interface io.github.javactrl.ext.CConsumer
The functional interface function
allOf(CSupplier<? extends T>...) - Static method in class io.github.javactrl.ext.Concurrency
A vararg short-cut to Concurrency.allOf(List)
allOf(List<? extends CSupplier<? extends T>>) - Static method in class io.github.javactrl.ext.Concurrency
This function runs each item of the `components` list until all of them return, or one throws an exception.
anyOf(CSupplier<? extends T>...) - Static method in class io.github.javactrl.ext.Concurrency
A vararg short-cut to Concurrency.allOf(List)
anyOf(List<? extends CSupplier<? extends T>>) - Static method in class io.github.javactrl.ext.Concurrency
This is mostly the same as Concurrency.allOf(List) except it stops execution after any of called components returns a resulting value or throws an exception.
apply(T) - Method in interface io.github.javactrl.ext.CFunction
Functional interface function

B

boundary() - Method in class io.github.javactrl.rt.Unwind
This is just a function to override if needed, it can be used to convey some data back to the throw point without winding.
brackets(CRunnable) - Static method in interface io.github.javactrl.ext.CRunnable
This function executes CRunnable ignoring all CThrowable exceptions
brk(Unwind) - Static method in class io.github.javactrl.rt.Unwind
This just throws u.
brkValue(T) - Static method in class io.github.javactrl.rt.Unwind
a short-cut for Unwind.<R>brk(io.github.javactrl.rt.Unwind) creating an exception object

C

CallFrame - Class in io.github.javactrl.rt
This class is a representation of a call stack frame.
CallFrame(Class<?>, String, int, int, int, int, int) - Constructor for class io.github.javactrl.rt.CallFrame
Call frame constructor
CallFrame._Handler - Interface in io.github.javactrl.rt
Each function supporting continuations is converted into a lambda with this interface This should be used only be generated code and not directly
callPredicate - Static variable in class io.github.javactrl.instrument.Transform
The predicate to select methods to instrument
CallPredicate - Interface in io.github.javactrl.instrument
This is a predicate specifying if the method must be instrumented
CConsumer<T> - Interface in io.github.javactrl.ext
Same as java.util.function.Consumer except it throws CThrowable
CFunction<T,R> - Interface in io.github.javactrl.ext
Same as java.util.function.Function except it throws CThrowable
CHECK - Static variable in class io.github.javactrl.instrument.Transform
Checks generated IR
clone() - Method in class io.github.javactrl.rt.CallFrame
 
Concurrency - Class in io.github.javactrl.ext
Various utilities for cooperative concurrency.
Concurrency() - Constructor for class io.github.javactrl.ext.Concurrency
 
copy() - Method in class io.github.javactrl.rt.CallFrame
Shallow frame copy
createReturn(T) - Static method in class io.github.javactrl.rt.Wind
This creates a Wind object to make the suspended function on the stack's top return the value on successful winding
createThrow(Throwable) - Static method in class io.github.javactrl.rt.Wind
This creates a token to make the suspended function on the stack's top return the value
CRunnable - Interface in io.github.javactrl.ext
Same as java.lang.Runnable except it throws CThrowable
CSupplier<T> - Interface in io.github.javactrl.ext
Same as java.util.function.Consumer except it throws CThrowable
CThrowable - Class in io.github.javactrl.rt
Common parent for resumable exceptions
CThrowable() - Constructor for class io.github.javactrl.rt.CThrowable
Constructor
CThrowable(String) - Constructor for class io.github.javactrl.rt.CThrowable
Constructor with a message
Ctrl - Annotation Interface in io.github.javactrl.rt
Marks classes for instrumentation
CTRL_TOKEN - Static variable in class io.github.javactrl.instrument.Transform
Throws declaration for enabling instrumentation for a method

D

DEBUG - Static variable in class io.github.javactrl.instrument.Main
dump instrumented classes
defaultCallPredicate - Static variable in class io.github.javactrl.instrument.Main
predicate for method call

E

enablingAnnotation - Static variable in class io.github.javactrl.instrument.Transform
Anotation class to enable this instrumentation for a class

G

get() - Method in interface io.github.javactrl.ext.CSupplier
The functional interface function

H

handler - Variable in class io.github.javactrl.rt.CallFrame
the body of the function
head - Variable in class io.github.javactrl.rt.Unwind
last current captured call frame

I

instrumentClass(byte[]) - Static method in class io.github.javactrl.instrument.Transform
Instrumets class bytecode
instrumentClass(File, File) - Static method in class io.github.javactrl.instrument.Main
Instrumenting a class file
io.github.javactrl.ext - package io.github.javactrl.ext
A package for various extras, it's not strictly needed for delimited continuations usage.
io.github.javactrl.instrument - package io.github.javactrl.instrument
Instrumentation related classes
io.github.javactrl.rt - package io.github.javactrl.rt
Runtime classes

M

main(String[]) - Static method in class io.github.javactrl.instrument.Main
Command line entry point
Main - Class in io.github.javactrl.instrument
Entry point to JavaAgent and AOT instrumentation tool
Main() - Constructor for class io.github.javactrl.instrument.Main
 
methodName - Variable in class io.github.javactrl.rt.CallFrame
unique (within the owner class) method id

N

next - Variable in class io.github.javactrl.rt.CallFrame
current next frame, called by this frame

O

owner - Variable in class io.github.javactrl.rt.CallFrame
owner class

P

payload - Variable in class io.github.javactrl.rt.Unwind
some value the throw side sends to catch sides
predicate - Static variable in class io.github.javactrl.instrument.Main
preliminary filter for classes we don't want to instrument
premain(String, Instrumentation) - Static method in class io.github.javactrl.instrument.Main
Java agent entry point

R

result() - Method in class io.github.javactrl.rt.Wind
This returns value if tvalue isn't null or throws tvalue otherwise
resume(T) - Method in class io.github.javactrl.rt.CallFrame
This calls CallFrame.wind(Wind) making the top function (e.g.
resumeThrow(Throwable) - Method in class io.github.javactrl.rt.CallFrame
This just calls CallFrame.wind(Wind) making the top function (e.g.
resumeThrowTop(Throwable) - Method in class io.github.javactrl.rt.CallFrame
like CallFrame.resumeThrow(Throwable) but isn't supposed to be suspended after
resumeTop(T) - Method in class io.github.javactrl.rt.CallFrame
like CallFrame.resume(Object) but isn't supposed to be suspended after
run() - Method in interface io.github.javactrl.ext.CRunnable
The functional interface function
run(CallFrame, int[], long[], float[], double[], Object[]) - Method in interface io.github.javactrl.rt.CallFrame._Handler
Executes next continuation step

S

serialVersionUID - Static variable in class io.github.javactrl.rt.CallFrame
common serialVersionUID
state - Variable in class io.github.javactrl.rt.CallFrame
current state id

T

test(String, String) - Method in interface io.github.javactrl.instrument.CallPredicate
This method is overriden to select a class to instrument
TRACE_SERIALIZATION - Static variable in class io.github.javactrl.rt.CallFrame
set this to `true` for serialization debugging
Transform - Class in io.github.javactrl.instrument
Byte code instrumentation
Transform() - Constructor for class io.github.javactrl.instrument.Transform
 
tvalue - Variable in class io.github.javactrl.rt.Wind
an exception to throw by the suspended function on the stack's top, if it isn't null

U

Unwind - Class in io.github.javactrl.rt
This is a special exception type.
Unwind() - Constructor for class io.github.javactrl.rt.Unwind
constructor with null payload
Unwind(T) - Constructor for class io.github.javactrl.rt.Unwind
Constructor initializing a payload
usage() - Static method in class io.github.javactrl.instrument.Main
Prints usage

V

v - Variable in class io.github.javactrl.rt.CallFrame
local and stack reference variables
value - Variable in class io.github.javactrl.rt.Wind
the value to be returned by the suspended function on the stack's top if tvalue is null
vD - Variable in class io.github.javactrl.rt.CallFrame
double local and stack variables
vF - Variable in class io.github.javactrl.rt.CallFrame
float local and stack variables
vI - Variable in class io.github.javactrl.rt.CallFrame
int local and stack variables
vJ - Variable in class io.github.javactrl.rt.CallFrame
long local and stack variables

W

wind(Wind) - Method in class io.github.javactrl.rt.CallFrame
This resumes a suspended execution starting from the current frame and all other frames it called when suspended.
Wind - Class in io.github.javactrl.rt
This is a special exception type.
Wind(Object, Throwable) - Constructor for class io.github.javactrl.rt.Wind
Constructor
windTop(Wind) - Method in class io.github.javactrl.rt.CallFrame
like CallFrame.wind(Wind) but isn't supposed to be suspended again, and converts each CThrowable into RuntimeException

_

_booleanResult() - Method in class io.github.javactrl.rt.CallFrame
This function is called from generated code to get boolean result
_byteResult() - Method in class io.github.javactrl.rt.CallFrame
This function is called from generated code to get byte result
_charResult() - Method in class io.github.javactrl.rt.CallFrame
This function is called from generated code to get char result
_checkException(Throwable) - Method in class io.github.javactrl.rt.CallFrame
This function is called from the generated code, running Wind handlers in reverse order
_create(Class<?>, String, int, int, int, int, int) - Static method in class io.github.javactrl.rt.CallFrame
used by the generated code to create an instance of this class
_doubleResult() - Method in class io.github.javactrl.rt.CallFrame
This function is called from generated code to get double result
_floatResult() - Method in class io.github.javactrl.rt.CallFrame
This function is called from generated code to get float result
_intResult() - Method in class io.github.javactrl.rt.CallFrame
This function is called from generated code to get int result
_longResult() - Method in class io.github.javactrl.rt.CallFrame
This function is called from generated code to get long result
_refResult() - Method in class io.github.javactrl.rt.CallFrame
This is called from the generated code to get result of this call
_shortResult() - Method in class io.github.javactrl.rt.CallFrame
This function is called from generated code to get short result
_skipException(Throwable) - Method in class io.github.javactrl.rt.CallFrame
called from the generated code, this doesn't let finally blocks and too generic exception handlers to be invoked on CThrowable exceptions
_skipWind(Throwable) - Method in class io.github.javactrl.rt.CallFrame
called from the generated code, this doesn't let CThrowable catch blocks to be executed on Wind exception
_unwind(Unwind, int) - Method in class io.github.javactrl.rt.CallFrame
This is called from the generated code on unwinding
_voidResult() - Method in class io.github.javactrl.rt.CallFrame
This function is called from generated code for functions without return values
A B C D E G H I M N O P R S T U V W _ 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form