org.joni
Class StackMachine

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

abstract class StackMachine
extends Matcher
implements StackType


Field Summary
protected static int INVALID_INDEX
           
protected  int memEndStk
           
protected  int memStartStk
           
protected  int[] repeatStk
           
protected  StackEntry[] stack
           
(package private) static ThreadLocal<WeakReference<StackEntry[]>> stacks
           
private static int STATE_CHECK_BUFF_MALLOC_THRESHOLD_SIZE
           
protected  byte[] stateCheckBuff
           
(package private)  int stateCheckBuffSize
           
protected  int stk
           
 
Fields inherited from class org.joni.Matcher
bytes, enc, end, FAILED, high, INTERRUPTED, low, msaBegin, msaBestLen, msaBestS, msaEnd, msaOptions, msaRegion, msaStart, regex, str
 
Fields inherited from class org.jcodings.IntHolder
value
 
Fields inherited from interface org.joni.constants.StackType
ALT, CALL_FRAME, INVALID_STACK_INDEX, LOOK_BEHIND_NOT, MASK_MEM_END_OR_MARK, MASK_POP_USED, MASK_TO_VOID_TARGET, MEM_END, MEM_END_MARK, MEM_START, NULL_CHECK_END, NULL_CHECK_START, POS, POS_NOT, REPEAT, REPEAT_INC, RETURN, STATE_CHECK_MARK, STOP_BT, VOID
 
Constructor Summary
protected StackMachine(Regex regex, byte[] bytes, int p, int end)
           
 
Method Summary
private static StackEntry[] allocateStack()
           
private  void doubleStack()
           
protected  StackEntry ensure1()
           
private static StackEntry[] fetchStack()
           
protected  int getMemStart(int mnum)
           
protected  int getRepeat(int id)
           
protected  void init()
           
protected  int nullCheck(int id, int s)
           
protected  int nullCheckMemSt(int id, int s)
           
protected  int nullCheckMemStRec(int id, int s)
           
protected  int nullCheckRec(int id, int s)
           
protected  StackEntry pop()
           
private  StackEntry popDefault()
           
private  StackEntry popFree()
           
private  StackEntry popMemStart()
           
protected  void popOne()
           
protected  void popTilLookBehindNot()
           
protected  void popTilPosNot()
           
protected  int posEnd()
           
private  void push(int type, int pat, int s, int prev)
           
protected  void pushAlt(int pat, int s, int prev)
           
protected  void pushAltWithStateCheck(int pat, int s, int sprev, int snum)
           
protected  void pushCallFrame(int pat)
           
protected  void pushEnsured(int type, int pat)
           
protected  void pushLookBehindNot(int pat, int s, int sprev)
           
protected  void pushMemEnd(int mnum, int s)
           
protected  void pushMemEndMark(int mnum)
           
protected  void pushMemStart(int mnum, int s)
           
protected  void pushNullCheckEnd(int cnum)
           
protected  void pushNullCheckStart(int cnum, int s)
           
protected  void pushPos(int s, int prev)
           
protected  void pushPosNot(int pat, int s, int prev)
           
protected  void pushRepeat(int id, int pat)
           
protected  void pushRepeatInc(int sindex)
           
protected  void pushReturn()
           
protected  void pushStateCheck(int s, int snum)
           
protected  void pushStopBT()
           
protected  void pushType(int type)
           
protected  int sreturn()
           
protected  void stateCheckBuffClear()
           
protected  void stateCheckBuffInit(int strLength, int offset, int stateNum)
           
private  void stateCheckMark()
           
private  int stateCheckPos(int s, int snum)
           
protected  boolean stateCheckVal(int s, int snum)
           
protected  void stopBtEnd()
           
 
Methods inherited from class org.joni.Matcher
getBegin, getEagerRegion, getEnd, getRegion, match, matchAt, matchInterruptible, msaInit, search, searchInterruptible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INVALID_INDEX

protected static final int INVALID_INDEX
See Also:
Constant Field Values

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

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:
Constant Field Values
Constructor Detail

StackMachine

protected StackMachine(Regex regex,
                       byte[] bytes,
                       int p,
                       int end)
Method Detail

allocateStack

private static StackEntry[] allocateStack()

doubleStack

private void doubleStack()

fetchStack

private static StackEntry[] fetchStack()

init

protected final void init()

ensure1

protected final StackEntry ensure1()

pushType

protected 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)

pushEnsured

protected final void pushEnsured(int type,
                                 int pat)

pushAltWithStateCheck

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

pushStateCheck

protected final void pushStateCheck(int s,
                                    int snum)

pushAlt

protected final void pushAlt(int pat,
                             int s,
                             int prev)

pushPos

protected final void pushPos(int s,
                             int prev)

pushPosNot

protected final void pushPosNot(int pat,
                                int s,
                                int prev)

pushStopBT

protected final void pushStopBT()

pushLookBehindNot

protected final void pushLookBehindNot(int pat,
                                       int s,
                                       int sprev)

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()

popOne

protected final void popOne()

pop

protected final StackEntry pop()

popFree

private StackEntry popFree()

popMemStart

private StackEntry popMemStart()

popDefault

private StackEntry popDefault()

popTilPosNot

protected final void popTilPosNot()

popTilLookBehindNot

protected final void popTilLookBehindNot()

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()


Copyright © 2013. All Rights Reserved.