summaryrefslogtreecommitdiff
path: root/src/ir/cost.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir/cost.h')
-rw-r--r--src/ir/cost.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ir/cost.h b/src/ir/cost.h
index 3ed37e297..8ebc6eb9b 100644
--- a/src/ir/cost.h
+++ b/src/ir/cost.h
@@ -672,7 +672,7 @@ struct CostAnalyzer : public OverriddenVisitor<CostAnalyzer, CostType> {
}
CostType visitRefAs(RefAs* curr) { return 1 + visit(curr->value); }
CostType visitStringNew(StringNew* curr) {
- return 4 + visit(curr->ptr) + visit(curr->length);
+ return 8 + visit(curr->ptr) + visit(curr->length);
}
CostType visitStringConst(StringConst* curr) { return 4; }
CostType visitStringMeasure(StringMeasure* curr) {
@@ -701,6 +701,12 @@ struct CostAnalyzer : public OverriddenVisitor<CostAnalyzer, CostType> {
CostType visitStringIterMove(StringIterMove* curr) {
return 4 + visit(curr->ref) + visit(curr->num);
}
+ CostType visitStringSliceWTF(StringSliceWTF* curr) {
+ return 8 + visit(curr->ref) + visit(curr->start) + visit(curr->end);
+ }
+ CostType visitStringSliceIter(StringSliceIter* curr) {
+ return 8 + visit(curr->ref) + visit(curr->num);
+ }
private:
CostType nullCheckCost(Expression* ref) {