Package org.spongepowered.asm.util

## Class Locals.Settings

- java.lang.Object
- - org.spongepowered.asm.util.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
`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
`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