minor script optimization updates to reflect recent changes, Coverity findings

This commit is contained in:
Vern Paxson 2024-07-06 16:44:27 -07:00
parent 66cdb490ff
commit a53e28be87
12 changed files with 24 additions and 15 deletions

View file

@ -2858,7 +2858,7 @@ static NameExprPtr get_RFU_LHS_var(const Stmt* s) {
auto s_e = s->AsExprStmt()->StmtExpr();
auto var = s_e->GetOp1()->GetOp1()->GetOp1();
ASSERT(var->Tag() == EXPR_NAME);
return cast_intrusive<NameExpr>(var);
return cast_intrusive<NameExpr>(std::move(var));
}
// This one mines out the RHS, so 'y' for "x$foo = y$bar", or for
@ -2874,7 +2874,7 @@ static NameExprPtr get_RFU_RHS_var(const Stmt* s) {
var = rhs->GetOp2()->GetOp1();
ASSERT(var->Tag() == EXPR_NAME);
return cast_intrusive<NameExpr>(var);
return cast_intrusive<NameExpr>(std::move(var));
}
RecordFieldUpdatesExpr::RecordFieldUpdatesExpr(ExprTag t, const std::vector<const Stmt*>& stmts,
@ -2952,7 +2952,7 @@ ExprPtr RecordFieldUpdatesExpr::Reduce(Reducer* c, StmtPtr& red_stmt) {
ExprPtr AssignRecordFieldsExpr::Duplicate() {
auto e1 = op1->Duplicate();
auto e2 = op2->Duplicate();
return SetSucc(new AssignRecordFieldsExpr(e1, e2, lhs_map, rhs_map));
return SetSucc(new AssignRecordFieldsExpr(std::move(e1), std::move(e2), lhs_map, rhs_map));
}
void AssignRecordFieldsExpr::FoldField(RecordVal* rv1, RecordVal* rv2, size_t i) const {
@ -3027,13 +3027,13 @@ FieldExprPtr ConstructFromRecordExpr::FindRecordSource(const Expr* const_e) {
if ( rhs_rec->Tag() != EXPR_NAME )
return nullptr;
return cast_intrusive<FieldExpr>(fa_rhs);
return cast_intrusive<FieldExpr>(std::move(fa_rhs));
}
ExprPtr ConstructFromRecordExpr::Duplicate() {
auto e1 = op1->Duplicate();
auto e2 = op2->Duplicate();
return SetSucc(new ConstructFromRecordExpr(e1, e2, lhs_map, rhs_map));
return SetSucc(new ConstructFromRecordExpr(std::move(e1), std::move(e2), lhs_map, rhs_map));
}
bool ConstructFromRecordExpr::IsReduced(Reducer* c) const { return op1->HasReducedOps(c) && op2->IsReduced(c); }
@ -3066,7 +3066,7 @@ ExprPtr ConstructFromRecordExpr::Reduce(Reducer* c, StmtPtr& red_stmt) {
ExprPtr AddRecordFieldsExpr::Duplicate() {
auto e1 = op1->Duplicate();
auto e2 = op2->Duplicate();
return SetSucc(new AddRecordFieldsExpr(e1, e2, lhs_map, rhs_map));
return SetSucc(new AddRecordFieldsExpr(std::move(e1), std::move(e2), lhs_map, rhs_map));
}
void AddRecordFieldsExpr::FoldField(RecordVal* rv1, RecordVal* rv2, size_t i) const {
@ -3084,7 +3084,7 @@ void AddRecordFieldsExpr::FoldField(RecordVal* rv1, RecordVal* rv2, size_t i) co
auto sum = add_expr->Eval(nullptr);
ASSERT(sum);
rv1->Assign(lhs_map[i], sum);
rv1->Assign(lhs_map[i], std::move(sum));
}
CoerceToAnyExpr::CoerceToAnyExpr(ExprPtr arg_op) : UnaryExpr(EXPR_TO_ANY_COERCE, std::move(arg_op)) {

View file

@ -143,7 +143,8 @@ public:
protected:
// Used for duplicating.
AssignRecordFieldsExpr(ExprPtr e1, ExprPtr e2, std::vector<int> _lhs_map, std::vector<int> _rhs_map)
: RecordFieldUpdatesExpr(EXPR_REC_ASSIGN_FIELDS, e1, e2, _lhs_map, _rhs_map) {}
: RecordFieldUpdatesExpr(EXPR_REC_ASSIGN_FIELDS, std::move(e1), std::move(e2), std::move(_lhs_map),
std::move(_rhs_map)) {}
void FoldField(RecordVal* rv1, RecordVal* rv2, size_t i) const override;
};
@ -170,7 +171,7 @@ public:
protected:
ConstructFromRecordExpr(ExprPtr e1, ExprPtr e2, std::vector<int> _lhs_map, std::vector<int> _rhs_map)
: AssignRecordFieldsExpr(e1, e2, _lhs_map, _rhs_map) {
: AssignRecordFieldsExpr(std::move(e1), std::move(e2), std::move(_lhs_map), std::move(_rhs_map)) {
tag = EXPR_REC_CONSTRUCT_WITH_REC;
}
@ -191,7 +192,8 @@ public:
protected:
AddRecordFieldsExpr(ExprPtr e1, ExprPtr e2, std::vector<int> _lhs_map, std::vector<int> _rhs_map)
: RecordFieldUpdatesExpr(EXPR_REC_ADD_FIELDS, e1, e2, _lhs_map, _rhs_map) {}
: RecordFieldUpdatesExpr(EXPR_REC_ADD_FIELDS, std::move(e1), std::move(e2), std::move(_lhs_map),
std::move(_rhs_map)) {}
void FoldField(RecordVal* rv1, RecordVal* rv2, size_t i) const override;
};

View file

@ -142,7 +142,6 @@ static std::unordered_map<std::string, unsigned int> func_attrs = {
{"Spicy::__toggle_analyzer", ATTR_NO_SCRIPT_SIDE_EFFECTS},
{"Supervisor::__create", ATTR_NO_SCRIPT_SIDE_EFFECTS},
{"Supervisor::__destroy", ATTR_NO_SCRIPT_SIDE_EFFECTS},
{"Supervisor::__init_cluster", ATTR_NO_SCRIPT_SIDE_EFFECTS},
{"Supervisor::__is_supervised", ATTR_IDEMPOTENT},
{"Supervisor::__is_supervisor", ATTR_IDEMPOTENT},
{"Supervisor::__node", ATTR_IDEMPOTENT},

View file

@ -1,2 +1,2 @@
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
error in <...>/from_json.zeek, line 4: tables are not supported (from_json([], <internal>::#0, from_json_default_key_mapper))
error in <...>/from_json.zeek, line 4: cannot convert JSON type 'array' to Zeek type 'table' (from_json([], <internal>::#0, from_json_default_key_mapper))

View file

@ -1,2 +1,3 @@
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
error in <...>/from_json.zeek, line 5: wrong port format, must be <...>/(tcp|udp|icmp|unknown)/ (from_json("80", <internal>::#0, from_json_default_key_mapper))
error in <...>/from_json.zeek, line 8: wrong port format, string must be <...>/(tcp|udp|icmp|unknown)/ (from_json("80", <internal>::#2, from_json_default_key_mapper))
error in <...>/from_json.zeek, line 9: wrong port format, object must have 'port' and 'proto' members (from_json({}, <internal>::#4, from_json_default_key_mapper))

View file

@ -1,2 +1,4 @@
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
[v=80/tcp, valid=T]
[v=<uninitialized>, valid=F]
[v=<uninitialized>, valid=F]

View file

@ -5,4 +5,6 @@ aa:bb::/32,
}, se={
[192.168.0.1, 80/tcp] ,
[2001:db8::1, 8080/udp]
}, tbl={
[192.168.0.1, 80/tcp] = foo
}], valid=T]

View file

@ -0,0 +1,2 @@
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
received termination signal

View file

@ -8,3 +8,4 @@
#fields ts fuid uid id.orig_h id.orig_p id.resp_h id.resp_p source depth analyzers mime_type filename duration local_orig is_orig seen_bytes total_bytes missing_bytes overflow_bytes timedout parent_fuid
#types time string string addr port addr port string count set[string] string string interval bool bool count count count count bool string
XXXXXXXXXX.XXXXXX FKPuH630Tmj6UQUMP7 - - - - - ./myfile.exe 0 PE application/x-dosexec - 0.000000 - - 64 - 0 0 F -
#close XXXX-XX-XX-XX-XX-XX

View file

@ -1,2 +1,2 @@
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
534 seen BiFs, 0 unseen BiFs (), 0 new BiFs ()
533 seen BiFs, 0 unseen BiFs (), 0 new BiFs ()

View file

@ -1,5 +1,6 @@
# @TEST-DOC: Test for correct ZAM optimization of record "chains".
#
# @TEST-REQUIRES: test "${ZEEK_USE_CPP}" != "1"
# @TEST-EXEC: zeek -b -O ZAM %INPUT >output
# @TEST-EXEC: btest-diff output

View file

@ -170,7 +170,6 @@ global known_BiFs = set(
"Spicy::__toggle_analyzer",
"Supervisor::__create",
"Supervisor::__destroy",
"Supervisor::__init_cluster",
"Supervisor::__is_supervised",
"Supervisor::__is_supervisor",
"Supervisor::__node",