Commit Graph

  • c9de37e8d1 Hash functions only once via custom hasher. Stephen Chung 2020-05-31 00:02:23 +08:00
  • 439053b153 Refine write-up on functions overloading. Stephen Chung 2020-05-30 22:25:01 +08:00
  • 6924b62939 Merge branch 'master' into plugins Stephen Chung 2020-05-30 13:51:54 +08:00
  • acd0f6b56b != defaults to true for different parameter types. Stephen Chung 2020-05-30 13:49:40 +08:00
  • 4c46c7e26b Register property versions of some methods. Stephen Chung 2020-05-30 10:30:21 +08:00
  • 666a618e40 Add register getter/setter/indexer to modules. Stephen Chung 2020-05-30 10:28:17 +08:00
  • 2bcc51cc45 Fix bug in index expressions. Stephen Chung 2020-05-30 10:27:48 +08:00
  • e1242df5c8 Extract copy/restore of first argument in method call. Stephen Chung 2020-05-29 18:15:58 +08:00
  • 9616452c00 Fix bug in calling script function in method style. Stephen Chung 2020-05-29 00:53:30 +08:00
  • acd4685145 Convert function calls to method calls to use &mut first argument. Stephen Chung 2020-05-28 23:57:09 +08:00
  • a9a95b3c2d Merge branch 'master' into plugins Stephen Chung 2020-05-28 14:09:27 +08:00
  • d7c69c4f51 More tests. Stephen Chung 2020-05-28 14:08:21 +08:00
  • e84d4a88e9 Do not check function call depth if no_function. Stephen Chung 2020-05-28 14:08:07 +08:00
  • 30782212e4 Add set_fn_4/mut for modules. Stephen Chung 2020-05-28 14:07:34 +08:00
  • 0b259d0062 Move += for ImmutableString to Engine. Stephen Chung 2020-05-28 10:33:28 +08:00
  • 854634afa0 Allow native overriding implementation of assignment operators. Stephen Chung 2020-05-27 13:22:10 +08:00
  • 24a93ef824 Add missing imports. Stephen Chung 2020-05-26 23:05:44 +08:00
  • 27c7cc4af7 Fix syntax error. Stephen Chung 2020-05-26 23:05:21 +08:00
  • b34d5fe3a1 Complete ImmutableString. Stephen Chung 2020-05-26 14:14:03 +08:00
  • 95e67c48bd Optimize op-assignment statement. Stephen Chung 2020-05-25 20:14:31 +08:00
  • fca140ef55 Refine immutable strings. Stephen Chung 2020-05-25 17:01:39 +08:00
  • 99ea2b33c9 Use immutable strings. Stephen Chung 2020-05-25 13:44:28 +08:00
  • bbed4c6ef4 Docs. Stephen Chung 2020-05-24 23:42:40 +08:00
  • fd6dad0253 Remove builtin check. Stephen Chung 2020-05-24 23:42:16 +08:00
  • 0374311cf6 Optimize hot path of operators calling. Stephen Chung 2020-05-24 16:40:00 +08:00
  • 65ee262f1b Refine README. Stephen Chung 2020-05-24 12:40:28 +08:00
  • 1798d4d6a0 Fix function call optimizations. Stephen Chung 2020-05-24 11:57:46 +08:00
  • d56634cac7 Complete built-in operators. Stephen Chung 2020-05-24 00:29:06 +08:00
  • b49e1e199a Build-in certain common operators. Stephen Chung 2020-05-23 18:59:28 +08:00
  • a743c47345 Refactor. Stephen Chung 2020-05-22 21:50:24 +08:00
  • 8d12dc2fc1 Add Dynamic::as_float. Stephen Chung 2020-05-22 21:49:53 +08:00
  • e224550861 Move boxing of ParseError into ParseErrorType. Stephen Chung 2020-05-22 18:28:13 +08:00
  • 2f0ab18b70 Merge register_result_fn and register_dynamic_fn. Stephen Chung 2020-05-22 13:09:17 +08:00
  • 3408086240 Copy values differently. Stephen Chung 2020-05-22 13:08:57 +08:00
  • 800a7bf283 Remove unnecessary traits and types. Stephen Chung 2020-05-21 17:11:01 +08:00
  • cd570558c3 Remove count_args macro. Stephen Chung 2020-05-21 09:31:31 +08:00
  • 39cd1c8413 Merge branch 'master' into plugins Stephen Chung 2020-05-21 09:30:03 +08:00
  • 80fcc40710 Use function pointers for iterators. Stephen Chung 2020-05-20 19:27:23 +08:00
  • 55ee4d6a19 More benchmarks. Stephen Chung 2020-05-20 11:12:35 +08:00
  • c98633dd2b Add EvalPackage. Stephen Chung 2020-05-20 11:12:22 +08:00
  • 5db1fd3712 Do not optimize eval_expression scripts. Stephen Chung 2020-05-20 00:06:19 +08:00
  • fad60c0a7d Bump version. Stephen Chung 2020-05-20 00:06:07 +08:00
  • 4a1fd66b9f Reduce Rc/Arc wrapping for functions. Stephen Chung 2020-05-19 22:25:57 +08:00
  • ab76a69b12 Avoid repeating empty TypeId's when calculating hash. Stephen Chung 2020-05-19 20:07:51 +08:00
  • 3295060dba Unify all functions under CallableFunction type. Stephen Chung 2020-05-19 19:03:06 +08:00
  • a22f338b03 Back out NativeCallable trait. Stephen Chung 2020-05-19 10:13:37 +08:00
  • 6b8c6bda42 Use u64 for operations counter. Stephen Chung 2020-05-19 10:08:27 +08:00
  • 1824dced69 Limit expression/statement nesting depths. Stephen Chung 2020-05-18 19:32:22 +08:00
  • e5584b2471
    Merge pull request #154 from schungx/master Stephen Chung 2020-05-18 10:08:49 +08:00
  • f4a528a88a Add release notes. Stephen Chung 2020-05-18 09:36:34 +08:00
  • 8b5550eeb6 Complete StaticVec implementation. Stephen Chung 2020-05-17 22:19:49 +08:00
  • a2c50879fe Fix dropping issues with StaticVec and use it everywhere. Stephen Chung 2020-05-17 00:24:07 +08:00
  • 0cb781c1aa Avoid allocation in Target. Stephen Chung 2020-05-16 11:42:56 +08:00
  • be97047e51 Limit modules loading. Stephen Chung 2020-05-15 21:40:54 +08:00
  • 55c97eb649 Add progress tracking and operations limit. Stephen Chung 2020-05-15 11:43:32 +08:00
  • 0513b68fef
    Merge pull request #152 from schungx/master Stephen Chung 2020-05-14 21:24:00 +08:00
  • 5d5ceb4049 Consolidate all unsafe code under one single file. Stephen Chung 2020-05-14 18:27:22 +08:00
  • 5c61827c7c Force-cast local variable names when pushing into scope. Stephen Chung 2020-05-14 11:21:56 +08:00
  • e6d6a709f0 Expand section on modules and packages. Stephen Chung 2020-05-13 22:49:12 +08:00
  • cabceb7498 Better handling of errors during function calls. Stephen Chung 2020-05-13 21:58:38 +08:00
  • 9d8d074940 Consistent naming of methods. Stephen Chung 2020-05-13 20:22:05 +08:00
  • 5a02548ebc Allocate packages with higher functions capacity. Stephen Chung 2020-05-13 19:39:34 +08:00
  • 30e5e2f034 Use modules to implement packages. Stephen Chung 2020-05-13 19:21:42 +08:00
  • d613764c03 Test for private functions. Stephen Chung 2020-05-13 13:49:01 +08:00
  • 8e8816cb0c Add compile_scripts_with_scope. Stephen Chung 2020-05-13 11:57:07 +08:00
  • c37a2cc886 Check scripts for calculation errors. Stephen Chung 2020-05-13 11:56:48 +08:00
  • 996a54279c Pre-calculate property getter/setter function names. Stephen Chung 2020-05-13 10:19:18 +08:00
  • d6fd5416b0 Add replace function for characters Stephen Chung 2020-05-12 23:30:55 +08:00
  • ec67879759 Derive more standard traits. Stephen Chung 2020-05-12 18:48:25 +08:00
  • 03c64688ad Fix sync feature. Stephen Chung 2020-05-12 16:32:22 +08:00
  • 2e28967565 Fix bug with wrong method call hash. Stephen Chung 2020-05-12 10:20:29 +08:00
  • 33c9be7efc Reformat. Stephen Chung 2020-05-11 23:48:50 +08:00
  • 414f3d3c23 Fix bug with calling a pure function method-call style. Stephen Chung 2020-05-11 18:55:58 +08:00
  • 4a8710a4a9 Create NativeCallable trait. Stephen Chung 2020-05-11 13:36:50 +08:00
  • 314ec5e4d2 Remove checks for number of arguments. Stephen Chung 2020-05-11 10:29:33 +08:00
  • 7ea341833c Merge branch 'master' into plugins Stephen Chung 2020-05-10 21:59:27 +08:00
  • 8aa0e2ceb4 Use StaticVec to avoid most allocations with function arguments. Stephen Chung 2020-05-10 21:25:47 +08:00
  • 974512d650 Use StaticVec to build arguments list. Stephen Chung 2020-05-10 16:56:17 +08:00
  • 80debbc432 Refactor. Stephen Chung 2020-05-10 00:19:13 +08:00
  • 95490adf0b Merge branch 'master' into plugins Stephen Chung 2020-05-10 00:14:03 +08:00
  • 29159b359b Refactor. Stephen Chung 2020-05-10 00:13:49 +08:00
  • a7bfac21bd Reducing boxing and sizes of Expr/Stmt. Stephen Chung 2020-05-09 21:46:38 +08:00
  • 17e4adc049 Move hash calculation out of loop. Stephen Chung 2020-05-09 16:21:11 +08:00
  • 79f39bd702 Pre-calculate function call hashes. Stephen Chung 2020-05-09 16:15:50 +08:00
  • 0d20137d6c Implement private modifier for functions. Stephen Chung 2020-05-09 11:29:30 +08:00
  • d1de84fdd2 Add comments and fix documentation. Stephen Chung 2020-05-09 10:00:59 +08:00
  • e50fcc385f Pre-calculate index for module-qualified calls. Stephen Chung 2020-05-08 22:38:56 +08:00
  • eb52bfa28a Add export statement. Stephen Chung 2020-05-08 16:49:24 +08:00
  • 89d75b1b11 Fix compilation errors for no_module. Stephen Chung 2020-05-08 14:50:48 +08:00
  • e0745ef069 Do not build index for multiple packages to avoid Engine creation regression. Stephen Chung 2020-05-08 13:27:51 +08:00
  • e6fabe58cc Unify function hash calculations, pre-hash module-qualified function calls. Stephen Chung 2020-05-08 11:34:56 +08:00
  • 5f12391ec6 Use hashed lookup for module-qualified functions and variables. Stephen Chung 2020-05-08 00:19:08 +08:00
  • 7f6ce29447 Add try_cast to cast any type to another. Stephen Chung 2020-05-07 19:16:50 +08:00
  • c607c7c428 Move Engine functions and iterators lib to Packages API. Stephen Chung 2020-05-07 15:25:50 +08:00
  • f3c0609377 Catch more assignment errors at parse time. Stephen Chung 2020-05-07 12:25:09 +08:00
  • fb64adca93 Move fn_lib into State, and use StaticVec for function call arguments in dotting/indexing chains. Stephen Chung 2020-05-07 10:00:10 +08:00
  • 8e60976cfa Merge branch 'namespace' Stephen Chung 2020-05-07 09:32:00 +08:00
  • a82ebf853f
    Delete benchmark.yml Stephen Chung 2020-05-07 00:09:35 +08:00
  • 34327f6e54 Avoid copying arguments in packages. Stephen Chung 2020-05-06 23:52:47 +08:00
  • ae776f1e11 Avoid recreating array in loop. Stephen Chung 2020-05-06 23:19:55 +08:00