OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 8095 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8106 PrintF(out, "\n"); | 8106 PrintF(out, "\n"); |
8107 continue; | 8107 continue; |
8108 } | 8108 } |
8109 // Print details of the frame translation. | 8109 // Print details of the frame translation. |
8110 int translation_index = TranslationIndex(i)->value(); | 8110 int translation_index = TranslationIndex(i)->value(); |
8111 TranslationIterator iterator(TranslationByteArray(), translation_index); | 8111 TranslationIterator iterator(TranslationByteArray(), translation_index); |
8112 Translation::Opcode opcode = | 8112 Translation::Opcode opcode = |
8113 static_cast<Translation::Opcode>(iterator.Next()); | 8113 static_cast<Translation::Opcode>(iterator.Next()); |
8114 ASSERT(Translation::BEGIN == opcode); | 8114 ASSERT(Translation::BEGIN == opcode); |
8115 int frame_count = iterator.Next(); | 8115 int frame_count = iterator.Next(); |
8116 PrintF(out, " %s {count=%d}\n", Translation::StringFor(opcode), | 8116 int jsframe_count = iterator.Next(); |
8117 frame_count); | 8117 PrintF(out, " %s {frame count=%d, js frame count=%d}\n", |
| 8118 Translation::StringFor(opcode), |
| 8119 frame_count, |
| 8120 jsframe_count); |
8118 | 8121 |
8119 while (iterator.HasNext() && | 8122 while (iterator.HasNext() && |
8120 Translation::BEGIN != | 8123 Translation::BEGIN != |
8121 (opcode = static_cast<Translation::Opcode>(iterator.Next()))) { | 8124 (opcode = static_cast<Translation::Opcode>(iterator.Next()))) { |
8122 PrintF(out, "%24s %s ", "", Translation::StringFor(opcode)); | 8125 PrintF(out, "%24s %s ", "", Translation::StringFor(opcode)); |
8123 | 8126 |
8124 switch (opcode) { | 8127 switch (opcode) { |
8125 case Translation::BEGIN: | 8128 case Translation::BEGIN: |
8126 UNREACHABLE(); | 8129 UNREACHABLE(); |
8127 break; | 8130 break; |
8128 | 8131 |
8129 case Translation::FRAME: { | 8132 case Translation::JS_FRAME: { |
8130 int ast_id = iterator.Next(); | 8133 int ast_id = iterator.Next(); |
8131 int function_id = iterator.Next(); | 8134 int function_id = iterator.Next(); |
8132 JSFunction* function = | 8135 JSFunction* function = |
8133 JSFunction::cast(LiteralArray()->get(function_id)); | 8136 JSFunction::cast(LiteralArray()->get(function_id)); |
8134 unsigned height = iterator.Next(); | 8137 unsigned height = iterator.Next(); |
8135 PrintF(out, "{ast_id=%d, function=", ast_id); | 8138 PrintF(out, "{ast_id=%d, function=", ast_id); |
8136 function->PrintName(out); | 8139 function->PrintName(out); |
8137 PrintF(out, ", height=%u}", height); | 8140 PrintF(out, ", height=%u}", height); |
8138 break; | 8141 break; |
8139 } | 8142 } |
8140 | 8143 |
| 8144 case Translation::ARGUMENTS_ADAPTOR_FRAME: { |
| 8145 unsigned height = iterator.Next(); |
| 8146 PrintF(out, "{arguments adaptor, height=%d}", height); |
| 8147 break; |
| 8148 } |
| 8149 |
8141 case Translation::DUPLICATE: | 8150 case Translation::DUPLICATE: |
8142 break; | 8151 break; |
8143 | 8152 |
8144 case Translation::REGISTER: { | 8153 case Translation::REGISTER: { |
8145 int reg_code = iterator.Next(); | 8154 int reg_code = iterator.Next(); |
8146 PrintF(out, "{input=%s}", converter.NameOfCPURegister(reg_code)); | 8155 PrintF(out, "{input=%s}", converter.NameOfCPURegister(reg_code)); |
8147 break; | 8156 break; |
8148 } | 8157 } |
8149 | 8158 |
8150 case Translation::INT32_REGISTER: { | 8159 case Translation::INT32_REGISTER: { |
(...skipping 4774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
12925 if (break_point_objects()->IsUndefined()) return 0; | 12934 if (break_point_objects()->IsUndefined()) return 0; |
12926 // Single break point. | 12935 // Single break point. |
12927 if (!break_point_objects()->IsFixedArray()) return 1; | 12936 if (!break_point_objects()->IsFixedArray()) return 1; |
12928 // Multiple break points. | 12937 // Multiple break points. |
12929 return FixedArray::cast(break_point_objects())->length(); | 12938 return FixedArray::cast(break_point_objects())->length(); |
12930 } | 12939 } |
12931 #endif // ENABLE_DEBUGGER_SUPPORT | 12940 #endif // ENABLE_DEBUGGER_SUPPORT |
12932 | 12941 |
12933 | 12942 |
12934 } } // namespace v8::internal | 12943 } } // namespace v8::internal |
OLD | NEW |