| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/disassembler.h" | 5 #include "vm/disassembler.h" |
| 6 | 6 |
| 7 #include "vm/assembler.h" | 7 #include "vm/assembler.h" |
| 8 #include "vm/deopt_instructions.h" | 8 #include "vm/deopt_instructions.h" |
| 9 #include "vm/globals.h" | 9 #include "vm/globals.h" |
| 10 #include "vm/il_printer.h" | 10 #include "vm/il_printer.h" |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 DeoptTable::ReasonField::decode(reason_and_flags.Value()); | 207 DeoptTable::ReasonField::decode(reason_and_flags.Value()); |
| 208 ASSERT((0 <= reason) && (reason < ICData::kDeoptNumReasons)); | 208 ASSERT((0 <= reason) && (reason < ICData::kDeoptNumReasons)); |
| 209 THR_Print( | 209 THR_Print( |
| 210 "%4" Pd ": 0x%" Px " %s (%s)\n", i, start + offset.Value(), | 210 "%4" Pd ": 0x%" Px " %s (%s)\n", i, start + offset.Value(), |
| 211 DeoptInfo::ToCString(deopt_table, info), | 211 DeoptInfo::ToCString(deopt_table, info), |
| 212 DeoptReasonToCString(static_cast<ICData::DeoptReasonId>(reason))); | 212 DeoptReasonToCString(static_cast<ICData::DeoptReasonId>(reason))); |
| 213 } | 213 } |
| 214 THR_Print("}\n"); | 214 THR_Print("}\n"); |
| 215 } | 215 } |
| 216 | 216 |
| 217 THR_Print("Stackmaps for function '%s' {\n", function_fullname); | 217 THR_Print("StackMaps for function '%s' {\n", function_fullname); |
| 218 if (code.stackmaps() != Array::null()) { | 218 if (code.stackmaps() != Array::null()) { |
| 219 const Array& stackmap_table = Array::Handle(code.stackmaps()); | 219 const Array& stackmap_table = Array::Handle(code.stackmaps()); |
| 220 Stackmap& map = Stackmap::Handle(); | 220 StackMap& map = StackMap::Handle(); |
| 221 for (intptr_t i = 0; i < stackmap_table.Length(); ++i) { | 221 for (intptr_t i = 0; i < stackmap_table.Length(); ++i) { |
| 222 map ^= stackmap_table.At(i); | 222 map ^= stackmap_table.At(i); |
| 223 THR_Print("%s\n", map.ToCString()); | 223 THR_Print("%s\n", map.ToCString()); |
| 224 } | 224 } |
| 225 } | 225 } |
| 226 THR_Print("}\n"); | 226 THR_Print("}\n"); |
| 227 | 227 |
| 228 if (FLAG_print_variable_descriptors) { | 228 if (FLAG_print_variable_descriptors) { |
| 229 THR_Print("Variable Descriptors for function '%s' {\n", function_fullname); | 229 THR_Print("Variable Descriptors for function '%s' {\n", function_fullname); |
| 230 intptr_t var_desc_length = | 230 intptr_t var_desc_length = |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 306 bool optimized) { | 306 bool optimized) { |
| 307 const char* function_fullname = function.ToFullyQualifiedCString(); | 307 const char* function_fullname = function.ToFullyQualifiedCString(); |
| 308 const Code& code = Code::Handle(function.unoptimized_code()); | 308 const Code& code = Code::Handle(function.unoptimized_code()); |
| 309 DisassembleCodeHelper(function_fullname, code, optimized); | 309 DisassembleCodeHelper(function_fullname, code, optimized); |
| 310 } | 310 } |
| 311 | 311 |
| 312 | 312 |
| 313 #endif // !PRODUCT | 313 #endif // !PRODUCT |
| 314 | 314 |
| 315 } // namespace dart | 315 } // namespace dart |
| OLD | NEW |