Index: runtime/vm/object.h |
diff --git a/runtime/vm/object.h b/runtime/vm/object.h |
index 2239799140a8983cd3d7bf3ae7e781314fe23db2..0314d770120306de871a98e63cb2b55bb1f069fe 100644 |
--- a/runtime/vm/object.h |
+++ b/runtime/vm/object.h |
@@ -2293,7 +2293,7 @@ class Function : public Object { |
// Not thread-safe; must be called in the main thread. |
// Sets function's code and code's function. |
- void InstallOptimizedCode(const Code& code, bool is_osr) const; |
+ void InstallOptimizedCode(const Code& code) const; |
void AttachCode(const Code& value) const; |
void SetInstructions(const Code& value) const; |
void ClearCode() const; |
@@ -2301,6 +2301,12 @@ class Function : public Object { |
// Disables optimized code and switches to unoptimized code. |
void SwitchToUnoptimizedCode() const; |
+ // Ensures that the function has code. If there is no code it compiles the |
+ // unoptimized version of the code. If the code contains errors, it calls |
+ // Exceptions::PropagateError and does not return. Normally returns the |
+ // current code, whether it is optimized or unoptimized. |
+ RawCode* EnsureHasCode() const; |
+ |
// Disables optimized code and switches to unoptimized code (or the lazy |
// compilation stub). |
void SwitchToLazyCompiledUnoptimizedCode() const; |