Class Locals.Settings

java.lang.Object
org.spongepowered.asm.util.Locals.Settings
Enclosing class:
Locals

public static class Locals.Settings extends 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
    Default settings.
    static int
    Default flags
    static int
    When a LOAD grows the frame, resurrect any zombies in the exposed portion of the frame, based on the thresholds configured.
    static int
    When a STORE grows the frame, resurrect any zombies in the exposed portion of the frame, based on the thresholds configured.
    static int
    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 Details

    • 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 Details

    • 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