2014-10-06 19:28:42 +02:00
|
|
|
# This test is run only when JIT support is available. It checks for a
|
|
|
|
# successful and an unsuccessful JIT compile, and a couple of things that are
|
|
|
|
# different with JIT.
|
|
|
|
|
|
|
|
/abc/I,jit
|
|
|
|
Capturing subpattern count = 0
|
|
|
|
No options
|
|
|
|
First code unit = 'a'
|
|
|
|
Need char = 'c'
|
|
|
|
Subject length lower bound = 3
|
|
|
|
No starting char list
|
|
|
|
JIT study was successful
|
|
|
|
|
|
|
|
/(?(?C1)(?=a)a)/I,jit
|
|
|
|
Capturing subpattern count = 0
|
|
|
|
May match empty string
|
|
|
|
No options
|
|
|
|
No first code unit
|
|
|
|
No last code unit
|
|
|
|
Study returned NULL
|
|
|
|
JIT study was not successful
|
|
|
|
|
|
|
|
/(?(?C1)(?=a)a)/I
|
|
|
|
Capturing subpattern count = 0
|
|
|
|
May match empty string
|
|
|
|
No options
|
|
|
|
No first code unit
|
|
|
|
No last code unit
|
|
|
|
Subject length lower bound = -1
|
|
|
|
No starting char list
|
|
|
|
JIT study was not successful
|
|
|
|
|
|
|
|
/a*/I
|
|
|
|
Capturing subpattern count = 0
|
|
|
|
May match empty string
|
|
|
|
No options
|
|
|
|
No first code unit
|
|
|
|
No last code unit
|
|
|
|
Study returned NULL
|
|
|
|
|
|
|
|
/(?(R)a*(?1)|((?R))b)/S+
|
|
|
|
aaaabcde
|
|
|
|
Error -27 (JIT stack limit reached)
|
|
|
|
|
|
|
|
# Test various compile modes
|
|
|
|
|
|
|
|
#pattern jit,jitverify
|
|
|
|
|
|
|
|
/abcd/
|
|
|
|
abcd
|
|
|
|
0: abcd (JIT)
|
|
|
|
xyz
|
|
|
|
No match (JIT)
|
|
|
|
|
|
|
|
/abcd/
|
|
|
|
abcd
|
|
|
|
0: abcd (JIT)
|
|
|
|
ab\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
ab\P\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
xyz
|
|
|
|
No match (JIT)
|
|
|
|
|
|
|
|
/abcd/
|
|
|
|
abcd
|
|
|
|
0: abcd (JIT)
|
|
|
|
ab\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
ab\P\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
xyz
|
|
|
|
No match (JIT)
|
|
|
|
|
|
|
|
/abcd/jit=1
|
|
|
|
abcd
|
|
|
|
0: abcd (JIT)
|
|
|
|
ab\P
|
|
|
|
Partial match: ab
|
|
|
|
ab\P\P
|
|
|
|
Partial match: ab
|
|
|
|
xyz
|
|
|
|
No match (JIT)
|
|
|
|
xyz\P
|
|
|
|
No match
|
|
|
|
|
|
|
|
/abcd/jit=2
|
|
|
|
abcd
|
|
|
|
0: abcd
|
|
|
|
ab\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
ab\P\P
|
|
|
|
Partial match: ab
|
|
|
|
xyz
|
|
|
|
No match
|
|
|
|
|
|
|
|
/abcd/jit=3
|
|
|
|
abcd
|
|
|
|
0: abcd (JIT)
|
|
|
|
ab\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
ab\P\P
|
|
|
|
Partial match: ab
|
|
|
|
xyz
|
|
|
|
No match (JIT)
|
|
|
|
|
|
|
|
/abcd/jit=4
|
|
|
|
abcd
|
|
|
|
0: abcd
|
|
|
|
ab\P
|
|
|
|
Partial match: ab
|
|
|
|
ab\P\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
xyz
|
|
|
|
No match
|
|
|
|
|
|
|
|
/abcd/jit=5
|
|
|
|
abcd
|
|
|
|
0: abcd (JIT)
|
|
|
|
ab\P
|
|
|
|
Partial match: ab
|
|
|
|
ab\P\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
xyz
|
|
|
|
No match (JIT)
|
|
|
|
|
|
|
|
/abcd/jit=6
|
|
|
|
abcd
|
|
|
|
0: abcd
|
|
|
|
ab\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
ab\P\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
xyz
|
|
|
|
No match
|
|
|
|
|
|
|
|
/abcd/jit=7
|
|
|
|
abcd
|
|
|
|
0: abcd (JIT)
|
|
|
|
ab\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
ab\P\P
|
|
|
|
Partial match: ab (JIT)
|
|
|
|
xyz
|
|
|
|
No match (JIT)
|
|
|
|
|
|
|
|
/abcd/I,jit=2
|
|
|
|
Capturing subpattern count = 0
|
|
|
|
No options
|
|
|
|
First code unit = 'a'
|
|
|
|
Last code unit = 'd'
|
|
|
|
Subject length lower bound = 4
|
|
|
|
No starting char list
|
|
|
|
JIT study was successful
|
|
|
|
|
|
|
|
/(*NO_START_OPT)a(*:m)b/mark
|
|
|
|
a
|
|
|
|
No match, mark = m (JIT)
|
|
|
|
|
|
|
|
/^12345678abcd/m
|
|
|
|
12345678abcd
|
|
|
|
0: 12345678abcd (JIT)
|
|
|
|
|
|
|
|
# End of testinput15
|