SkSL performance improvements (plus a couple of minor warning fixes)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131223002
Committed: https://skia.googlesource.com/skia/+/9fd67a1f53809f5eff1210dd107241b450c48acc
Review-Url: https://codereview.chromium.org/2131223002
diff --git a/src/sksl/ir/SkSLFunctionDefinition.h b/src/sksl/ir/SkSLFunctionDefinition.h
index fceb547..ace27a3 100644
--- a/src/sksl/ir/SkSLFunctionDefinition.h
+++ b/src/sksl/ir/SkSLFunctionDefinition.h
@@ -18,17 +18,17 @@
* A function definition (a declaration plus an associated block of code).
*/
struct FunctionDefinition : public ProgramElement {
- FunctionDefinition(Position position, std::shared_ptr<FunctionDeclaration> declaration,
+ FunctionDefinition(Position position, const FunctionDeclaration& declaration,
std::unique_ptr<Block> body)
: INHERITED(position, kFunction_Kind)
- , fDeclaration(std::move(declaration))
+ , fDeclaration(declaration)
, fBody(std::move(body)) {}
std::string description() const override {
- return fDeclaration->description() + " " + fBody->description();
+ return fDeclaration.description() + " " + fBody->description();
}
- const std::shared_ptr<FunctionDeclaration> fDeclaration;
+ const FunctionDeclaration& fDeclaration;
const std::unique_ptr<Block> fBody;
typedef ProgramElement INHERITED;