Commit graph

54 commits

Author SHA1 Message Date
Vern Paxson
e78570ad89 ZAM fixes for compatibility with GH-3249 changes 2023-09-01 12:20:35 -07:00
Vern Paxson
3925ff4592 addressed performance and correctness issues flagged by Coverity 2023-08-15 16:07:49 -07:00
Tim Wojtulewicz
430d344ec2 Fix memory leak in script_opt's Expr code 2023-07-31 16:09:04 -07:00
Vern Paxson
91d70e6dd4 support for discarding ASTs once compiled via ZAM script optimization 2023-07-26 13:32:00 -07:00
Vern Paxson
1ff490b41c more extensive ZAM inlining & compilation of lambdas 2023-07-17 16:31:30 -07:00
Vern Paxson
51eec61272 fix for ZAM inlining failing to inline function call arguments 2023-07-17 16:31:30 -07:00
Vern Paxson
1d5bc841e0 ZAM optimization for ?$ operator applied to non-optional fields 2023-07-17 16:31:30 -07:00
Vern Paxson
1dd2270272 WhenStmt/WhenInfo restructuring in support of ZAM "when" statements 2023-06-30 09:36:14 +02:00
Vern Paxson
46983cfb2f refinements to LambdaExpr's to provide flexibility, support for ZVal captures 2023-06-30 09:36:14 +02:00
Vern Paxson
528aa6766a more debugging information when dumping script optimization data structures 2023-06-30 09:36:14 +02:00
Vern Paxson
4a5a7f975d bug fixes for script optimization intermediate forms 2023-06-30 09:36:14 +02:00
Arne Welzel
7a043e5e8f all: Fix typos identified by typos pre-commit hook 2023-06-13 17:57:32 +02:00
Vern Paxson
0c434ca4f8 changed function_ingredients struct to FunctionIngredients class with accessors 2023-04-02 11:34:16 -07:00
Vern Paxson
1b6df1a04c fix for ZAM compilation of "in" expressions 2023-02-09 11:21:40 -08:00
Vern Paxson
ee28609e74 script optimization fix for new-style table constructors 2022-09-16 09:37:17 -07:00
AmazingPP
f2bfa61fc6 Add bitshift operators 2022-07-21 11:12:30 +08:00
Tim Wojtulewicz
765a8535e0 Remove deprecated DESC_PORTABLE ODesc mode and ODesc::IsPortable() 2022-06-30 19:11:59 +00:00
Tim Wojtulewicz
73273fc87b Merge remote-tracking branch 'origin/topic/vern/ZAM-inlining'
* origin/topic/vern/ZAM-inlining:
  speed up ZAM compilation by capping function size when inlining
2022-05-19 11:45:50 -07:00
Vern Paxson
7d00ce0082 speed up ZAM compilation by capping function size when inlining 2022-05-14 14:52:31 -07:00
Vern Paxson
9ada7ac4e7 tracking of when statements/expressions occur in a "when" context 2022-05-12 13:45:45 -07:00
Vern Paxson
7a9c6c476e ZAM maintenance for recent changes and some newly exercised corner cases 2022-05-01 14:33:58 -07:00
Vern Paxson
18cfee51c2 updates for script optimization 2022-03-23 15:36:35 -07:00
Vern Paxson
94e71b738a minor enhancements for ZAM inlining 2022-02-03 08:53:10 -08:00
Vern Paxson
fa142438fe logic (other than in profiling) for assignments that yield separate values 2022-01-07 14:18:42 -08:00
Vern Paxson
06ffd97749 fixes for double-delete and reducing '?' operator with constant alternatives 2021-12-14 15:36:03 -08:00
Tim Wojtulewicz
9af6b2f48d clang-format: Set penalty for breaking after assignment operator 2021-09-27 10:49:48 -07:00
Tim Wojtulewicz
4423574d26 clang-format: Set IndentCaseBlocks to false 2021-09-27 10:49:48 -07:00
Tim Wojtulewicz
b2f171ec69 Reformat the world 2021-09-16 15:35:39 -07:00
Vern Paxson
a67897135e factoring out logic to check for overflows during coercions 2021-09-08 10:23:39 -07:00
Vern Paxson
d609a11312 switch simple loops that don't need indices to being iterator-based 2021-09-08 10:23:38 -07:00
Vern Paxson
6726eaa0a9 enable reducer to track folding to enable constant propagation 2021-09-08 10:23:38 -07:00
Vern Paxson
ed3c87d253 simple AST optimization for ?: operator 2021-09-08 10:23:38 -07:00
Vern Paxson
7904701ffb another set of tweaks per review comments 2021-06-09 09:41:41 -07:00
Vern Paxson
d8213246ea error propagation fix for AST reduction 2021-06-01 14:13:09 -07:00
Vern Paxson
8044926e00 employ explicit conversions to/from "any" and "vector of any" types 2021-05-30 18:05:11 -07:00
Vern Paxson
292bd1b671 more robust treatment of arithmetic coercions 2021-05-30 18:02:30 -07:00
Vern Paxson
9a429808ab directly construct records of known types, rather than requiring coercion 2021-05-30 17:47:28 -07:00
Vern Paxson
f2f041b63b various accessors used by ZAM compiler 2021-05-30 17:16:03 -07:00
Vern Paxson
1ede6a8424 accessors / friends needed for compiling-to-C++ 2021-05-05 16:50:54 -07:00
Vern Paxson
d53d2ac755 sundry accessors/cast-ers; RE_Matcher's track their construction values 2021-03-18 10:33:10 -07:00
Vern Paxson
a82a0e22d8 fixed AST transformation logic for boolean expressions 2021-02-27 13:48:06 -08:00
Vern Paxson
56ab0ddcf1 fix for reducing operations on boolean vectors 2021-02-27 10:57:25 -08:00
Vern Paxson
2b0a1bd2e9 accessors for additional Expr subclasses 2021-02-27 10:48:16 -08:00
Vern Paxson
a912f6dd9a tidying some interfaces 2021-02-27 08:32:04 -08:00
Vern Paxson
f6a119254f fix for analyzing non-reduced ASTs 2021-01-23 12:29:04 -08:00
Vern Paxson
9b549e4034 additional converters and accessors for Expr subclasses 2021-01-23 10:48:14 -08:00
Jon Siwek
b4cf393475 Adjust some Reducer ref-counting and IntrusivePtr usage 2021-01-14 00:24:12 -08:00
Jon Siwek
7ce4351ed0 Fix reference counting in ListExpr inline/reduce methods 2021-01-13 23:01:44 -08:00
Jon Siwek
b799665c1a Switch some Expr transform/reduce logic to use IntrusivePtr 2021-01-13 20:27:41 -08:00
Vern Paxson
10e80dfcd3 reductions of expressions in ASTs - code compiles but doesn't yet link 2021-01-10 14:04:01 -08:00