John Keiser
66a68ce264
Return errors immediately instead of using goto
2020-08-02 12:04:12 -07:00
John Keiser
379a4e6a01
namespace { -> unnamed namespace
2020-08-01 14:46:23 -07:00
John Keiser
bc8a6dd2e3
Remove dead code
2020-08-01 14:43:10 -07:00
John Keiser
b1478c37f6
Fix arm64 build
2020-08-01 14:43:10 -07:00
John Keiser
4e944a9f3c
Eliminate unused functions in fallback
2020-08-01 14:43:10 -07:00
John Keiser
c7fa9b5fe8
Make entire implementation namespaces anonymous
2020-08-01 14:43:10 -07:00
John Keiser
65148b123b
Put anonymous namespace in front of everything
2020-08-01 14:43:10 -07:00
John Keiser
7d347be902
Untangle amalgamated headers
2020-07-24 02:56:41 -07:00
John Keiser
bf67c967d6
Inline jsoncharutils per-implementation
2020-07-24 02:56:41 -07:00
John Keiser
44b7a7145c
Include bitmanip/simd everywhere
2020-07-24 02:56:39 -07:00
John Keiser
3867ee71ed
Include files where they are used
2020-07-24 02:56:37 -07:00
John Keiser
464f4813e3
Define namespaces inside generic files
2020-07-24 02:56:36 -07:00
John Keiser
af8b52e7e8
Target region for entire compilation of an implementation
2020-07-24 02:48:25 -07:00
Daniel Lemire
4beb2ed507
Make simd8 64 uncopyable and other Visual Studio optimizations ( #1031 )
...
* Working on making simd8x64 immutable
* Even less invasive
2020-07-21 18:11:21 -04:00
Daniel Lemire
e9c91a1ce2
lookup4 (new UTF-8 validation) ( #993 )
...
* lookup4
* Self-document lookup4 and clean up extra bits
* Maintenance, to match against upcoming PR.
Co-authored-by: Daniel Lemire <lemire@gmai.com >
Co-authored-by: John Keiser <john@johnkeiser.com >
2020-07-20 18:20:07 -04:00
John Keiser
6797a6ab56
Use const uint8_t * in number parsing
2020-07-10 09:17:23 -07:00
Daniel Lemire
d0ce2f0b5a
Fixing clang under visual studio ( #1028 )
...
* Lots of fixes
* Removing some lambdas
* Removing some functional programming.
Co-authored-by: Daniel Lemire <lemire@gmai.com >
2020-07-06 18:58:19 -04:00
Daniel Lemire
a6cbf1f922
Going generic...
2020-06-22 16:25:11 -04:00
Daniel Lemire
b836164a38
Fix.
2020-06-22 02:12:49 +00:00
Daniel Lemire
5dbcdf1484
Ok
2020-06-21 17:52:30 -04:00
Daniel Lemire
5dc07ed295
It builds.
2020-06-21 17:20:33 -04:00
Daniel Lemire
064d4255d5
Ok.
2020-06-21 17:09:06 -04:00
Daniel Lemire
04139eb82e
Ok.
2020-06-21 17:05:55 -04:00
Daniel Lemire
942ef3b7f2
Merge pull request #939 from simdjson/dlemire/lookup3
...
Introducing lookup3 (UTF-8 validation).
2020-06-17 11:19:09 -04:00
Daniel Lemire
71a889ed73
Introducing lookup3 (UTF-8 validation).
2020-06-16 19:08:25 -04:00
John Keiser
610c79fbf3
Don't use backslash branch on ARM
2020-06-13 07:51:28 -07:00
John Keiser
a5beffda78
Remove streaming_structural_parser.h
2020-06-08 15:20:56 -07:00
John Keiser
0dbda65e44
Fix fallback implementation
2020-06-08 14:52:23 -07:00
John Keiser
ed0c815735
Move unclosed array check to stage 2
2020-06-05 12:39:13 -07:00
Daniel Lemire
7a69da16e4
Fixing issue 906 ( #912 )
...
* Fixing issue 906
* Safe patching.
* Now with explanations.
* Bumping up memory allocation.
* Putting the patch back.
* fallback fixes.
Co-authored-by: Daniel Lemire <lemire@gmai.com >
2020-06-05 15:37:09 -04:00
John Keiser
b75fa26dc1
Move containing_scope and ret_address to .cpp
2020-06-01 12:15:55 -07:00
John Keiser
1aab4752e2
Store all parser state in the implementation
2020-06-01 12:15:54 -07:00
John Keiser
6a71b24495
Reuse stored buf and len from parser
2020-06-01 12:14:09 -07:00
John Keiser
84712a8bbc
Store buf and len in parser implementation
2020-06-01 12:14:09 -07:00
John Keiser
b86fb95306
Rename doc_parser -> parser
2020-06-01 12:14:09 -07:00
John Keiser
a3a9bde83e
Move DOM parsing into concrete interface implementation
2020-06-01 12:14:09 -07:00
John Keiser
5651fbedc4
Add logging to stage 2
2020-05-21 09:47:19 -07:00
John Keiser
7ad4020829
Make main compilation chunks into .cpp files
2020-05-19 13:32:35 -07:00
John Keiser
72ab0d11ff
Move stage 1 and 2 files to their own directories
2020-05-19 13:30:34 -07:00
John Keiser
4ea866f050
Move stage2 classes into their own files
2020-05-19 13:30:34 -07:00
Daniel Lemire
3c3a4db54e
Compile under Visual Studio for ARM64 ( #861 )
...
* Modifications so that we can compile under Visual Studio for ARM64
* Let us throw appveyor at this beast.
2020-05-06 23:08:10 -04:00
Daniel Lemire
2a1f8fa8f1
Provides support for clang under Windows. ( #817 )
2020-04-27 22:09:27 -04:00
John Keiser
d4a37f6ef5
Enable conversion warnings on Linux and Windows
2020-04-22 14:21:30 -07:00
Daniel Lemire
5f04208dbd
This removes the problematic use of the intrinsic _addcarry_u64 for Visual Studio ( #758 )
...
in the ARM 64-bit kernel. This intrinsic does not appear in the documentation
https://docs.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=vs-2019
and should probably not be used. Note that we expect the compiler to produce
efficient code out of our implementation.
2020-04-21 17:13:22 -04:00
PavelP
ffaa292006
Master vs2019 x86 compile fixes ( #743 )
...
* Added bitexact implementations of _BitScanForward64 and _BitScanReverse64 for VS2019 32-bit builds
* Added bitexact implementations of _umul128 for VS2019 x86, arm, arm64 builds
* Implement mul_overflow for VS2019 arm64 builds
+ implement mul_overflow using __umulh (msvc/clang results: https://godbolt.org/z/smRwA7 )
* Added Win32 for VS2019 to .appveyor.yml
* Update amalgamated headers (fix x86 builds with VS2019)
2020-04-21 14:42:53 -04:00
John Keiser
289cc3e7a0
Treat warnings as errors during compilation
2020-04-15 19:59:38 -07:00
John Keiser
fd418f568c
Fix c++11 warnings on clang
...
- namespace x::y is C++17
- static_assert requires message in C++11
2020-04-15 17:27:48 -07:00
John Keiser
1e30b6e334
Compile under C++ 11
2020-04-08 14:00:13 -07:00
John Keiser
406240bae3
Support C++ 14
2020-04-08 14:00:13 -07:00
John Keiser
03746b966b
Move document/element/etc. under dom
2020-03-28 13:42:21 -07:00