Jason Turner
8bd7ccfa9f
Only run performance tests on linux
2015-10-23 16:38:04 -06:00
Jason Turner
40b1549b3b
Fix use of broken bitset implementation in g++
2015-10-21 09:30:22 -06:00
Jason Turner
8496a86043
Use a bitset instead of bools for type_info flags
2015-10-20 18:14:42 -06:00
Jason Turner
09748275db
Fix warnings from clang
2015-10-17 09:22:13 -06:00
Jason Turner
7ba7b81a5c
Implement option explicit for dynamic objects.
...
Closes #218
2015-10-16 21:41:54 -06:00
Jason Turner
882cbf2dfb
Add option explicit code, but don't throw yet
...
Work towards #218
2015-10-16 18:47:26 -06:00
Jason Turner
985b62705f
Add support for != bools
...
closes #217
2015-10-15 22:06:06 -06:00
Jason Turner
ad69bf7d38
Get vector push_back_ref working as expected
2015-10-15 21:42:25 -06:00
Jason Turner
36765df3c0
Fix vector element assignment issues
2015-10-15 21:20:12 -06:00
Jason Turner
beedf13d01
Make binary literals sized like other integer types
2015-10-03 16:38:41 -06:00
Jason Turner
5a651e2b8a
Fix numeric overload resolution
...
Closes #209
2015-10-01 09:56:53 -06:00
Jason Turner
3a8cb581cc
Merge branch 'add_json_support' into develop
2015-09-30 14:39:21 -06:00
Jason Turner
ba30d4f483
Add support for == for Map
2015-09-30 08:57:36 -06:00
Jason Turner
b4ffcd594d
Fix long long type usage
...
Closes #208
2015-09-30 06:49:03 -06:00
Jason Turner
681f18ee62
backport JSON for G++4.6
2015-09-21 12:27:33 -06:00
Jason Turner
85ac1052dd
Initial support for export to JSON
2015-09-20 16:19:11 -06:00
Jason Turner
f9f1d5807a
Basic support for parsing of JSON objects
2015-09-20 15:35:53 -06:00
Jason Turner
14227475b2
Merge remote-tracking branch 'origin/cpp_fun_call_performance' into develop
2015-09-18 13:41:44 -06:00
Jason Turner
e1a80fb5ce
A couple of MSVC fixes
2015-09-16 10:28:05 -06:00
Jason Turner
aabe53c934
Make var work with move-only types
2015-09-12 22:21:05 -06:00
Jason Turner
f3dbb7ed87
Control how fast global vectors grow
2015-08-31 11:09:03 -06:00
Jason Turner
52e11bf001
Fun location caching phase2
...
This shows ~25% performance over develop
2015-08-31 11:00:56 -06:00
Jason Turner
f06e5cdcd6
Cache function lookups
2015-08-31 09:44:47 -06:00
Jason Turner
15eb78bd8f
Move to indexed function storage
2015-08-31 08:41:47 -06:00
Jason Turner
0a143d1cd3
Make push_* consistant with inplace vector
2015-08-27 15:30:02 -06:00
Jason Turner
c9625b09b0
Fix magic 'this' values
2015-08-26 18:41:46 -06:00
Jason Turner
28f5a74e98
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2015-08-15 19:28:45 -06:00
Jason Turner
781d62d3a5
Make result of dynamic constructor marked as return value
2015-08-15 07:29:07 -06:00
Jason Turner
5aa0bfcea4
Add some convenience functions for parsing
2015-08-11 19:20:18 -06:00
Jason Turner
04e2256c92
Fix error caused by last fix
2015-08-02 18:21:48 -06:00
Jason Turner
38ba00e55c
Get MSVC2015 quieted down on warnings
...
re @arBmind
2015-08-02 16:52:43 -06:00
Jason Turner
8931346230
Eradicate internal exceptions during object clone
2015-08-01 13:47:25 -06:00
Jason Turner
31b3195c17
Don't allow conversion to std::function on arity mismatch
2015-07-30 20:23:34 -06:00
Jason Turner
419c2d72a8
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into multithreaded_performance
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2015-07-16 18:12:09 -06:00
Jason Turner
6a7a934e3e
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into multithreaded_performance
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2015-07-16 13:16:04 -06:00
Jason Turner
1f72afc8f5
Add crashes and fixes found during fuzzy testing
...
* Let unhandled exceptions propogate to user
* Report eval_error when break statement is not in loop
* Fix handling of 0 length scripts closes #193
* Don't crash on arity mismatch - Specifically affects the case where no overloads exist for a given function
* Fix error printing for `bind` calls
* Handle unexpected continue statement
* Check arity during bind
* Don't allow arith conversion on variadic function
* Correct `bind` parameter match count
* Add in expected Boxed_Value exception cases
* Check access to AST, don't allow `;` in func def
* Don't attempt arithmetic unary & call
* Don't crash on 0 param call to `bind`
* Catch errors during member function dispatch
* Properly handle type of const bool &
2015-07-16 12:51:50 -06:00
Jason Turner
2fbc377119
More strongly typed handling of push_back wrapper
...
Closes #192
2015-07-11 18:36:07 -06:00
Jason Turner
1ea608babe
Better detect arithmetic types #192
2015-07-11 18:32:47 -06:00
Jason Turner
37120f486f
Handle user defined conversions of return types from functor
2015-07-04 08:43:52 -06:00
Jason Turner
484ff7a98b
Add utility for converting std::vector types
2015-07-03 14:39:21 -06:00
Jason Turner
72aedca39c
Fix wrapping of functions with move only params
2015-06-29 20:43:12 -06:00
Jason Turner
748c18f465
Save stack & and prevent lookups
2015-06-28 15:17:58 -06:00
Jason Turner
b9875e2844
Miscellaneous performance tweaks
2015-06-28 13:20:20 -06:00
Jason Turner
902f48cd4c
Revert "Use placement new to avoid unique_ptr allocations"
...
This reverts commit 83281bff52a4ceb7a2a479a42efd5795c54924ac.
2015-06-24 11:25:56 -06:00
Jason Turner
e339055e0b
Address some warnings for clang/gcc
2015-06-23 16:07:57 -06:00
Jason Turner
4890b47460
Reduce unary operator overhead
2015-06-23 14:25:34 -06:00
Jason Turner
b53432cf28
Remove remaining uses of std::function
2015-06-23 13:02:43 -06:00
Jason Turner
a112d97141
Simplify a couple of random things
2015-06-23 11:48:01 -06:00
Jason Turner
83281bff52
Use placement new to avoid unique_ptr allocations
2015-06-23 11:11:56 -06:00
Jason Turner
05bec3b4a8
Avoid attempting convert_down when not possible
...
@arBmind this should be significant for you
2015-06-21 21:09:26 -06:00
Jason Turner
cd2fb1ec66
Normalize integer types in the loc saving
2015-06-20 11:45:34 -06:00
Jason Turner
ec33cf2709
Make local location saving atomic
2015-06-20 10:52:05 -06:00
Jason Turner
c7689f18ec
Save local variable location after first pass
2015-06-20 10:28:27 -06:00
Jason Turner
3eb7700912
Add missing <iterator>
2015-06-20 07:45:00 -06:00
Jason Turner
c4633436ba
Avoid placeholder lookup cost
2015-06-20 07:13:54 -06:00
Jason Turner
2870874d91
Fix clang build errors
2015-06-20 06:53:23 -06:00
Jason Turner
a147278a7e
Fix debug builds
2015-06-19 20:59:40 -06:00
Jason Turner
a2577b983c
Don't constantly re-create the function objects
2015-06-19 20:31:39 -06:00
Jason Turner
646563eb3f
A couple of cleanups and fixes
2015-06-19 20:10:45 -06:00
Jason Turner
f9860216c9
Move to std::vector for local stack objects
2015-06-19 16:49:16 -06:00
Jason Turner
b7eb469ac1
Move to some standard algorithms
2015-06-19 14:57:54 -06:00
Jason Turner
bcf573cf26
Don't loop over already filtered functions
2015-06-19 14:23:08 -06:00
Jason Turner
1bf4170d8f
Simplify dispatch
2015-06-19 11:47:16 -06:00
Jason Turner
6d632f6aa4
Normalize methods for numeric->string conversions
2015-06-19 06:18:49 -06:00
Jason Turner
835b5a90af
Reduce to_string overloads down to what is necessary
2015-06-18 21:47:05 -06:00
Jason Turner
2442e9ae20
Register all character types
2015-06-18 13:01:54 -06:00
Jason Turner
0dcac05f2f
Add numeric support for wide characters
2015-06-18 11:57:58 -06:00
Jason Turner
3d36ea6199
Add back CONSTEXPR for Type_Info
2015-06-16 17:01:01 -06:00
Jason Turner
68fa049d6c
Fix g++4.6 build
2015-06-10 19:26:21 -06:00
Jason Turner
f9e0193353
Add map .at method from c++11
...
closes #184
2015-06-10 18:41:50 -06:00
Jason Turner
ba492308f4
Move from multimap to sorted vector in dispatch
2015-06-08 15:19:32 -06:00
Jason Turner
d4e22c2c2c
Merge remote-tracking branch 'origin/remove_std_function' into develop
...
Conflicts:
include/chaiscript/dispatchkit/boxed_number.hpp
2015-06-08 14:34:02 -06:00
Jason Turner
b95526951f
Address warnings on VS
...
We have to ignore many of these warnings due to the nature of Boxed_Number supporting any operation.
2015-06-08 13:18:52 -06:00
Jason Turner
e4be97eb79
Revert "Remove redundant Boxed_Number type operations"
...
This reverts commit 59eecab0e80c9754e7545b152187934dce82d87d.
2015-06-04 11:04:21 -06:00
Jason Turner
59eecab0e8
Remove redundant Boxed_Number type operations
2015-06-04 08:28:38 -06:00
Jason Turner
be159759ea
Further boxed_number simplification
2015-06-03 21:24:09 -06:00
Jason Turner
1e41e73af2
Simplify boxed_number templates
2015-06-03 19:17:58 -06:00
Jason Turner
78819fd3a8
fixed boxed_number to_string impl
2015-06-03 18:39:49 -06:00
Jason Turner
c6c2bcc023
More template reduction in Boxed_Number
2015-06-03 08:59:01 -06:00
Jason Turner
e759a0c544
Reduce template instantiations
2015-06-03 07:00:28 -06:00
Jason Turner
b163065b3c
Begin simplifying boxed_number implementation
2015-06-03 06:25:41 -06:00
Jason Turner
38a83e3e56
Fix MSVC2013 builds
2015-06-02 17:35:31 -06:00
Jason Turner
bacf546dff
Merge branch 'develop' into remove_std_function
...
Conflicts:
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
2015-06-02 16:16:22 -06:00
Jason Turner
85a6d85c1f
Fix warnings
...
- use `(void)` to avoid "unused parameter" warnings
- Move to clang-3.6 for thread sanitizer - found bug in 3.5's reporting
2015-06-02 13:53:07 -06:00
Jason Turner
26a0034176
Fixes for g++4.6
2015-06-01 16:07:10 -06:00
Jason Turner
cb5fbff1e6
Merge branch 'develop' into remove_std_function
2015-06-01 15:57:45 -06:00
Jason Turner
ff378abf84
Merge branch 'coverity_scan' into develop
2015-06-01 15:57:13 -06:00
Jason Turner
520f9bc0d2
Work around bug in g++4.6
...
I'm going to have to start dropping support for older compilers soon.
The 4.6 line is 4 years old now, and 4.7 has these issues fixed
2015-06-01 15:49:50 -06:00
Jason Turner
cf3db70d5d
Merge branch 'develop' into remove_std_function
...
Conflicts:
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
2015-06-01 14:53:09 -06:00
Jason Turner
7026229273
Apply Index expansion technique to simplify code
...
Thanks @sean-parent I saw the technique in your future implementation
2015-06-01 09:43:29 -06:00
Jason Turner
d13d080dee
Remove constexpr from type_info
2015-05-30 15:50:21 -06:00
Jason Turner
61d5e2ad85
Revert "Work around coverity crash"
...
This reverts commit bb0d1005138e53cb2d414401f0338f22fbbc636b.
Conflicts:
include/chaiscript/dispatchkit/dispatchkit.hpp
include/chaiscript/dispatchkit/type_info.hpp
2015-05-30 15:47:22 -06:00
Jason Turner
023a3edf40
Fix static usage of Type_Info objects
2015-05-30 15:36:25 -06:00
Jason Turner
4b577f1f2a
Undefined types are never equal
2015-05-30 15:15:08 -06:00
Jason Turner
ac280a6971
Fix name() lookups
2015-05-30 14:14:48 -06:00
Jason Turner
bb0d100513
Work around coverity crash
...
I'm not 100% convinced on these changes, but they might be for the
better.
2015-05-30 07:33:34 -06:00
Jason Turner
e0234d942e
Various cleanups and fixes for older compilers
2015-05-22 19:40:56 -06:00
Jason Turner
df724b5c33
Completely remove Proxy_Function_Impl
2015-05-22 12:13:49 -06:00
Jason Turner
0b812942d4
Finish removing std::function<>
2015-05-22 11:35:58 -06:00
Jason Turner
48933bc32c
Use std::ref to make free functions callable
2015-05-22 10:28:28 -06:00