added support for interpreting generic SkSL functions

Bug: skia:
Change-Id: I575b91c654393cc6cfedea617852598e8595d5ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209809
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/src/sksl/SkSLByteCodeGenerator.cpp b/src/sksl/SkSLByteCodeGenerator.cpp
index 8e2a008..f4a4235 100644
--- a/src/sksl/SkSLByteCodeGenerator.cpp
+++ b/src/sksl/SkSLByteCodeGenerator.cpp
@@ -690,8 +690,9 @@
 }
 
 void ByteCodeGenerator::writeReturnStatement(const ReturnStatement& r) {
-    // not yet implemented
-    abort();
+    this->writeExpression(*r.fExpression);
+    this->write(ByteCodeInstruction::kReturn);
+    this->write8(r.fExpression->fType.columns() * r.fExpression->fType.rows());
 }
 
 void ByteCodeGenerator::writeSwitchStatement(const SwitchStatement& r) {