jsr292-cookbook


A cookbook for JSR 292

A collection of source code showing how to use JSR 292 to implement usual patterns that you can find in dynamic language runtimes.

Patterns

Constants * lazy initialization (of a constant array) * almost (volatile) static final field

Method handle interceptors * before, after * try/finally * proxy

Callsite adaptation * conversion/boxing/unboxing (not yet implemented) * varargs (not yet implemented) * named parameters (not yet implemented)

Single-dispatch (one receiver) * inlining caches * cascaded inlining cache * bimorphic inlining cache Double dispatch * visitor * visitor Multi-dispatch (several receivers) * multi-dispatch (bitset based) * multi-dispatch

Callee adaptation * verified entry point & vtable * memoization

Mutable metaclass * metaclass & invalidation

Project Information

The project was created on Jun 5, 2011.

Labels:
jsr292 cookbook examples