platform/upstream/flatbuffers.git
8 years agoAdded function GenSimpleParam. Tests added.
daksenik [Sat, 9 Jul 2016 10:00:21 +0000 (13:00 +0300)]
Added function GenSimpleParam. Tests added.

8 years agoNew CreateXXX (with vectors and strings) calls old CreateXXX (with offsets).
daksenik [Fri, 8 Jul 2016 09:35:57 +0000 (12:35 +0300)]
New CreateXXX (with vectors and strings) calls old CreateXXX (with offsets).

8 years agoFixed operator++. Added CreateXXX for vector types.
daksenik [Mon, 4 Jul 2016 14:37:23 +0000 (17:37 +0300)]
Fixed operator++. Added CreateXXX for vector types.

8 years agoFixed operator++. Added CreateXXX for vector types.
daksenik [Mon, 4 Jul 2016 13:34:41 +0000 (16:34 +0300)]
Fixed operator++. Added CreateXXX for vector types.

8 years agoMerge pull request #3921 from LouisCAD/master
Wouter van Oortmerssen [Fri, 1 Jul 2016 17:15:54 +0000 (10:15 -0700)]
Merge pull request #3921 from LouisCAD/master

Fixed typo

8 years agoMerge pull request #3920 from love-ginger/master
Wouter van Oortmerssen [Fri, 1 Jul 2016 16:48:09 +0000 (09:48 -0700)]
Merge pull request #3920 from love-ginger/master

Fix mac build error

8 years agoFixed typo
Louis Cognault [Fri, 1 Jul 2016 15:22:36 +0000 (17:22 +0200)]
Fixed typo

is => it

8 years agoFix some error
吴凡 [Fri, 1 Jul 2016 03:17:03 +0000 (11:17 +0800)]
Fix some error

8 years agoSync from upstream
吴凡 [Fri, 1 Jul 2016 03:03:25 +0000 (11:03 +0800)]
Sync from upstream

8 years agoAdded GRPC code generator to flatc.
Wouter van Oortmerssen [Thu, 14 Apr 2016 01:16:05 +0000 (18:16 -0700)]
Added GRPC code generator to flatc.

Also added simple (in-process) test.

Change-Id: I38580d554dd52f590e3396ec4846e07546dcf07d
Tested: on Linux.

8 years agoMerge pull request #3916 from YuryBandarchuk16/master
Wouter van Oortmerssen [Mon, 27 Jun 2016 16:52:57 +0000 (09:52 -0700)]
Merge pull request #3916 from YuryBandarchuk16/master

Added new constants

8 years agoUpdate Constants.java
Yury Bandarchuk [Thu, 23 Jun 2016 18:30:32 +0000 (21:30 +0300)]
Update Constants.java

8 years agoAdded new constants
Yury Bandarchuk [Thu, 23 Jun 2016 15:51:55 +0000 (19:51 +0400)]
Added new constants

Add new constants in Constants.java

All single ints int FlatBufferBuilder.java were replaced by constants
from Constants.java

8 years agoMerge pull request #3908 from Lakedaemon/intoTheClass
Wouter van Oortmerssen [Thu, 23 Jun 2016 01:00:48 +0000 (18:00 -0700)]
Merge pull request #3908 from Lakedaemon/intoTheClass

pulling methods inside the class... so as to share wrapInNamespace later

8 years agofixing spaces
lakedaemon [Wed, 22 Jun 2016 22:23:11 +0000 (00:23 +0200)]
fixing spaces

8 years agosharing the WrapInNameSpace methods
lakedaemon [Tue, 14 Jun 2016 21:17:43 +0000 (23:17 +0200)]
sharing the WrapInNameSpace methods

8 years agoremoved static from wrapInNamespace method
lakedaemon [Tue, 14 Jun 2016 19:47:03 +0000 (21:47 +0200)]
removed static from wrapInNamespace method

8 years agoremoved parser from the method signatures
lakedaemon [Tue, 14 Jun 2016 19:43:35 +0000 (21:43 +0200)]
removed parser from the method signatures

8 years agojs:pulled methods inside the class
lakedaemon [Tue, 14 Jun 2016 19:41:11 +0000 (21:41 +0200)]
js:pulled methods inside the class

8 years agophp:removed parser from method signatures
lakedaemon [Tue, 14 Jun 2016 17:26:08 +0000 (19:26 +0200)]
php:removed parser from method signatures

8 years agophp:pulled methods inside the generator
lakedaemon [Tue, 14 Jun 2016 17:19:55 +0000 (19:19 +0200)]
php:pulled methods inside the generator

8 years agoremoved lang signature method
lakedaemon [Tue, 14 Jun 2016 15:13:58 +0000 (17:13 +0200)]
removed lang  signature method

8 years agoremoved parser & static from method signatures
lakedaemon [Tue, 14 Jun 2016 12:17:58 +0000 (14:17 +0200)]
removed parser & static from method signatures

8 years agogeneral: moved methods into the class
lakedaemon [Tue, 14 Jun 2016 12:02:26 +0000 (14:02 +0200)]
general: moved methods into the class

8 years agoMerge branch 'master' of https://github.com/google/flatbuffers
Wouter van Oortmerssen [Mon, 20 Jun 2016 23:41:40 +0000 (16:41 -0700)]
Merge branch 'master' of https://github.com/google/flatbuffers

8 years agoJSON Parser allows union type fields to come after unions.
Wouter van Oortmerssen [Mon, 20 Jun 2016 23:06:30 +0000 (16:06 -0700)]
JSON Parser allows union type fields to come after unions.

This is useful because many JSON generators will sort the fields,
cause X_type to follow X.

Change-Id: I00ef3ac05418224fc05aee93e6b3b3597e73ffe3
Tested: on Linux.
Bug: 29221752

8 years agoAllow unions of table types with the same name but from different namespaces.
Wouter van Oortmerssen [Sat, 18 Jun 2016 01:16:11 +0000 (18:16 -0700)]
Allow unions of table types with the same name but from different namespaces.

Also fixed most codegenerators using the wrong namespace when multiple
namespace were used in a file, with some files not being generated.

Change-Id: Ib42969221239d7244e431cbd667ef69200fc415f
Tested: on Linux.
Bug: 29338474

8 years agoMerge pull request #3913 from rw/fix-pytest-binary-type
Robert [Sat, 18 Jun 2016 20:02:02 +0000 (13:02 -0700)]
Merge pull request #3913 from rw/fix-pytest-binary-type

Fix test using compat.binary_types (from March).

8 years agoFix test using compat.binary_types (from March).
rw [Sat, 18 Jun 2016 08:12:56 +0000 (01:12 -0700)]
Fix test using compat.binary_types (from March).

8 years agoMerge branch 'master' of https://github.com/google/flatbuffers
Wouter van Oortmerssen [Sat, 18 Jun 2016 00:44:00 +0000 (17:44 -0700)]
Merge branch 'master' of https://github.com/google/flatbuffers

8 years agoAdded conversion operations that can be used inline in JSON.
Wouter van Oortmerssen [Wed, 15 Jun 2016 20:54:17 +0000 (13:54 -0700)]
Added conversion operations that can be used inline in JSON.

e.g.: { myfield: cos(rad(180)) } is equivalent to writing { myfield: -1.0 }

Bug: 29338398
Change-Id: I6fc4ef1fd10bda3ba78cba464414dd071a2f50ca
Tested: on Linux.

8 years agoAdded additional convenience overloads to CreateVector().
Wouter van Oortmerssen [Wed, 15 Jun 2016 19:10:01 +0000 (12:10 -0700)]
Added additional convenience overloads to CreateVector().

Bug: 2933788729336299
Change-Id: Iad8b3b2263f6cea7ee7e45994369194960df293b
Tested: on Linux.

8 years agoMerge pull request #3897 from Lakedaemon/namespaceWork
Wouter van Oortmerssen [Mon, 13 Jun 2016 22:16:28 +0000 (15:16 -0700)]
Merge pull request #3897 from Lakedaemon/namespaceWork

Namespace work

8 years agoMerge pull request #3903 from senior7515/master
Wouter van Oortmerssen [Mon, 13 Jun 2016 20:07:17 +0000 (13:07 -0700)]
Merge pull request #3903 from senior7515/master

Add env var for flatc schema compiler cmake module

8 years agoAdd env var for flatc schema compiler cmake module
Alexander Gallego [Tue, 7 Jun 2016 22:08:09 +0000 (18:08 -0400)]
Add env var for flatc schema compiler cmake module

8 years agoMerge branch 'master' of https://github.com/google/flatbuffers into fuzzer2
Wouter van Oortmerssen [Wed, 8 Jun 2016 18:51:49 +0000 (11:51 -0700)]
Merge branch 'master' of https://github.com/google/flatbuffers into fuzzer2

8 years agoSetNameSpace algorithm documentation and more meaningful variable names
lakedaemon [Tue, 7 Jun 2016 12:46:25 +0000 (14:46 +0200)]
SetNameSpace algorithm documentation and more meaningful variable names

8 years agoAdded a way to get mutable tables out of a mutable vector of tables.
Wouter van Oortmerssen [Tue, 7 Jun 2016 00:38:21 +0000 (17:38 -0700)]
Added a way to get mutable tables out of a mutable vector of tables.

Change-Id: I8f9ef1d14f86671ced929c7a159115b1d8510327
Tested: on Linux.

8 years agoFixed LoadFile crashing on directory arguments.
Wouter van Oortmerssen [Thu, 26 May 2016 00:47:44 +0000 (17:47 -0700)]
Fixed LoadFile crashing on directory arguments.

Change-Id: I737f6fd0bb1302ab7cfa6ab8b06108e221ebb63c
Tested: on Linux.

8 years agoFixed compile errors on Windows
Wouter van Oortmerssen [Thu, 2 Jun 2016 21:55:35 +0000 (14:55 -0700)]
Fixed compile errors on Windows

8 years agoBetter C++ namespace management
lakedaemon [Thu, 2 Jun 2016 21:01:40 +0000 (23:01 +0200)]
Better C++ namespace management

8 years agocpp generator : pulling all methods inside the class
lakedaemon [Thu, 2 Jun 2016 19:56:27 +0000 (21:56 +0200)]
cpp generator : pulling all methods inside the class

8 years agoMerge pull request #3885 from Lakedaemon/shareWarningAndTwoMethods
Wouter van Oortmerssen [Thu, 2 Jun 2016 18:35:41 +0000 (11:35 -0700)]
Merge pull request #3885 from Lakedaemon/shareWarningAndTwoMethods

Share warning and two methods

8 years agoMerge pull request #3870 from martinus/master
Wouter van Oortmerssen [Thu, 2 Jun 2016 18:26:16 +0000 (11:26 -0700)]
Merge pull request #3870 from martinus/master

Added helpers to access objects while creating the flatbuffer.

8 years agoMerge pull request #3891 from bog-dan-ro/master
Wouter van Oortmerssen [Thu, 2 Jun 2016 18:24:48 +0000 (11:24 -0700)]
Merge pull request #3891 from bog-dan-ro/master

More bit fields patches

8 years agorenamed functions
Martin Ankerl [Wed, 1 Jun 2016 11:13:00 +0000 (13:13 +0200)]
renamed functions

More descriptive name, show that it's really just a temporary object.

8 years agoDon't generate MIN & MAX enum values if "--no-prefix" is used.
BogDan Vatra [Wed, 1 Jun 2016 07:23:44 +0000 (10:23 +0300)]
Don't generate MIN & MAX enum values if "--no-prefix" is used.

Close #3892

8 years agoMIN & MAX are useless for bit_flags
BogDan Vatra [Wed, 1 Jun 2016 07:03:40 +0000 (10:03 +0300)]
MIN & MAX are useless for bit_flags

Instead we need NONE (0) and ANY (all orred values), if the user didn't
already defined them

8 years agoAdd ! operator
BogDan Vatra [Wed, 1 Jun 2016 07:05:27 +0000 (10:05 +0300)]
Add ! operator

8 years agoWe already know the underlying_type.
BogDan Vatra [Wed, 1 Jun 2016 07:04:55 +0000 (10:04 +0300)]
We already know the underlying_type.

We just need to pass it to DEFINE_BITMASK_OPERATORS macro

8 years agoMerge pull request #3888 from bog-dan-ro/master
Wouter van Oortmerssen [Tue, 31 May 2016 18:59:51 +0000 (11:59 -0700)]
Merge pull request #3888 from bog-dan-ro/master

Define bit mask operators for scoped enums bitfields

8 years agoMerge pull request #3889 from PSPDFKit-labs/james/avoid-msvc-align-error
Wouter van Oortmerssen [Tue, 31 May 2016 18:33:10 +0000 (11:33 -0700)]
Merge pull request #3889 from PSPDFKit-labs/james/avoid-msvc-align-error

MSVC doesn't allow alignment on function params.

8 years agoDefine bit mask operators for scoped enums bitfields
BogDan Vatra [Mon, 30 May 2016 11:04:37 +0000 (14:04 +0300)]
Define bit mask operators for scoped enums bitfields

Close #3887

8 years agosharing namespace_dir and the namespace string methods
lakedaemon [Sat, 28 May 2016 06:15:43 +0000 (08:15 +0200)]
sharing namespace_dir and the namespace string methods

8 years agosharing the Flatbuffers warning
lakedaemon [Thu, 26 May 2016 13:26:58 +0000 (15:26 +0200)]
sharing the Flatbuffers warning

8 years agoAdd simple libfuzzer based test.
Wouter van Oortmerssen [Sat, 23 Apr 2016 01:29:22 +0000 (18:29 -0700)]
Add simple libfuzzer based test.

This tests the verifier and the parser.

Tested: on Linux.
Bug: 27230459
Change-Id: I3417faba9385dc941199c57a08d8a50c2faec1aa

8 years agoMerge pull request #3880 from Lakedaemon/IsEverythingGenerated
Wouter van Oortmerssen [Wed, 25 May 2016 17:38:56 +0000 (10:38 -0700)]
Merge pull request #3880 from Lakedaemon/IsEverythingGenerated

shared method that exits early if everything is generated

8 years agoshared method that exits early if everything is generated
Lakedaemon [Wed, 25 May 2016 13:15:56 +0000 (15:15 +0200)]
shared method that exits early if everything is generated

8 years agoMSVC doesn't allow alignment on function params. This prevents the copy and thus...
James Swift [Tue, 24 May 2016 15:16:03 +0000 (17:16 +0200)]
MSVC doesn't allow alignment on function params. This prevents the copy and thus avoids this issue https://msdn.microsoft.com/en-us/library/373ak2y1.aspx

8 years agoMerge "Uncomment the corpus attribute since b/28762769 is fixed, add more items to...
Wouter van Oortmerssen [Mon, 23 May 2016 23:58:50 +0000 (23:58 +0000)]
Merge "Uncomment the corpus attribute since b/28762769 is fixed, add more items to the corpus (taken from the ClusterFuzz-generated corpus)." into ub-games-master

8 years agoMerge "Add a fuzzer for flatbuffers, derived from the one used in Chromium: https...
Wouter van Oortmerssen [Mon, 23 May 2016 23:58:26 +0000 (23:58 +0000)]
Merge "Add a fuzzer for flatbuffers, derived from the one used in Chromium: https://code.google.com/p/chromium/codesearch#chromium/src/testing/libfuzzer/fuzzers/flatbuffers_verifier_fuzzer.cc" into ub-games-master

8 years agoMerge pull request #3865 from bhamiltoncx/surrogate-pairs
Wouter van Oortmerssen [Mon, 23 May 2016 23:51:07 +0000 (16:51 -0700)]
Merge pull request #3865 from bhamiltoncx/surrogate-pairs

Handle \u-escaped surrogate pairs correctly in IDL parser

8 years agoMerge "Removed reference to deprecated NDK toolchain version." into ub-games-master
Stewart Miles [Mon, 23 May 2016 23:49:56 +0000 (23:49 +0000)]
Merge "Removed reference to deprecated NDK toolchain version." into ub-games-master

8 years agoHandle \u-escaped surrogate pairs correctly in IDL parser
Ben Gertzfield [Thu, 28 Apr 2016 19:27:38 +0000 (12:27 -0700)]
Handle \u-escaped surrogate pairs correctly in IDL parser

8 years agoUncomment the corpus attribute since b/28762769 is fixed,
Wouter van Oortmerssen [Mon, 23 May 2016 23:37:57 +0000 (16:37 -0700)]
Uncomment the corpus attribute since b/28762769 is fixed,
add more items to the corpus (taken from the ClusterFuzz-generated corpus).

(mirrored from cl 122690857)

Change-Id: I98c7672169a9a27fe18bedae8501e6fb85a0681d

8 years agoAdd a fuzzer for flatbuffers, derived from the one used in Chromium:
Wouter van Oortmerssen [Mon, 23 May 2016 23:35:20 +0000 (16:35 -0700)]
Add a fuzzer for flatbuffers, derived from the one used in Chromium:
https://code.google.com/p/chromium/codesearch#chromium/src/testing/libfuzzer/fuzzers/flatbuffers_verifier_fuzzer.cc

(mirrored from cl 122676317)

Change-Id: I0074af435cf37f5e6368b040563c3733d9e02345

8 years agoRemoved reference to deprecated NDK toolchain version.
Stewart Miles [Mon, 23 May 2016 23:27:35 +0000 (16:27 -0700)]
Removed reference to deprecated NDK toolchain version.

Change-Id: I8d39a66ca5642427619c60f349fa78917aec2455

8 years agoMerge branch 'master' of https://github.com/google/flatbuffers
Wouter van Oortmerssen [Mon, 23 May 2016 21:56:47 +0000 (14:56 -0700)]
Merge branch 'master' of https://github.com/google/flatbuffers

8 years agoFixed Google Groups link in documentation.
Wouter van Oortmerssen [Mon, 23 May 2016 21:06:19 +0000 (14:06 -0700)]
Fixed Google Groups link in documentation.

Change-Id: I64307ccd0a6f23a7c3860d602813e637415e7c91

8 years agoMade .sh files all have same comment formatting.
Wouter van Oortmerssen [Mon, 23 May 2016 20:53:08 +0000 (13:53 -0700)]
Made .sh files all have same comment formatting.

Change-Id: Ie7cc268a8823aec1d06c8b7cbef54068d832de3a

8 years agoMerge pull request #3878 from pjulien/no_alloc_on_cb
Wouter van Oortmerssen [Mon, 23 May 2016 20:55:21 +0000 (13:55 -0700)]
Merge pull request #3878 from pjulien/no_alloc_on_cb

Remove Remaining FBB#createString Allocation

8 years agoClarify documentation based on review comments
pjulien [Mon, 23 May 2016 20:47:41 +0000 (16:47 -0400)]
Clarify documentation based on review comments

8 years agoRemoved BOM marker from some files.
Wouter van Oortmerssen [Mon, 23 May 2016 19:24:44 +0000 (12:24 -0700)]
Removed BOM marker from some files.

Also removed some trailing whitespace.

Change-Id: I40bf4f776ca4d467b7ee6f2c9a7500c13700f9d5

8 years agoMerge branch 'master' of https://github.com/google/flatbuffers
Wouter van Oortmerssen [Mon, 23 May 2016 17:59:47 +0000 (10:59 -0700)]
Merge branch 'master' of https://github.com/google/flatbuffers

8 years agoAdded missing licenses to some sh/cs/py files.
Wouter van Oortmerssen [Mon, 23 May 2016 16:51:41 +0000 (09:51 -0700)]
Added missing licenses to some sh/cs/py files.

Bug: https://github.com/google/flatbuffers/issues/3872
Change-Id: I5d551168e9bc925e867e5e4ddf5d809418fd44eb
Tested: on Linux.

8 years agoIf the user passes in a {{CharBuffer}} himser, reward him by
pjulien [Sat, 21 May 2016 13:19:43 +0000 (09:19 -0400)]
If the user passes in a {{CharBuffer}} himser, reward him by
eliminating the last remaining allocation in string creation

8 years agoMerge pull request #3867 from dreifachstein/master
Wouter van Oortmerssen [Fri, 20 May 2016 20:19:52 +0000 (13:19 -0700)]
Merge pull request #3867 from dreifachstein/master

Use the build output flatc to compile test schemas by default.

8 years agoMerge pull request #3866 from bhamiltoncx/fix-undefined-bit-shift
Wouter van Oortmerssen [Fri, 20 May 2016 20:10:52 +0000 (13:10 -0700)]
Merge pull request #3866 from bhamiltoncx/fix-undefined-bit-shift

Fix undefined behavior when CheckBitsFit left-shifts 64-bit value by 64 bits

8 years agoMerge branch 'master' of https://github.com/google/flatbuffers
Wouter van Oortmerssen [Thu, 19 May 2016 01:01:17 +0000 (18:01 -0700)]
Merge branch 'master' of https://github.com/google/flatbuffers

8 years agoFixes verifier not catching odd vtable sizes.
Wouter van Oortmerssen [Thu, 19 May 2016 01:00:25 +0000 (18:00 -0700)]
Fixes verifier not catching odd vtable sizes.

Bug: 28762769
Change-Id: Iec370482f67c4585e97dd5175c1a4258ddba47fe
Tested: on Linux.

8 years agoMerge pull request #3877 from ozkuran/patch-1
Wouter van Oortmerssen [Wed, 18 May 2016 17:33:55 +0000 (10:33 -0700)]
Merge pull request #3877 from ozkuran/patch-1

Fixed Library Location in CppUsage.md

8 years agoFixed Library Location in CppUsage.md
Mahmut Ali ÖZKURAN [Wed, 18 May 2016 09:02:32 +0000 (12:02 +0300)]
Fixed Library Location in CppUsage.md

Fixed Library Location
"https://github.com/google/flatbuffers/tree/master/include/flatbuffers"
in CppUsage.md

8 years agoAdded helpers to access objects while creating the flatbuffer.
Martin Ankerl [Tue, 3 May 2016 15:20:14 +0000 (17:20 +0200)]
Added helpers to access objects while creating the flatbuffer.

GetObject and GetMutableObject are similar to GetRoot and GetMutableRoot,
and can be useful when wanting to access data that has just been created.
Unfortunately there is a danger in using these methods, as it is possible
that the buffer reallocates which will invalidate the pointers.

8 years agoUse the build output flatc to compile test schemas by default.
Xiaolei Yu [Sun, 1 May 2016 03:15:53 +0000 (11:15 +0800)]
Use the build output flatc to compile test schemas by default.

8 years agoFix undefined behavior in CheckBitsFit bit-shift on size_t
Ben Gertzfield [Fri, 29 Apr 2016 19:57:48 +0000 (12:57 -0700)]
Fix undefined behavior in CheckBitsFit bit-shift on size_t

8 years agoMerge pull request #3806 from mediagraph/fix-create-string
Robert [Thu, 28 Apr 2016 03:31:55 +0000 (20:31 -0700)]
Merge pull request #3806 from mediagraph/fix-create-string

Fix CreateString with already-encoded string or bytearray in Python 2.7.

8 years agoMerge pull request #3854 from pjulien/3853
Wouter van Oortmerssen [Thu, 28 Apr 2016 01:12:15 +0000 (18:12 -0700)]
Merge pull request #3854 from pjulien/3853

Fix for #3853

8 years agoMerge pull request #3843 from Lakedaemon/refactoring
Wouter van Oortmerssen [Wed, 27 Apr 2016 20:59:16 +0000 (13:59 -0700)]
Merge pull request #3843 from Lakedaemon/refactoring

Transition 1 (nice diffs) Go, C++ and General generators with class

8 years agoMerge pull request #3863 from pjulien/cseq
Wouter van Oortmerssen [Wed, 27 Apr 2016 20:50:04 +0000 (13:50 -0700)]
Merge pull request #3863 from pjulien/cseq

Can now use ``CharSequence`` of ``String``.  Works with

8 years agomemory leak fix + php/js/python transition to class based generator
Lakedaemon [Tue, 26 Apr 2016 15:08:13 +0000 (17:08 +0200)]
memory leak fix + php/js/python transition to class based generator

8 years agoCan now use ``CharSequence`` of ``String``. Works with
pjulien [Tue, 26 Apr 2016 02:07:57 +0000 (22:07 -0400)]
Can now use ``CharSequence`` of ``String``.  Works with

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)

8 years agoMerge pull request #3859 from rw/go-zero-alloc-strings
Robert [Sun, 24 Apr 2016 01:38:03 +0000 (18:38 -0700)]
Merge pull request #3859 from rw/go-zero-alloc-strings

Go: Fix heap allocation when reading a string.

8 years agoFix heap allocation when reading a string.
rw [Sat, 23 Apr 2016 19:31:24 +0000 (12:31 -0700)]
Fix heap allocation when reading a string.

8 years agoMerge pull request #3850 from pjulien/3849
Wouter van Oortmerssen [Fri, 22 Apr 2016 18:42:14 +0000 (11:42 -0700)]
Merge pull request #3850 from pjulien/3849

Fix for #3849

8 years agoMerge branch 'master' of https://github.com/google/flatbuffers
Wouter van Oortmerssen [Fri, 22 Apr 2016 18:35:10 +0000 (11:35 -0700)]
Merge branch 'master' of https://github.com/google/flatbuffers

8 years agoFixed a verifier check that didn't return from its parent.
Wouter van Oortmerssen [Fri, 22 Apr 2016 18:31:35 +0000 (11:31 -0700)]
Fixed a verifier check that didn't return from its parent.

Change-Id: I1aef5fdba72de0c3bb8276c9f50fffa494f26e29
Tested: on Linux.

8 years agoFixed SkipByteOrderMark advancing cursor_ too early.
Wouter van Oortmerssen [Fri, 22 Apr 2016 18:26:47 +0000 (11:26 -0700)]
Fixed SkipByteOrderMark advancing cursor_ too early.

Change-Id: Ie60f01d935ca6b4aa6ce0eab7598602ac0758342
Tested: on Linux.

8 years agoFix for #3849
pjulien [Sun, 17 Apr 2016 00:49:36 +0000 (20:49 -0400)]
Fix for #3849

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.

8 years agoFixed float suffix not being added on implicit float defaults.
Wouter van Oortmerssen [Wed, 20 Apr 2016 19:05:21 +0000 (12:05 -0700)]
Fixed float suffix not being added on implicit float defaults.

Change-Id: I8dcbb5e93836356511d411ef86452babd3dd3c0b
Tested: on Linux.

8 years agosize the allocation to the required bytes
pjulien [Tue, 19 Apr 2016 01:43:28 +0000 (21:43 -0400)]
size the allocation to the required bytes