Force the SkVM interpreter if trace opcodes are encountered.

Trace opcodes will only be implemented in the interpreter. If we
encounter one while JITting a program, returning false will cause
execution to fall back to the interpreter automatically.

Change-Id: I94fce376cb7336c16072a174604de025f1b4e38a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473137
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
diff --git a/src/core/SkVM.cpp b/src/core/SkVM.cpp
index f728c36..ed72628 100644
--- a/src/core/SkVM.cpp
+++ b/src/core/SkVM.cpp
@@ -2678,8 +2678,8 @@
                 case Op::trace_line:
                 case Op::trace_var:
                 case Op::trace_call:
-                    /* Only supported in the interpreter. */
-                    break;
+                    /* Force this program to run in the interpreter. */
+                    return false;
 
                 case Op::index:
                     if (I32->isVectorTy()) {
@@ -3608,8 +3608,8 @@
                 case Op::trace_line:
                 case Op::trace_var:
                 case Op::trace_call:
-                    /* Only supported in the interpreter. */
-                    break;
+                    /* Force this program to run in the interpreter. */
+                    return false;
 
                 case Op::store8:
                     if (scalar) {
@@ -3978,8 +3978,8 @@
                 case Op::trace_line:
                 case Op::trace_var:
                 case Op::trace_call:
-                    /* Only supported in the interpreter. */
-                    break;
+                    /* Force this program to run in the interpreter. */
+                    return false;
 
                 case Op::index: {
                     A::V tmp = alloc_tmp();