Commit Graph

187 Commits

Author SHA1 Message Date
Zoltán Herczeg a16919ce6f Improve character range optimization in JIT. 2017-05-30 09:42:28 +00:00
Zoltán Herczeg b317bdc184 JIT SSE2 optimization improvement. 2017-05-28 03:53:09 +00:00
Zoltán Herczeg 660811e899 Improve first bitset search in JIT. 2017-05-09 08:42:46 +00:00
Zoltán Herczeg 4655d89ce5 Continue reworking first character search in JIT. 2017-05-08 13:32:59 +00:00
Zoltán Herczeg 3c542db175 Improve first character searches. 2017-05-08 03:35:40 +00:00
Zoltán Herczeg ba1c759c90 JIT: Allow early quit in fast forward search. 2017-05-07 14:28:37 +00:00
Zoltán Herczeg a61bd956eb JIT compiler update. 2017-05-07 07:10:16 +00:00
Zoltán Herczeg aa224e4ac9 JIT compielr update. 2017-04-26 08:34:09 +00:00
Zoltán Herczeg 584f35c059 Improve prefix character scanning in JIT. 2017-04-18 14:37:01 +00:00
Zoltán Herczeg b9f95b5f63 Refactor SSE2 accelerated first character search in JIT. 2017-04-18 05:49:39 +00:00
Zoltán Herczeg 486a66681f SSE2 accelerated first character pair search in JIT. 2017-04-17 14:54:04 +00:00
Zoltán Herczeg 1379a48d94 Support end anchored in JIT. 2017-04-13 11:52:36 +00:00
Philip.Hazel 7afe4e4110 Documentation tidies and code tidies for Windows. 2017-04-08 15:21:39 +00:00
Zoltán Herczeg 13c0ea59b2 Enabling valgrind disables SSE2 in JIT. 2017-04-07 11:06:56 +00:00
Zoltán Herczeg bdac9df4cf Fix character type detection when 32-bit and UCP are enabled but UTF is not in JIT. 2017-03-31 05:40:37 +00:00
Zoltán Herczeg a5da70b28c Support (*ACCEPT) inside recurse in JIT. 2017-03-30 13:25:20 +00:00
Zoltán Herczeg 380738d981 Improve callouts and revertframes in JIT. 2017-03-29 08:12:32 +00:00
Zoltán Herczeg a31b57c9da Reverse the jit-stack to top-down. 2017-03-27 13:35:08 +00:00
Zoltán Herczeg 25cec7a966 Support full ovector data for JIT callouts. 2017-03-25 06:33:41 +00:00
Zoltán Herczeg 131209e22d Capture control verbs inside the conditional assertion of a conditional block. 2017-03-20 10:41:13 +00:00
Zoltán Herczeg b55ef12cc1 Reworked the recursive pattern matching in the JIT compiler to follow the interpreter changes. 2017-03-19 03:35:27 +00:00
Philip.Hazel 04da0725f3 Remove obsolete OP_ONCE_NC internal opcode. 2017-03-11 17:59:23 +00:00
Zoltán Herczeg 9669cd1218 Major JIT compiler update. 2017-02-15 07:27:08 +00:00
Zoltán Herczeg 83c67a8ece Fix register overwite in JIT when SSE2 acceleration is enabled. 2016-07-01 08:56:59 +00:00
Philip.Hazel 42f9a5e9e7 Fix typo that gave compiler error when JIT not supported. 2016-06-14 09:19:24 +00:00
Philip.Hazel 18018db697 Minor refactor to avoid "left shift of negative number" warning. 2016-05-21 13:41:24 +00:00
Zoltán Herczeg c8938f7a23 Style updates in JIT. 2016-04-12 11:27:41 +00:00
Zoltán Herczeg 3e486da3de JIT compiler update. 2016-03-04 08:51:53 +00:00
Zoltán Herczeg 9d52a9d973 JIT compiler update. 2016-02-29 09:09:40 +00:00
Zoltán Herczeg 80d7d825e1 JIT style fixes. 2016-02-24 10:17:10 +00:00
Zoltán Herczeg 88027b4625 Minor JIT style fixes. 2016-02-15 09:15:49 +00:00
Philip.Hazel bebd2d48bf Final file updates for 10.21 release. 2016-01-12 14:44:34 +00:00
Zoltán Herczeg 3485b14a18 Hotfix for [:punct:] in JIT. 2015-11-18 08:01:33 +00:00
Zoltán Herczeg c0d0f2f65e Fix two offset_limit bug in JIT. 2015-11-16 08:30:48 +00:00
Zoltán Herczeg 9006c26361 Support offset limit in JIT. 2015-11-15 05:05:53 +00:00
Zoltán Herczeg 357dfb7964 Fix two issues in JIT. 2015-09-02 08:35:50 +00:00
Zoltán Herczeg ccda7d218f SSE2 refactor, JIT compiler update. 2015-08-30 05:30:43 +00:00
Zoltán Herczeg e40bc47ae2 Fixed a corner case of range optimization in JIT. 2015-08-26 13:35:58 +00:00
Zoltán Herczeg 67764372eb Fix two assertion fails in JIT found by Karl Skomski. 2015-08-24 09:25:04 +00:00
Zoltán Herczeg 9150629497 Continue working on SSE2 support. 2015-08-23 09:47:08 +00:00
Zoltán Herczeg 81af149870 Improve first character match in JIT with SSE2 on x86. 2015-08-23 01:54:04 +00:00
Zoltán Herczeg 1370a49dfe Match limit check added to recursion. 2015-08-14 09:36:04 +00:00
Zoltán Herczeg d98800a946 A bug which was introduced by the single character repetition optimization was fixed. 2015-08-13 11:35:38 +00:00
Zoltán Herczeg b2144d14b6 Add 1 to match limit to support 0 match limit. 2015-08-13 05:57:26 +00:00
Zoltán Herczeg d210396121 The JIT compiler should restore the control chain for empty possessive repeats. 2015-08-11 13:20:37 +00:00
Zoltán Herczeg 3ec328fe1b The JIT compiler should not check repeats after a {0,1} repeat byte code. 2015-08-11 05:30:10 +00:00
Zoltán Herczeg 1a3a24016d Improve the performance of starting single character repetitions in JIT. 2015-08-10 12:28:27 +00:00
Zoltán Herczeg c214c54ca0 The JIT compiler did not restore the control verb head in case of *THEN control verbs. 2015-08-08 05:45:17 +00:00
Zoltán Herczeg 4003ae5911 Fixed an issue when \p{Any} inside an xclass did not read the current character. 2015-08-05 09:04:01 +00:00
Zoltán Herczeg 0b809c7de3 Fix typo in JIT. 2015-07-22 06:42:58 +00:00
Zoltán Herczeg f957e7bfa8 Fix infinite recursion in the JIT compiler when certain patterns when certain patterns are analysed. 2015-07-20 07:38:06 +00:00
Zoltán Herczeg 6f3776bd14 Improve matching speed of patterns starting with + or * in JIT. 2015-07-03 06:46:20 +00:00
Zoltán Herczeg c5f27e1c18 JIT should return with error when the compiled pattern requires more stack space than the maximum. 2015-06-28 13:31:24 +00:00
Zoltán Herczeg c1355dedc2 Improve star and upto performance in JIT when unicode is disabled. 2015-06-21 05:10:48 +00:00
Zoltán Herczeg 78ea22d11d Minor AllAny optimization in JIT. 2015-06-19 10:16:33 +00:00
Zoltán Herczeg f692e5c45b Improve xclass matching in JIT. 2015-06-19 10:10:44 +00:00
Zoltán Herczeg 0638a1897e Minor single character iterator fixes in JIT. 2015-06-19 06:53:36 +00:00
Philip.Hazel 07a8fdce25 Source and document file tidies for 10.20-RC1. 2015-06-18 16:39:25 +00:00
Zoltán Herczeg a68ddd48b5 Improve exact character repeat length check. 2015-06-17 11:32:06 +00:00
Zoltán Herczeg 870f975707 Single character repetition in JIT has been improved. 2015-06-16 11:37:19 +00:00
Zoltán Herczeg bf492e47f6 Warning fixes. 2015-06-01 06:55:17 +00:00
Zoltán Herczeg e4dc0407e3 Support alt circumflex in JIT. 2015-04-27 07:02:34 +00:00
Philip.Hazel 2966b067cb Implement --enable-debug. 2015-04-24 11:14:47 +00:00
Zoltán Herczeg c8609a72c6 Fix JIT assertion failure. 2015-04-21 07:02:08 +00:00
Zoltán Herczeg 53e25208d3 Improve options passing. 2015-04-20 13:04:02 +00:00
Zoltán Herczeg 69cda6bc70 Fix JIT compilation of conditional blocks whose assertion is converted to (*FAIL). 2015-03-24 08:43:52 +00:00
Philip.Hazel 15e034c9c2 Add string offset within the pattern to the data passed to a callout with a
string argument.
2015-03-14 12:20:18 +00:00
Zoltán Herczeg bccfdcb172 Assertion code generator in JIT has been optimized. 2015-03-12 11:21:38 +00:00
Philip.Hazel d0cf279d87 Code for callouts with string arguments. Documentation not yet updated. 2015-03-11 17:44:16 +00:00
Zoltán Herczeg 94802eb0d9 Remove computing the JIT read-only data size in advance and use on-demand memory allocation. 2015-03-06 07:41:36 +00:00
Philip.Hazel 49a7eada2d Final source file tidies for 10.10-RC1 2015-02-20 11:20:40 +00:00
Philip.Hazel ca77bdd5c4 Implement (*NO_JIT) 2015-01-26 14:57:27 +00:00
Philip.Hazel 312375057b Change callouts to pass the user data as a separate argument. 2014-11-25 17:35:01 +00:00
Zoltán Herczeg bb6bf69a6e Move all offset initialization to one place. 2014-11-25 09:06:27 +00:00
Philip.Hazel eb4fffbbf4 More documentation and file tidies. 2014-11-21 16:45:06 +00:00
Philip.Hazel 819e175659 Eliminate compiler warning 2014-11-18 18:31:39 +00:00
Zoltán Herczeg 7d9caa5b41 The pcre2_jit_stack_assign is changed to use the matching context. 2014-11-06 14:37:09 +00:00
Zoltán Herczeg 0907fc6e92 Support for JIT code free and small partial match optimization. 2014-10-09 10:06:19 +00:00
Zoltán Herczeg 62746ceb10 Several small JIT fixes. 2014-10-08 08:57:26 +00:00
Zoltán Herczeg 386b47eabe More JIT fixes. 2014-10-05 06:20:41 +00:00
Zoltán Herczeg 648695e262 Minor fixes. RunTest 1 now works with JIT. 2014-10-04 17:05:21 +00:00
Zoltán Herczeg f0855fab5c Starting commit of the JIT compiler. 2014-10-03 10:17:18 +00:00
Philip.Hazel df93e05c2e Remove match context argument from pcre2_jit_compile. 2014-10-03 09:25:57 +00:00
Zoltán Herczeg 4fda5bba36 PCRE2 successfully compiles with --enable-jit now. 2014-09-30 07:06:48 +00:00
Philip.Hazel 7efba85b56 Change lengths to PCRE2_SIZE and revise OP_RECURSE processing. 2014-08-16 09:46:58 +00:00
Philip.Hazel 06ba06c763 Refactor the framework for revised API. 2014-04-18 15:37:56 +00:00
Philip.Hazel f4174bab90 Create dummy framework for all functions and programs. 2014-03-07 17:28:52 +00:00