Package org.joni

Class StackMachine

java.lang.Object
org.jcodings.IntHolder
org.joni.Matcher
org.joni.StackMachine
All Implemented Interfaces:
StackType
Direct Known Subclasses:
ByteCodeMachine

abstract class StackMachine extends Matcher implements StackType
  • Field Details

    • INVALID_INDEX

      protected static final int INVALID_INDEX
      See Also:
    • stack

      protected StackEntry[] stack
    • stk

      protected int stk
    • repeatStk

      protected final int[] repeatStk
    • memStartStk

      protected final int memStartStk
    • memEndStk

      protected final int memEndStk
    • stateCheckBuff

      protected byte[] stateCheckBuff
    • stateCheckBuffSize

      protected int stateCheckBuffSize
    • stacks

      static final ThreadLocal<WeakReference<StackEntry[]>> stacks
    • STATE_CHECK_BUFF_MALLOC_THRESHOLD_SIZE

      private static final int STATE_CHECK_BUFF_MALLOC_THRESHOLD_SIZE
      See Also:
  • Constructor Details

    • StackMachine

      protected StackMachine(Regex regex, Region region, byte[] bytes, int p, int end)
  • Method Details

    • stackInit

      protected final void stackInit()
    • allocateStack

      private static StackEntry[] allocateStack()
    • doubleStack

      private void doubleStack()
    • fetchStack

      private static StackEntry[] fetchStack()
    • ensure1

      private final StackEntry ensure1()
    • pushType

      private final void pushType(int type)
    • stateCheckPos

      private int stateCheckPos(int s, int snum)
    • stateCheckVal

      protected final boolean stateCheckVal(int s, int snum)
    • stateCheckMark

      private void stateCheckMark()
    • stateCheckBuffInit

      protected final void stateCheckBuffInit(int strLength, int offset, int stateNum)
      Specified by:
      stateCheckBuffInit in class Matcher
    • stateCheckBuffClear

      protected final void stateCheckBuffClear()
      Specified by:
      stateCheckBuffClear in class Matcher
    • push

      private void push(int type, int pat, int s, int prev, int pkeep)
    • pushEnsured

      private final void pushEnsured(int type, int pat)
    • pushAltWithStateCheck

      protected final void pushAltWithStateCheck(int pat, int s, int sprev, int snum, int pkeep)
    • pushStateCheck

      protected final void pushStateCheck(int s, int snum)
    • pushAlt

      protected final void pushAlt(int pat, int s, int prev, int pkeep)
    • pushPos

      protected final void pushPos(int s, int prev, int pkeep)
    • pushPosNot

      protected final void pushPosNot(int pat, int s, int prev, int pkeep)
    • pushStopBT

      protected final void pushStopBT()
    • pushLookBehindNot

      protected final void pushLookBehindNot(int pat, int s, int sprev, int pkeep)
    • pushRepeat

      protected final void pushRepeat(int id, int pat)
    • pushRepeatInc

      protected final void pushRepeatInc(int sindex)
    • pushMemStart

      protected final void pushMemStart(int mnum, int s)
    • pushMemEnd

      protected final void pushMemEnd(int mnum, int s)
    • pushMemEndMark

      protected final void pushMemEndMark(int mnum)
    • getMemStart

      protected final int getMemStart(int mnum)
    • pushNullCheckStart

      protected final void pushNullCheckStart(int cnum, int s)
    • pushNullCheckEnd

      protected final void pushNullCheckEnd(int cnum)
    • pushCallFrame

      protected final void pushCallFrame(int pat)
    • pushReturn

      protected final void pushReturn()
    • pushAbsent

      protected final void pushAbsent()
    • pushAbsentPos

      protected final void pushAbsentPos(int start, int end)
    • popOne

      protected final void popOne()
    • pop

      protected final StackEntry pop()
    • popFree

      private StackEntry popFree()
    • popMemStart

      private StackEntry popMemStart()
    • popRewrite

      private void popRewrite(StackEntry e)
    • popDefault

      private StackEntry popDefault()
    • popTilPosNot

      protected final void popTilPosNot()
    • popTilLookBehindNot

      protected final void popTilLookBehindNot()
    • popTilAbsent

      protected final void popTilAbsent()
    • posEnd

      protected final int posEnd()
    • stopBtEnd

      protected final void stopBtEnd()
    • nullCheck

      protected final int nullCheck(int id, int s)
    • nullCheckRec

      protected final int nullCheckRec(int id, int s)
    • nullCheckMemSt

      protected final int nullCheckMemSt(int id, int s)
    • nullCheckMemStRec

      protected final int nullCheckMemStRec(int id, int s)
    • getRepeat

      protected final int getRepeat(int id)
    • sreturn

      protected final int sreturn()