All Classes Interface Summary Class Summary Enum Summary Exception Summary
| Class |
Description |
| AffineScheduler |
|
| Agent |
|
| Asm |
This is a replacement for the jasmin bytecode assembler and uses the same
syntax.
|
| AsmException |
|
| BasicBlock |
A basic block is a contiguous set of instructions that has one label at the
first instruction and a transfer-of-control instruction at the very end.
|
| BBComparator |
|
| BBList |
Just a convenient alias for ArrayList
|
| CachedClassMirrors |
CachedClassMirrors caches information about a set of classes that are loaded through byte arrays, and which
are not already loaded by the classloader
|
| CachedClassMirrors.ClassMirror |
|
| CachedClassMirrors.DummyAnnotationVisitor |
|
| CachedClassMirrors.MethodMirror |
|
| CallWeaver |
This class produces all the code associated with a specific pausable method
invocation.
|
| Cell<T> |
A cell is a single-space buffer that supports multiple producers and a single
consumer, functionally identical to Mailbox bounded to a size of 1 (and hence
optimized for this size)
|
| Chain |
Set up a chain of tasks.
|
| ClassFlow |
This class reads a .class file (or stream), wraps each method with a MethodFlow object and optionally analyzes it.
|
| ClassInfo |
|
| ClassMirrorNotFoundException |
|
| ClassWeaver |
This class is the main entry point for the Weave tool.
|
| ClassWriter |
|
| Constants |
|
| Constants.Util |
|
| Continuation |
a minimal bridge or trampoline between woven and unwoven code
backed by a Fiber
giving the programmer explicit control over the event loop
see Task for a more general and easier to use green thread implementation that automatically handles
the event loop
see Generator for more user friendly wrapper
to use override execute() and call run()
each time run() is called, execute runs until it yields, returns or throws an exception
return value of true means either execute returned or threw an exception (accessible as ex())
with state stored in an internal Fiber field across invocations
to reuse a Continuation, call reset()
Continuation provides no scheduler - it is entirely the responsibility of the calling code to
call run() again once the pausing condition has been satisfied
typically used for state machines and Generators
or to port an existing event loop to kilim
this is a low level facility, see kilim.examples.Xorshift.X2 for an example of direct use
|
| Continuation.FakeTask |
|
| Detector |
Utility class to check if a method has been marked pausable
|
| DirIterator |
Preorder traversal of a directory.
|
| DummyAnnotationVisitor |
|
| DumpClass |
Equivalent to javap -c -l -private, but the output is in jasmin's format
meant to be parseable by Asm.
|
| DumpMethodVisitor |
|
| EmptySet_MsgAvListener |
|
| EndPoint |
The EndPoint represents an open socket connection.
|
| EndPoint.Sched |
|
| EOF |
|
| Event |
|
| EventPublisher |
|
| EventSubCellPrePad |
|
| EventSubCellValue |
|
| EventSubscriber |
|
| Ex |
Spawn a task, communicate through a shared mailbox.
|
| ExitMsg<TT> |
|
| ExposedBais |
A hack that exposes the bytearray inside the ByteArrayInputStream.
|
| ExposedBaos |
A hack that exposes the bytearray inside the ByteArrayOutputStream.
|
| Fib |
This example prints the nth Fibonacci number.
|
| Fiber |
This class serves as a context to manage and store the continuation stack.
|
| Fiber.MethodRef |
|
| Fiber.Worker |
|
| FileContainer |
|
| FileLister |
Utility class to present a uniform iterator interface for file containers; presently
includes directories and jar files.
|
| FileLister.Entry |
|
| FlowAnalyzer |
Used to dump the stack and locals at the beginning of each basic block
|
| ForkJoinScheduler |
|
| Frame |
An activation frame.
|
| Generator<T> |
A Generator, from the caller's perspective, looks like a normal iterator
that produces values.
|
| Group |
|
| Group.GroupTask |
|
| Handler |
Representation for a catch handler.
|
| Handler.Comp |
|
| Handler.Resort |
|
| HeapBlast |
|
| HttpFileServer |
A simple file server over http
Usage: Run java kilim.examples.HttpFileServer [base directory name] From a browser, go to "http://localhost:7262".
|
| HttpMsg |
|
| HttpRequest |
This object encapsulates a bytebuffer (via HttpMsg).
|
| HttpRequestParser |
|
| HttpResponse |
The response object encapsulates the header and often, but not always, the content.
|
| HttpServer |
A very rudimentary HTTP server bound to a specific given port.
|
| HttpServer.Factory |
|
| HttpSession |
Responsible for creating an HTTPRequest object out of raw bytes from a socket, and for sending an HTTPResponse object
in its entirety.
|
| HttpSession.StringRouter |
|
| HttpSession.StringSession |
|
| IncompatibleTypesException |
|
| IntList |
|
| JarIterator |
|
| Javac |
Simple utility class to invoke the java compiler.
|
| Javac.ClassPath |
a collection of class path elements
|
| Javac.SourceInfo |
|
| JettyHandler |
|
| JettyHandler.Iface |
|
| JettyHandler.Java7Handler |
java 7 doesn't support default interface methods so we need a dummy impl of the woven handler
this needs to be in a superclass, otherwise kilim will refuse to weave the real handle method
|
| KeyValues |
A low overhead map to avoid creating too many objects (Entry objects and iterators etc)
|
| Kilim |
runtime weaver
This class dynamically weaves kilim-related classes and runs "class".
|
| Kilim.Config |
|
| KilimClassLoader |
Extends Classloader just to have access to the (protected) findLoadedClass method
|
| KilimContext |
|
| KilimException |
|
| KilimMavenPlugin |
maven plugin for ahead-of-time weaving of class files
|
| KilimMvc |
a minimal mvc framework for kilim, not available in java 7 or earlier
|
| KilimMvc.Clerk |
|
| KilimMvc.Factory<TT extends KilimMvc.Routeable,PP extends KilimMvc.Router> |
|
| KilimMvc.Fullable0 |
|
| KilimMvc.KilimHandler |
|
| KilimMvc.Preppable<PP> |
|
| KilimMvc.Route |
|
| KilimMvc.Route.Info |
|
| KilimMvc.Routeable |
|
| KilimMvc.Routeable0 |
|
| KilimMvc.Routeable1 |
|
| KilimMvc.Routeable2 |
|
| KilimMvc.Routeable3 |
|
| KilimMvc.Routeable4 |
|
| KilimMvc.Routeable5 |
|
| KilimMvc.Routeablex |
|
| KilimMvc.Router<PP extends KilimMvc.Router> |
|
| KilimMvc.Scannable<PP extends KilimMvc.Router> |
|
| KilimMvc.Session |
|
| Line |
|
| Mailbox<T> |
This is a typed buffer that supports multiple producers and a single
consumer.
|
| MailboxMPSC<T> |
This is a typed buffer that supports single producers and a single consumer.
|
| MailboxSPSC<T> |
This is a typed buffer that supports single producers and a single consumer.
|
| MethodFlow |
This represents all the basic blocks of a method.
|
| MethodWeaver |
This class takes the basic blocks from a MethodFlow and generates
all the extra code to support continuations.
|
| MimeTypes |
mime types to simplify building http servers.
|
| MPSCQueue<E> |
|
| MPSCQueue.BackOffStrategy |
|
| MPSCQueueColdFields<E> |
|
| MPSCQueueHeadField<E> |
|
| MPSCQueueL0Pad |
|
| MPSCQueueL1Pad<E> |
|
| MPSCQueueL2Pad<E> |
|
| MPSCQueueL3Pad<E> |
|
| MPSCQueueTailField<E> |
|
| NioSelectorScheduler |
This class wraps a selector and runs it in a separate thread.
|
| NioSelectorScheduler.SessionFactory |
|
| NopInsn |
|
| NotPausable |
|
| P |
|
| PaddedEventSubscriber |
|
| Pausable |
|
| Pausable.Fork |
|
| Pausable.Fork1<AA> |
|
| Pausable.Pfun<XX,YY,EE extends java.lang.Throwable> |
|
| Pausable.Psumer<XX,EE extends java.lang.Throwable> |
|
| Pausable.Spawn<TT> |
|
| PauseReason |
|
| PerfTest |
|
| PerfTest.Producer1 |
|
| Ping |
Example showing kilim's support for NIO.
|
| Ping.Client |
The Client is a conventional Java socket application.
|
| Ping.Server |
Server is a SessionTask, which means an instance of it is created by the
NioSelectorScheduler on an incoming connection.
|
| Post |
|
| Pre |
|
| Pure |
|
| Pure.JavaDemo |
|
| Pure.PureDemo |
|
| Pure.PureDemos |
|
| Pure.PureMega |
|
| Pure.TaskDemo |
|
| Range |
Used by catch handlers to handle overlapping ranges
|
| ReentrantLock |
|
| Reflect |
|
| RingQueue<T> |
|
| SAMweaver |
SAMweaver generates code to support functional interfaces (also known
as SAM, for Single Abstract Method), where the SAM method is pausable.
|
| Scheduler |
This is a basic FIFO Executor.
|
| Scheduler.BasicLogger |
|
| Scheduler.Logger |
|
| ServletHandler |
|
| ServletHandler.Iface |
|
| SessionTask |
|
| SessionTask.Sched |
|
| ShutdownException |
|
| SimpleHttpServer |
A basic HTTP server that merely echoes the path and the query string supplied to it in a GET request
Usage: Run java kilim.examples.HttpFileServer [base directory name]
From a browser, try "http://localhost:7262/hello", "http://localhost:7262/buy?code=200&desc=Rolls%20Royce">"
SimpleHttpSession is an HTTPSession task, itself a thin wrapper over the socket connection.
|
| SimpleHttpServer.SimpleHttpSession |
|
| SimpleTask |
Spawn a task, communicate through a shared mailbox.
|
| SimpleTask2 |
A slight extension to SimpleTask.
|
| SockEvent |
|
| Spawn |
Spawn example with one consumer, ten producers
|
| SPSCQueue<T> |
|
| SPSCQueue.PaddedLong |
|
| State |
State is the super class for customized State objects generated
by ClassWeaver.
|
| StringList |
|
| Task<TT> |
A base class for tasks.
|
| Task.ArgState |
|
| Task.Fork |
|
| Task.Invoke<TT> |
|
| Task.Spawn<TT> |
|
| TaskDoneReason |
|
| TaskGroup |
|
| TimedTask |
Creates lots of tasks that print stuff, sleep, then wake up and print more.
|
| Timer |
|
| TimerBlast |
|
| TimerBlast.Tick |
|
| TimerBlast2 |
|
| TimerBlast2.Info |
|
| TimerBlast2.Tick |
|
| TimerPriorityHeap |
|
| TimerService |
|
| TimerService.DaemonFactory |
|
| TimerService.WatchdogContext |
|
| TimerService.WatchdogTask |
|
| Tree |
This example illustrates two 'generators' that walk a tree, one in pre-order
and another in post-order.
|
| TypeDesc |
A utility class that provides static methods for interning type strings and merging type
descriptors.
|
| UnsafeAccess |
|
| Usage |
Each BasicBlock owns one instance of Usage.
|
| Userdata |
|
| Userdata.Eats1 |
|
| Userdata.Eats1Impl |
|
| Userdata.Eats2 |
|
| Userdata.Eats3 |
|
| Userdata.Eats4 |
|
| Userdata.Eats5 |
|
| Utils |
Simple string utils for pretty printing support
|
| Utils |
|
| ValInfo |
|
| ValInfoList |
|
| Value |
A SSA value that represents all objects produced at a particular
location in the code.
|
| VMType |
|
| VolatileBoolean |
|
| VolatileBooleanPrePad |
|
| VolatileBooleanValue |
|
| VolatileLongCell |
|
| VolatileLongCellPrePad |
|
| VolatileLongCellValue |
|
| VolatileReferenceCell<V> |
|
| VolatileReferenceCellValue<V> |
|
| Weaver |
This class supports both command-line and run time weaving of Kilim bytecode.
|
| WeavingClassLoader |
Classloader that loads classes from the classpath spec given by the system property
"kilim.class.path" and weaves them dynamically.
|
| WeavingClassLoader.Excludable |
|
| Xorshift |
a demo and benchmark of kilim generators used to implement the xorshift PRNG
runs xorshift a number of cycles, printing the nanos per cycle and the xor of the result
the value is printed just to ensure that the JIT actually runs all the code
https://en.wikipedia.org/wiki/Xorshift#xorshift.2B
with modes to run the same algorithm as a Generator and as a raw Continuation (the default)
|
| Xorshift.Loop |
|
| Xorshift.X1 |
|
| Xorshift.X2 |
|
| YieldReason |
|