Index: src/isolate.cc |
diff --git a/src/isolate.cc b/src/isolate.cc |
index faa04848cff43c13c49ff5837ecb6718deac3822..4e6ad8524d72a72eefb103d7c06ba0d4323cbe09 100644 |
--- a/src/isolate.cc |
+++ b/src/isolate.cc |
@@ -2660,6 +2660,16 @@ void Isolate::InitializeLoggingAndCounters() { |
} |
} |
+namespace { |
+void PrintBuiltinSizes(Isolate* isolate) { |
+ Builtins* builtins = isolate->builtins(); |
+ for (int i = 0; i < Builtins::builtin_count; i++) { |
+ const char* name = builtins->name(i); |
+ Code* code = builtins->builtin(static_cast<Builtins::Name>(i)); |
+ PrintF(stdout, "%s: %d\n", name, code->instruction_size()); |
+ } |
+} |
+} // namespace |
bool Isolate::Init(Deserializer* des) { |
TRACE_ISOLATE(init); |
@@ -2799,6 +2809,8 @@ bool Isolate::Init(Deserializer* des) { |
delete setup_delegate_; |
setup_delegate_ = nullptr; |
+ if (FLAG_print_builtin_size) PrintBuiltinSizes(this); |
+ |
// Finish initialization of ThreadLocal after deserialization is done. |
clear_pending_exception(); |
clear_pending_message(); |