Commit Graph

2744 Commits

Author SHA1 Message Date
Stephen Chung
03b1a1cea2 Fix bug in Dynamic::deep_scan. 2023-06-24 19:14:18 +08:00
Stephen Chung
982b972d3b Fix formatting. 2023-06-15 10:34:54 +08:00
Stephen Chung
4c9c9840c8 Merge branch 'main' of https://github.com/rhaiscript/rhai 2023-06-15 10:31:01 +08:00
Gary Pennington
ee6b6d69dd persist in using SeqCst
We probably don't need to, but let's keep the change minimal...
2023-06-14 17:03:56 +01:00
Gary Pennington
f7cc4c93d6 remove redunant compare of previous and 1
since that's what the compare_exchange does...
2023-06-14 15:29:51 +01:00
Gary Pennington
785be453f6 remove a race from the hashing write()
Calling load() and store() separately leaves a lot of opportunity for a
race to occur.

This changes the logic to use compare_exchange() and will only return if
the previous value is absolutely not 1 at the point of comparison.

I also don't think this needs to be SeqCst, so relaxing that requirement
a little.
2023-06-14 15:23:12 +01:00
Stephen Chung
f96c99bbe9 Use try_cast_raw. 2023-05-19 13:29:51 +08:00
Stephen Chung
db9980ce3a Improve type display in error messages. 2023-05-13 10:47:39 +08:00
Stephen Chung
b1fbfcbc07 Add take function. 2023-05-13 09:31:57 +08:00
Stephen Chung
d84008dda0 Fix builds. 2023-05-11 00:23:42 +08:00
Stephen Chung
2fcb1e510c Refine this processing. 2023-05-10 23:07:37 +08:00
Stephen Chung
bfe39a9c7c Faster processing of this pointer. 2023-05-07 22:25:01 +08:00
Stephen Chung
0a7cca9910 Add Dynamic::try_cast_raw 2023-05-06 02:08:32 +08:00
LinuxHeki
4c0a1e9459 fix compilation for thumbv6m-none-eabi 2023-05-02 14:41:53 +02:00
Stephen Chung
ae59a3321b Add support for deserialization of custom type/shared value from into another Dynamic. 2023-04-28 23:16:00 +08:00
Stephen Chung
72cfd42ab7 Code refactor. 2023-04-28 15:05:31 +08:00
Stephen Chung
3dbfc1e99f Cleanup code. 2023-04-27 15:24:55 +08:00
Stephen Chung
76e6c1b9e4 Fix bug on OOP-style calling of exported map object. 2023-04-27 13:19:28 +08:00
Stephen Chung
ff2a23189a Improve FnPtr debug print. 2023-04-27 12:11:41 +08:00
Stephen Chung
4ec16d14e0 Fix custom syntax bug. 2023-04-25 23:14:08 +08:00
Stephen Chung
6be29cae54 Fix reverse lookup table for keywords 2023-04-25 22:33:29 +08:00
Stephen Chung
1a61ed167c Fix optimizer constants propagation bug. 2023-04-24 12:17:23 +08:00
Stephen Chung
e28bdd5b17 Rewrite combo chains in parser. 2023-04-23 00:00:55 +08:00
Stephen Chung
a0869004a3 Optimize chain structure. 2023-04-22 12:42:50 +08:00
Stephen Chung
f49ce33a88 Use .take instead of mem::take(). 2023-04-21 10:20:19 +08:00
Stephen Chung
2034ddd830 Fix builds. 2023-04-20 22:45:30 +08:00
Stephen Chung
243e04f5ab Fix export shadowing bug. 2023-04-20 22:31:49 +08:00
Stephen Chung
60ba27e2d6 Fix doc test bug. 2023-04-19 23:28:37 +08:00
Stephen Chung
fb88b79178 Fix bug in parsing index chains. 2023-04-19 23:17:54 +08:00
Stephen Chung
0699f47ff9 Fix Dynamic::from examples. 2023-04-19 21:38:01 +08:00
Stephen Chung
094eb5878a Add info into README's. 2023-04-12 12:09:14 +08:00
Stephen Chung
0206f776db Add is_symbol_disabled and is_custom_keyword. 2023-04-11 11:38:48 +08:00
Stephen Chung
407d376a61 Encode pure in CallableFunction variant. 2023-04-11 10:26:23 +08:00
Stephen Chung
26ad454cb1 Streamline data types. 2023-04-10 18:47:53 +08:00
Stephen Chung
465fdeec21 Optimize curry with constant arguments. 2023-04-10 13:11:33 +08:00
Stephen Chung
120ff91074 Fix bug in optimize_ast skipping Stmt::FnCall. 2023-04-10 13:11:24 +08:00
Stephen Chung
a82bb7b2ef Fix build 2023-04-09 16:38:19 +08:00
Stephen Chung
8369a9bf63 Fix optimizer bug for closures. 2023-04-09 16:31:06 +08:00
Stephen Chung
98f227d640 Fix doc test. 2023-04-07 16:14:26 +08:00
Stephen Chung
9de41e7559 Further simplify matches. 2023-04-05 23:40:27 +08:00
Stephen Chung
df05f43460 Simplify match. 2023-04-05 23:15:55 +08:00
Stephen Chung
5eaa4c5240 Do not cache long strings and avoid caching one-hit wonders. 2023-03-31 10:41:55 +08:00
Stephen Chung
637728de6a Fix builds. 2023-03-30 17:41:21 +08:00
Stephen Chung
34c7dabe44 Add is_def_fn with 3 parameters. 2023-03-30 16:43:15 +08:00
Stephen Chung
2a98d38a7e is_shared is made reserved. 2023-03-30 16:26:58 +08:00
Stephen Chung
534b7bbab3 Rename auto_restore! to defer! 2023-03-25 21:13:34 +08:00
Stephen Chung
ce355aa553 More slots for boxed arrays. 2023-03-25 17:24:05 +08:00
Stephen Chung
2e724b804e Remove indirection. 2023-03-23 13:37:10 +08:00
Stephen Chung
3d06ddc6e2 Fix for loop operations. 2023-03-23 09:38:54 +08:00
Stephen Chung
3c7cd8e278 Use debug_assert. 2023-03-23 09:12:48 +08:00