- 20 May, 2016 1 commit
-
-
Wouter van Oortmerssen authored
Fix undefined behavior when CheckBitsFit left-shifts 64-bit value by 64 bits
-
- 19 May, 2016 2 commits
-
-
-
Wouter van Oortmerssen authored
Bug: 28762769 Change-Id: Iec370482f67c4585e97dd5175c1a4258ddba47fe Tested: on Linux.
-
- 18 May, 2016 2 commits
-
-
Wouter van Oortmerssen authored
Fixed Library Location in CppUsage.md
-
Mahmut Ali ÖZKURAN authored
Fixed Library Location "https://github.com/google/flatbuffers/tree/master/include/flatbuffers" in CppUsage.md
-
- 29 Apr, 2016 1 commit
-
-
Ben Gertzfield authored
-
- 28 Apr, 2016 2 commits
-
-
Robert authored
Fix CreateString with already-encoded string or bytearray in Python 2.7.
-
Wouter van Oortmerssen authored
Fix for #3853
-
- 27 Apr, 2016 2 commits
-
-
Wouter van Oortmerssen authored
Transition 1 (nice diffs) Go, C++ and General generators with class
-
Wouter van Oortmerssen authored
Can now use ``CharSequence`` of ``String``. Works with
-
- 26 Apr, 2016 2 commits
-
-
Lakedaemon authored
-
pjulien authored
1. [AsciiString] (http://netty.io/4.1/api/io/netty/util/AsciiString.html) 2. [CharBuffer] (https://docs.oracle.com/javase/8/docs/api/java/nio/CharBuffer.html) 3. [StringBuilder] (https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html)
-
- 24 Apr, 2016 1 commit
-
-
Robert authored
Go: Fix heap allocation when reading a string.
-
- 23 Apr, 2016 1 commit
-
-
rw authored
-
- 22 Apr, 2016 5 commits
-
-
Wouter van Oortmerssen authored
Fix for #3849
-
-
Wouter van Oortmerssen authored
Change-Id: I1aef5fdba72de0c3bb8276c9f50fffa494f26e29 Tested: on Linux.
-
Wouter van Oortmerssen authored
Change-Id: Ie60f01d935ca6b4aa6ce0eab7598602ac0758342 Tested: on Linux.
-
pjulien authored
This avoids the following allocations over repeated use: - A ``CharsetEncoder`` - A byte array to contain the contents of the string - A wrapper, via ``ByteBuffer#wrap``, for the previously mentioned byte array This also removes a copy of the temporary byte array. This extra copy is needed because ``String#getBytes`` returns a byte array and its length must match the exact size of the contents. This implementation requires that the builder retain a ``ByteBuffer`` and ``CharEncoder``. This is considered slower only for users that will only allocate a single string in their buffers or none at all. The improvement is especially potent if the builder is constantly reused by its caller. This also eliminates the penalty for users that do not use strings at all since the cost of allocating these fields is now amortized. The only allocation left in this code is a ``CharBuffer`` wrapper. It's possible to eliminate this allocation using an additional copy but need further profiling to see which is the bigger problem.
-
- 20 Apr, 2016 1 commit
-
-
Wouter van Oortmerssen authored
Change-Id: I8dcbb5e93836356511d411ef86452babd3dd3c0b Tested: on Linux.
-
- 19 Apr, 2016 3 commits
-
-
pjulien authored
-
pjulien authored
-
pjulien authored
Removes the following allocations: - ``CharsetDecoder`` is reused between calls - ``CharBuffer#wrap`` removed in favor of heap based char buffer that is reused - Temporary ``char[]``, an intermediate copy inside ``StringCoding`` - Another ``char[]``, this is needed because ``StringCoding`` uses a ``CharBuffer`` internally but returns a ``char[]``. Extra characters need to be trimmed so this means yet another allocation - Yet another ``char[]`` directly from ``__string`` for non-heap based buffers Removes the following copies - No copy is performed to trim the allocation since a ``CharBuffer`` is used directly - For non-heap based byte buffers, removes the copy that was previously done in the __string function This does need to get the TLS entry which implies at least some contention on the thread object table and a fence.
-
- 18 Apr, 2016 2 commits
-
-
Wouter van Oortmerssen authored
Fix for 3847
-
Wouter van Oortmerssen authored
A previous commit that added "f" for C++/Java/C# would break on gcc of constants like 3f, which are now output as 3.0f Tested: on Linux Change-Id: If9cabbe3c6d6948a5050b8b123bda9c06e181f52
-
- 17 Apr, 2016 1 commit
-
-
pjulien authored
-
- 15 Apr, 2016 1 commit
-
-
Lakedaemon authored
-
- 14 Apr, 2016 2 commits
-
-
-
Wouter van Oortmerssen authored
Bug: 28145201 Change-Id: I5a1818c40c2f4fbd00cfec3362040407976f7a39 Tested: on Linux.
-
- 13 Apr, 2016 4 commits
-
-
Wouter van Oortmerssen authored
Stop CreateUninitializedVector returning a pointer to invalid memory.
-
Nnamdi authored
CreateUninitializedVector was performing the following actions: 1. call StartVector. 2. call make_space, and set buf to point to the reserved space. 3. call EndVector. The problem is that a call to EndVector can ultimately call make_space, which if the buffer is full, will cause a reallocation, invalidating the value stored in buf. So setting buf needs to be delayed until after EndVector. The following code, when run under valgrind shows a write to free'd memory before the change, but no such error after: int main() { flatbuffers::FlatBufferBuilder fbb(128); char *buf = nullptr; fbb.CreateUninitializedVector(128, &buf); *buf = 0; }
-
Lakedaemon authored
-
Wouter van Oortmerssen authored
Change-Id: I3730a6823d603982c4250d514e827e3f93d1f81e Tested: on Linux.
-
- 12 Apr, 2016 1 commit
-
-
Wouter van Oortmerssen authored
Tested: on Linux. Bug: 27923233 Change-Id: Ic16675650e4a8e138c163f1e2131a3aad7008ada
-
- 11 Apr, 2016 3 commits
-
-
-
Wouter van Oortmerssen authored
Change-Id: If34aef46ef619e06de799cff14948b02e98da86d Tested: on Linux.
-
Wouter van Oortmerssen authored
This was harmless, but unnecessary. Change-Id: I1365a725e254d4ebbda081110a50277cb5118323 Tested: on Linux.
-
- 08 Apr, 2016 3 commits
-
-
Wouter van Oortmerssen authored
Allow builds on platforms with unsigned chars by default
-
Wouter van Oortmerssen authored
Remove unnecessary condition in AssertOffsetAndLength.
-
Wojciech Jaszczak authored
Condition is already checked and covered in the following condition, the second one was excess. Signed-off-by:
Wojciech Jaszczak <jaszczakw@gmail.com>
-