| 2065 | } |
| 2066 | |
| 2067 | string LlvmCodeGen::DebugCacheEntryString(CodeGenCacheKey& key, bool is_lookup, |
| 2068 | bool debug_mode, bool success) const { |
| 2069 | stringstream out; |
| 2070 | if (is_lookup) { |
| 2071 | out << "Look up codegen cache "; |
| 2072 | } else { |
| 2073 | out << "Store to codegen cache "; |
| 2074 | } |
| 2075 | if (success) { |
| 2076 | out << "succeeded. "; |
| 2077 | } else { |
| 2078 | if (is_lookup) { |
| 2079 | out << "missed. "; |
| 2080 | } else { |
| 2081 | out << "failed. "; |
| 2082 | } |
| 2083 | } |
| 2084 | out << "CodeGen Cache Key hash_code=" << key.hash_code(); |
| 2085 | if (UNLIKELY(debug_mode)) { |
| 2086 | out << "\nFragment Plan: " << apache::thrift::ThriftDebugString(state_->fragment()) |
| 2087 | << "\n"; |
| 2088 | out << "CodeGen Functions: \n"; |
| 2089 | for (auto& entry : fns_to_jit_compile_) { |
| 2090 | const llvm::StringRef& fn_name = entry.first; |
| 2091 | out << " " << fn_name.data() << "\n"; |
| 2092 | } |
| 2093 | } |
| 2094 | return out.str(); |
| 2095 | } |
| 2096 | } |
| 2097 | |
| 2098 | namespace boost { |
nothing calls this directly
no test coverage detected