Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(487)

Side by Side Diff: src/log.cc

Issue 1148043002: Remove obsolete Code::optimizable flag. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/full-codegen.cc ('k') | src/objects.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/log.h" 5 #include "src/log.h"
6 6
7 #include <cstdarg> 7 #include <cstdarg>
8 #include <sstream> 8 #include <sstream>
9 9
10 #include "src/v8.h" 10 #include "src/v8.h"
(...skipping 30 matching lines...) Expand all
41 } 41 }
42 42
43 #define PROFILER_LOG(Call) \ 43 #define PROFILER_LOG(Call) \
44 do { \ 44 do { \
45 CpuProfiler* cpu_profiler = isolate_->cpu_profiler(); \ 45 CpuProfiler* cpu_profiler = isolate_->cpu_profiler(); \
46 if (cpu_profiler->is_profiling()) { \ 46 if (cpu_profiler->is_profiling()) { \
47 cpu_profiler->Call; \ 47 cpu_profiler->Call; \
48 } \ 48 } \
49 } while (false); 49 } while (false);
50 50
51 // ComputeMarker must only be used when SharedFunctionInfo is known. 51 static const char* ComputeMarker(SharedFunctionInfo* shared, Code* code) {
52 static const char* ComputeMarker(Code* code) {
53 switch (code->kind()) { 52 switch (code->kind()) {
54 case Code::FUNCTION: return code->optimizable() ? "~" : ""; 53 case Code::FUNCTION:
55 case Code::OPTIMIZED_FUNCTION: return "*"; 54 return shared->optimization_disabled() ? "" : "~";
56 default: return ""; 55 case Code::OPTIMIZED_FUNCTION:
56 return "*";
57 default:
58 return "";
57 } 59 }
58 } 60 }
59 61
60 62
61 class CodeEventLogger::NameBuffer { 63 class CodeEventLogger::NameBuffer {
62 public: 64 public:
63 NameBuffer() { Reset(); } 65 NameBuffer() { Reset(); }
64 66
65 void Reset() { 67 void Reset() {
66 utf8_pos_ = 0; 68 utf8_pos_ = 0;
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 LogRecordedBuffer(code, NULL, name_buffer_->get(), name_buffer_->size()); 178 LogRecordedBuffer(code, NULL, name_buffer_->get(), name_buffer_->size());
177 } 179 }
178 180
179 181
180 void CodeEventLogger::CodeCreateEvent(Logger::LogEventsAndTags tag, 182 void CodeEventLogger::CodeCreateEvent(Logger::LogEventsAndTags tag,
181 Code* code, 183 Code* code,
182 SharedFunctionInfo* shared, 184 SharedFunctionInfo* shared,
183 CompilationInfo* info, 185 CompilationInfo* info,
184 Name* name) { 186 Name* name) {
185 name_buffer_->Init(tag); 187 name_buffer_->Init(tag);
186 name_buffer_->AppendBytes(ComputeMarker(code)); 188 name_buffer_->AppendBytes(ComputeMarker(shared, code));
187 name_buffer_->AppendName(name); 189 name_buffer_->AppendName(name);
188 LogRecordedBuffer(code, shared, name_buffer_->get(), name_buffer_->size()); 190 LogRecordedBuffer(code, shared, name_buffer_->get(), name_buffer_->size());
189 } 191 }
190 192
191 193
192 void CodeEventLogger::CodeCreateEvent(Logger::LogEventsAndTags tag, 194 void CodeEventLogger::CodeCreateEvent(Logger::LogEventsAndTags tag,
193 Code* code, 195 Code* code,
194 SharedFunctionInfo* shared, 196 SharedFunctionInfo* shared,
195 CompilationInfo* info, 197 CompilationInfo* info,
196 Name* source, int line, int column) { 198 Name* source, int line, int column) {
197 name_buffer_->Init(tag); 199 name_buffer_->Init(tag);
198 name_buffer_->AppendBytes(ComputeMarker(code)); 200 name_buffer_->AppendBytes(ComputeMarker(shared, code));
199 name_buffer_->AppendString(shared->DebugName()); 201 name_buffer_->AppendString(shared->DebugName());
200 name_buffer_->AppendByte(' '); 202 name_buffer_->AppendByte(' ');
201 if (source->IsString()) { 203 if (source->IsString()) {
202 name_buffer_->AppendString(String::cast(source)); 204 name_buffer_->AppendString(String::cast(source));
203 } else { 205 } else {
204 name_buffer_->AppendBytes("symbol(hash "); 206 name_buffer_->AppendBytes("symbol(hash ");
205 name_buffer_->AppendHex(Name::cast(source)->Hash()); 207 name_buffer_->AppendHex(Name::cast(source)->Hash());
206 name_buffer_->AppendByte(')'); 208 name_buffer_->AppendByte(')');
207 } 209 }
208 name_buffer_->AppendByte(':'); 210 name_buffer_->AppendByte(':');
(...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after
1192 AppendCodeCreateHeader(&msg, tag, code); 1194 AppendCodeCreateHeader(&msg, tag, code);
1193 if (name->IsString()) { 1195 if (name->IsString()) {
1194 SmartArrayPointer<char> str = 1196 SmartArrayPointer<char> str =
1195 String::cast(name)->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); 1197 String::cast(name)->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL);
1196 msg.Append("\"%s\"", str.get()); 1198 msg.Append("\"%s\"", str.get());
1197 } else { 1199 } else {
1198 msg.AppendSymbolName(Symbol::cast(name)); 1200 msg.AppendSymbolName(Symbol::cast(name));
1199 } 1201 }
1200 msg.Append(','); 1202 msg.Append(',');
1201 msg.AppendAddress(shared->address()); 1203 msg.AppendAddress(shared->address());
1202 msg.Append(",%s", ComputeMarker(code)); 1204 msg.Append(",%s", ComputeMarker(shared, code));
1203 msg.WriteToLogFile(); 1205 msg.WriteToLogFile();
1204 } 1206 }
1205 1207
1206 1208
1207 // Although, it is possible to extract source and line from 1209 // Although, it is possible to extract source and line from
1208 // the SharedFunctionInfo object, we left it to caller 1210 // the SharedFunctionInfo object, we left it to caller
1209 // to leave logging functions free from heap allocations. 1211 // to leave logging functions free from heap allocations.
1210 void Logger::CodeCreateEvent(LogEventsAndTags tag, 1212 void Logger::CodeCreateEvent(LogEventsAndTags tag,
1211 Code* code, 1213 Code* code,
1212 SharedFunctionInfo* shared, 1214 SharedFunctionInfo* shared,
(...skipping 13 matching lines...) Expand all
1226 msg.Append("\"%s ", name.get()); 1228 msg.Append("\"%s ", name.get());
1227 if (source->IsString()) { 1229 if (source->IsString()) {
1228 SmartArrayPointer<char> sourcestr = 1230 SmartArrayPointer<char> sourcestr =
1229 String::cast(source)->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); 1231 String::cast(source)->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL);
1230 msg.Append("%s", sourcestr.get()); 1232 msg.Append("%s", sourcestr.get());
1231 } else { 1233 } else {
1232 msg.AppendSymbolName(Symbol::cast(source)); 1234 msg.AppendSymbolName(Symbol::cast(source));
1233 } 1235 }
1234 msg.Append(":%d:%d\",", line, column); 1236 msg.Append(":%d:%d\",", line, column);
1235 msg.AppendAddress(shared->address()); 1237 msg.AppendAddress(shared->address());
1236 msg.Append(",%s", ComputeMarker(code)); 1238 msg.Append(",%s", ComputeMarker(shared, code));
1237 msg.WriteToLogFile(); 1239 msg.WriteToLogFile();
1238 } 1240 }
1239 1241
1240 1242
1241 void Logger::CodeCreateEvent(LogEventsAndTags tag, 1243 void Logger::CodeCreateEvent(LogEventsAndTags tag,
1242 Code* code, 1244 Code* code,
1243 int args_count) { 1245 int args_count) {
1244 PROFILER_LOG(CodeCreateEvent(tag, code, args_count)); 1246 PROFILER_LOG(CodeCreateEvent(tag, code, args_count));
1245 1247
1246 if (!is_logging_code_events()) return; 1248 if (!is_logging_code_events()) return;
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
1905 if (jit_logger_) { 1907 if (jit_logger_) {
1906 removeCodeEventListener(jit_logger_); 1908 removeCodeEventListener(jit_logger_);
1907 delete jit_logger_; 1909 delete jit_logger_;
1908 jit_logger_ = NULL; 1910 jit_logger_ = NULL;
1909 } 1911 }
1910 1912
1911 return log_->Close(); 1913 return log_->Close();
1912 } 1914 }
1913 1915
1914 } } // namespace v8::internal 1916 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/full-codegen.cc ('k') | src/objects.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698