Justin Viiret
d94bf2fd62
fdr_confirm_compile: wrap comment
2017-08-21 10:39:00 +10:00
Justin Viiret
2b9b2ca911
fdr/teddy: remove padding from structures
2017-08-21 10:39:00 +10:00
Justin Viiret
71bd1c8dfe
teddy: clean up compile to match fdr style
2017-08-21 10:39:00 +10:00
Justin Viiret
e9d85f7b51
fdr_confirm: renumber FDR_LIT_FLAG_NOREPEAT
2017-08-21 10:39:00 +10:00
Justin Viiret
b126cbf556
fdr/teddy: simplify computing of confirm base
2017-08-21 10:39:00 +10:00
Justin Viiret
06bafae81d
fdr_confirm: clean up use of flags
2017-08-21 10:39:00 +10:00
Justin Viiret
c878d5ec66
fdr: further tidy up layout
2017-08-21 10:39:00 +10:00
Justin Viiret
549062ec2b
fdr_confirm: start FDRConfirm structs at cacheline
2017-08-21 10:38:59 +10:00
Justin Viiret
4f32a167d5
teddy: align major structures to cachelines
2017-08-21 10:38:59 +10:00
Justin Viiret
9bdd370163
fdr: align major structures to cachelines
2017-08-21 10:38:59 +10:00
Justin Viiret
c36c071564
fdr_confirm: remove dead flags
...
- Caseless was unused
- NoFlags is a bit redundant
2017-08-21 10:38:59 +10:00
Justin Viiret
e8c0b5685f
fdr_confirm: remove complex confirm
2017-08-21 10:38:59 +10:00
Justin Viiret
dedfc34515
fdr_confirm_compile: fix bug in table sizing
2017-06-15 15:41:30 +10:00
Matthew Barr
f6b688fc06
rename pshufb to pshufb_m128
2017-05-30 13:59:23 +10:00
Matthew Barr
a295c96198
rename vpshufb to pshufb_m256
2017-05-30 13:59:23 +10:00
Justin Viiret
d4146059db
bytecode_ptr: add shrink() member function
2017-04-26 15:19:43 +10:00
Justin Viiret
63fe84c3f1
bytecode_ptr: add make_zeroed_bytecode_ptr
...
Rather than always zeroing memory.
2017-04-26 15:19:36 +10:00
Justin Viiret
d9bac2bdb3
teddy: fix forward decl (namespace ue2)
2017-04-26 15:19:36 +10:00
Justin Viiret
3590f73151
fdr: use bytecode_ptr in fdr/teddy compilers
2017-04-26 15:19:36 +10:00
Justin Viiret
2698e534e4
fdr_confirm_compile: use bytecode_ptr
2017-04-26 15:19:35 +10:00
Justin Viiret
97516eccb6
fdr: use bytecode_ptr internally
2017-04-26 15:19:35 +10:00
Justin Viiret
1ef87c43ee
noncopyable: switch over from boost
2017-04-26 15:18:26 +10:00
Matthew Barr
cd418ea6a8
Wrapper for system intrin header
2017-04-26 15:18:26 +10:00
Matthew Barr
8201183138
Check compiler architecture flags in one place
2017-04-26 15:18:26 +10:00
Wang, Xiang W
448ce8a496
UE-3098: add unaligned load for andn without BMI
2017-04-26 15:17:03 +10:00
Wang, Xiang W
ffab97ca8c
FDR: delete dead confirm code
2017-04-26 15:16:27 +10:00
Wang, Xiang W
90216921b0
FDR: front end loop improvement
2017-04-26 15:11:10 +10:00
Justin Viiret
1be1293491
fdr: add grey box control for flood detection
2017-04-26 14:59:22 +10:00
Matthew Barr
9363ae7486
Clear upper half of AVX register before libm call
...
Clearing the upper half of the AVX register is required before calling SSE
code to avoid AVX-to-SSE transition penalties.
2017-04-26 14:59:22 +10:00
Alex Coyte
8af4850d85
remove 'fast teddy' models
2017-04-26 14:43:43 +10:00
Justin Viiret
05b5265aff
fdr: remove dead code to do with link structures
2017-04-26 14:43:43 +10:00
Wang, Xiang W
df7bc22ae0
fdr: remove confirm split and pull-back
2017-04-26 14:43:09 +10:00
Justin Viiret
a55bbe657c
fdr: remove clamp on confirm size
2017-04-26 14:41:30 +10:00
Justin Viiret
12edb07f6e
fdr_compile: remove dead var
2017-04-26 14:41:29 +10:00
Justin Viiret
7984b26b14
fdr: rely on fixed size confirm structures
2017-04-26 14:41:29 +10:00
Justin Viiret
1b36594bda
fdr: simplify confirm for 8-byte fragments
2017-04-26 14:41:29 +10:00
Justin Viiret
07a6b6510c
rose/hwlm: limit literals to eight bytes
...
Rework HWLM to work over literals of eight bytes ("medium length"),
doing confirm in the Rose interpreter.
2017-04-26 14:41:29 +10:00
Justin Viiret
22edaad1dd
fdr: compile algo/heuristics improvements
...
These changes fix a small bug in the algorithm used for bucket
assignment in FDR's compile process, and also tweak a few of the
heuristics governing it.
2017-04-26 14:41:29 +10:00
Justin Viiret
f7cc8a618d
fdr: reduce confirm size to a u8
...
Also removes the flexible array member from the LitInfo structure.
2016-10-28 14:52:52 +11:00
Justin Viiret
68bf473e2e
fdr: move long literal handling into Rose
...
Move the hash table used for long literal support in streaming mode from
FDR to Rose, and introduce new instructions CHECK_LONG_LIT and
CHECK_LONG_LIT_NOCASE for doing literal confirm for long literals.
This simplifies FDR confirm, and guarantees that HWLM matchers will only
be used for literals < 256 bytes long.
2016-10-28 14:52:26 +11:00
Matthew Barr
89ddb85637
Remove enum typedef
2016-08-10 15:07:01 +10:00
Matthew Barr
cbd115f7fe
Don't shadow names
2016-08-10 15:06:57 +10:00
Justin Viiret
04634f2e87
flood_compile: escape chars in debugging
2016-08-10 15:06:05 +10:00
Justin Viiret
3d9a60d023
teddy: apply poison mask after prep_conf_ work
...
This simplifies the code, and removes all the all-ones p_mask uses,
which we were otherwise trusting the optimizer to remove.
2016-08-10 15:05:23 +10:00
Justin Viiret
9346a9090e
fdr: remove groups from struct FDR_Runtime_Args
2016-08-10 14:55:52 +10:00
Justin Viiret
42f23c2c91
teddy: no need to write control out at the end
2016-08-10 14:55:51 +10:00
Justin Viiret
b6a77b7329
teddy: remove extra control ptr
2016-08-10 14:55:51 +10:00
Justin Viiret
85f049edb2
fdr: remove extra control ptr
2016-08-10 14:55:51 +10:00
Matthew Barr
e3d416a6ea
Apply some consistency to the names we give shifts
2016-07-08 11:07:50 +10:00
Matthew Barr
1b3e795fc9
teddy: we only need the upper lane
...
Just use an extract, no need to shuffle first.
2016-07-08 11:07:50 +10:00