Index: runtime/vm/runtime_entry.cc |
diff --git a/runtime/vm/runtime_entry.cc b/runtime/vm/runtime_entry.cc |
index 6a74969c65c8c5a2f77d613d95db1a0fdd9f2632..d5c24ff77491696e829bbfccfb2c6fe2af9d5996 100644 |
--- a/runtime/vm/runtime_entry.cc |
+++ b/runtime/vm/runtime_entry.cc |
@@ -1704,10 +1704,11 @@ DEFINE_RUNTIME_ENTRY(StackOverflow, 0) { |
#ifndef DART_PRECOMPILED_RUNTIME |
// Ensure that we have unoptimized code. |
frame->function().EnsureHasCompiledUnoptimizedCode(); |
-#endif |
+ const int num_vars = frame->NumLocalVariables(); |
+#else |
// Variable locations and number are unknown when precompiling. |
- const int num_vars = |
- FLAG_precompiled_runtime ? 0 : frame->NumLocalVariables(); |
+ const int num_vars = 0; |
+#endif |
TokenPosition unused = TokenPosition::kNoSource; |
for (intptr_t v = 0; v < num_vars; v++) { |
frame->VariableAt(v, &var_name, &unused, &unused, &unused, &var_value); |
@@ -2283,6 +2284,12 @@ DEFINE_RUNTIME_ENTRY(InitStaticField, 1) { |
field.EvaluateInitializer(); |
} |
+// Print the stop message. |
+DEFINE_LEAF_RUNTIME_ENTRY(void, PrintStopMessage, 1, const char* message) { |
+ OS::Print("Stop message: %s\n", message); |
+} |
+END_LEAF_RUNTIME_ENTRY |
+ |
// Use expected function signatures to help MSVC compiler resolve overloading. |
typedef double (*UnaryMathCFunction)(double x); |
typedef double (*BinaryMathCFunction)(double x, double y); |