Class Locals.Settings

  • Enclosing class:
    Locals

    public static class Locals.Settings
    extends java.lang.Object
    Settings for getLocalsAt containing the tunable options for the algorithm. This exists for two purposes: Firstly, wrapping tunables up in a single object for convenience, but secondly providing some level of forward compatibility for platforms that which to provide backward compatibility to their own consumers. The flagsCustom field is* provided as a way of encoding arbitrary options that downstream projects may wish to use to tune their own implementations. The flags field is reserved for mixin internal flags to be added at a later date.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static Locals.Settings DEFAULT
      Default settings.
      static int DEFAULT_FLAGS
      Default flags
      static int RESURRECT_EXPOSED_ON_LOAD
      When a LOAD grows the frame, resurrect any zombies in the exposed portion of the frame, based on the thresholds configured.
      static int RESURRECT_EXPOSED_ON_STORE
      When a STORE grows the frame, resurrect any zombies in the exposed portion of the frame, based on the thresholds configured.
      static int RESURRECT_FOR_BOGUS_TOP
      When an incoming frame contains TOP entries, these are nearly always bogus.
    • Constructor Summary

      Constructors 
      Constructor Description
      Settings​(int flags, int flagsCustom, int insnThreshold, int frameThreshold)  
      Settings​(int flags, int flagsCustom, int choppedInsnThreshold, int choppedFrameThreshold, int trimmedInsnThreshold, int trimmedFrameThreshold)  
    • Method Summary

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • RESURRECT_FOR_BOGUS_TOP

        public static int RESURRECT_FOR_BOGUS_TOP
        When an incoming frame contains TOP entries, these are nearly always bogus. If we previously knew the local in that slot, resurrect it. Only resurrects TRIM zombies.
      • RESURRECT_EXPOSED_ON_LOAD

        public static int RESURRECT_EXPOSED_ON_LOAD
        When a LOAD grows the frame, resurrect any zombies in the exposed portion of the frame, based on the thresholds configured.
      • RESURRECT_EXPOSED_ON_STORE

        public static int RESURRECT_EXPOSED_ON_STORE
        When a STORE grows the frame, resurrect any zombies in the exposed portion of the frame, based on the thresholds configured.
      • DEFAULT_FLAGS

        public static int DEFAULT_FLAGS
        Default flags
      • DEFAULT

        public static Locals.Settings DEFAULT
        Default settings. CHOP zombies can be resurrected for 1 frame, TRIM zombies can be resurrected forever
    • Constructor Detail

      • Settings

        public Settings​(int flags,
                        int flagsCustom,
                        int insnThreshold,
                        int frameThreshold)
        Parameters:
        flags - Mixin flags
        flagsCustom - Platform-specific flags
        insnThreshold - Number of instructions that a local (regardless of death reason) is eligible for resurrection, -1 to ignore, 0 for none
        frameThreshold - Number of frames that a local (regardless of death reason) is eligible for resurrection,-1 to ignore, 0 for none
      • Settings

        public Settings​(int flags,
                        int flagsCustom,
                        int choppedInsnThreshold,
                        int choppedFrameThreshold,
                        int trimmedInsnThreshold,
                        int trimmedFrameThreshold)
        Parameters:
        flags - Mixin flags
        flagsCustom - Platform-specific flags
        choppedInsnThreshold - Number of instructions that a CHOPped local is eligible for resurrection, -1 to ignore, 0 for none
        choppedFrameThreshold - Number of frames that a CHOPped local is eligible for resurrection,-1 to ignore, 0 for none
        trimmedInsnThreshold - Number of instructions that a TRIMmed# local is eligible for resurrection, -1 to ignore, 0 for none
        trimmedFrameThreshold - Number of frames that a TRIMmed local is eligible for resurrection, -1 to ignore, 0 for none