164 Commits

Author SHA1 Message Date
Matthew Barr
d77ee0839d Improved test for AVX2 support
Test for xsave and XMM/YMM registers. Use ICC dynamic feature detection
where available.
2016-03-01 11:36:09 +11:00
Justin Viiret
060defe6c4 Rose: move more report handling work into program
Move report preconditions (bounds, exhaustion, etc) into program
instructions and use a more direct path to the user match callback than
the adaptor functions.

Report handling has been moved to new file src/report.h. Reporting from
EOD now uses the same instructions as normal report handling, rather
than its own.

Jump target tracking in rose_build_bytecode.cpp has been cleaned up.
2016-03-01 11:32:01 +11:00
Justin Viiret
de61b32e98 Use fatbit for anch log, delay slots in scratch
Since these structures are in scratch, they do not have to be as small
as possible and we can use fatbit instead of multibit to improve
performance.
2016-03-01 11:24:17 +11:00
Matthew Barr
39886a0968 Coverity: Restore output stream format 2016-03-01 11:23:56 +11:00
Anatoly Burakov
77ff826bbf Adding bitmatchers 2016-03-01 11:21:39 +11:00
Justin Viiret
8069e99bee make_disjoint: Remove dead code 2016-03-01 11:17:28 +11:00
Justin Viiret
9cb2233589 rose: Use an interpreter for role runtime
Replace much of the RoseRole structure with an interpreted program,
simplifying the Rose runtime and making it much more flexible.
2016-03-01 11:16:02 +11:00
Justin Viiret
da23e8306a assignDkeys: use flat_set<ReportID>, not set 2015-12-07 09:38:32 +11:00
Justin Viiret
15c2980948 Make key 64 bits where large shifts may be used.
This fixes a long-standing issue with large multibit structures.
2015-12-07 09:38:32 +11:00
Justin Viiret
2a2576e907 Introduce copy_bytes for writing into bytecode
Protects memcpy from nullptr sources, which triggers failures in GCC's
UB sanitizer.
2015-11-18 15:26:16 +11:00
Justin Viiret
d9efe07125 depth: correct sign in printf format 2015-11-10 14:36:38 +11:00
Justin Viiret
ed4a3cdcf1 compare: always use braces for for/if blocks 2015-11-10 14:36:38 +11:00
Matthew Barr
1f47b82106 Remove unneeded code at preproc stage
If we know we have BMI2 we shouldn't produce the fallback code.
2015-10-30 11:28:38 +11:00
Matthew Barr
904e436f11 Initial commit of Hyperscan 2015-10-20 09:13:35 +11:00