Commit 0658e160 authored by Andrea Rosà's avatar Andrea Rosà

Minimal instructions for enabling the DiSL Reflection API added.

parent c8ed5da3
The DiSL Reflection API ensures that all supertypes of a class are loaded (and hence
instrumented) before the class itself.
The DiSL Reflection API is disabled by default. To enable it, pass the following
flags to the target application:
`-Ddisl.forcesuperclass=true -Ddisl.forceinterfaces=true`
Optionally, you can specify a force-loading exclusion file, by passing the following
flag:
-Ddisl.flexclusionfile=<path-to-file>
The API will not force-load supertypes for the classes specified in such file.
The file should contain the fully qualified *internal* name (i.e., packages
separated by '/') of all classes for which force-loading should be disabled, one per line.
For example:
`akka/dispatch/MessageDispatcher`
During testing, we found that the above class presents issues with supertype force-loading
(to be investigated).
Hence, it is reccomended to include such class in the force-loading exclusion file.
More information on the DiSL Reflection API can be found in:
Andrea Rosà, Walter Binder. "Optimizing type-specific instrumentation on the JVM
with reflective supertype information.". Journal of Visual Languages & Computing
Volume 49, December 2018, Pages 29-45.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment