summaryrefslogtreecommitdiff
path: root/runtime/verifier/method_verifier.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2024-11-28 12:08:30 +0000
committer VladimĂ­r Marko <vmarko@google.com> 2024-11-28 14:00:02 +0000
commit2191e733117542a684c7e6c87a5d8d6881ae5936 (patch)
treeff3f7899f559bac4881aeb78df0ef088775d5b02 /runtime/verifier/method_verifier.h
parent0c30ecd52cfe15197234ea8c0196b72d9c912f6a (diff)
verifier: Create `std::ostringstream` only if needed.
Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Bug: 181943478 Change-Id: I43f9c7ad5e4fb36606fefc6cfb31642d48a8357a
Diffstat (limited to 'runtime/verifier/method_verifier.h')
-rw-r--r--runtime/verifier/method_verifier.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/runtime/verifier/method_verifier.h b/runtime/verifier/method_verifier.h
index 74cc6e358e..2021f64525 100644
--- a/runtime/verifier/method_verifier.h
+++ b/runtime/verifier/method_verifier.h
@@ -280,6 +280,13 @@ class MethodVerifier {
virtual bool PotentiallyMarkRuntimeThrow() = 0;
+ std::ostringstream& InfoMessages() {
+ if (!info_messages_.has_value()) {
+ info_messages_.emplace();
+ }
+ return info_messages_.value();
+ }
+
// The thread we're verifying on.
Thread* const self_;
@@ -338,7 +345,7 @@ class MethodVerifier {
uint32_t encountered_failure_types_;
// Info message log use primarily for verifier diagnostics.
- std::ostringstream info_messages_;
+ std::optional<std::ostringstream> info_messages_;
// The verifier deps object we are going to report type assigability
// constraints to. Can be null for runtime verification.