Class VmHacks

java.lang.Object
jadex.bytecode.vmhacks.VmHacks

public class VmHacks extends Object
Class providing various means of getting around VM restrictions.
  • Field Details

    • DISABLE

      public static boolean DISABLE
      Globally disable all VM Hacks.
    • DISABLE_SETACCESSIBLE

      public static boolean DISABLE_SETACCESSIBLE
      Globally disable setAccessible VM Hacks.
    • DISABLE_NATIVE

      public static boolean DISABLE_NATIVE
      Globally disable native functionality.
    • DISABLE_INSTRUMENTATION

      public static boolean DISABLE_INSTRUMENTATION
      Disable all instrumentation-based functionality.
    • DEBUG

      public static boolean DEBUG
      Set to true to see debug infos during startup.
  • Constructor Details

    • VmHacks

      public VmHacks()
  • Method Details

    • get

      public static final VmHacks.Unsafe get()
      Provides access to unsafe operations.
      Returns:
      The Unsafe object.
    • injectClassIntoStore

      protected static final void injectClassIntoStore(Map<Object[],Class<?>> classstore, ClassLoader cl, String classname, Class<?> clazz)
      Trampoline function for injection into the class redefinition store. This allows the stack trace to come from VmHacks instead of VmHacks$Unsafe, avoiding potential inner class naming inconsistencies.
      Parameters:
      classstore - The class store.
      cl - The targeted classloader.
      classname - Name of the class.
      clazz - The class.