Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 7459ed4525b2d96df98729803fddc17fbbdf2227..c5285e6ee6591554f598f858bfab2d218a3accc9 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -11713,6 +11713,19 @@ void Code::Disassemble(const char* name, std::ostream& os) { // NOLINT |
#endif |
} |
+ if (handler_table()->length() > 0 && is_turbofanned()) { |
+ os << "Handler Table (size = " << handler_table()->Size() << ")\n"; |
+ for (int i = 0; i < handler_table()->length(); i += 2) { |
+ int pc_offset = Smi::cast(handler_table()->get(i))->value(); |
+ int handler = Smi::cast(handler_table()->get(i + 1))->value(); |
+ os << static_cast<const void*>(instruction_start() + pc_offset) << " "; |
+ Vector<char> buf = Vector<char>::New(20); |
+ SNPrintF(buf, "%4d %4d\n", pc_offset, handler); |
+ os << buf.start(); |
Benedikt Meurer
2015/02/19 18:31:19
How about using ios formatting here instead of SNP
Michael Starzinger
2015/02/20 10:04:54
Acknowledged. As discussed offline, we'll do that
|
+ } |
+ os << "\n"; |
+ } |
+ |
os << "RelocInfo (size = " << relocation_size() << ")\n"; |
for (RelocIterator it(this); !it.done(); it.next()) { |
it.rinfo()->Print(GetIsolate(), os); |