OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/objects.h" | 5 #include "src/objects.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 #include <iomanip> | 8 #include <iomanip> |
9 #include <sstream> | 9 #include <sstream> |
10 | 10 |
(...skipping 14970 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14981 } | 14981 } |
14982 | 14982 |
14983 void BytecodeArray::Disassemble(std::ostream& os) { | 14983 void BytecodeArray::Disassemble(std::ostream& os) { |
14984 os << "Parameter count " << parameter_count() << "\n"; | 14984 os << "Parameter count " << parameter_count() << "\n"; |
14985 os << "Frame size " << frame_size() << "\n"; | 14985 os << "Frame size " << frame_size() << "\n"; |
14986 Vector<char> buf = Vector<char>::New(50); | 14986 Vector<char> buf = Vector<char>::New(50); |
14987 | 14987 |
14988 const uint8_t* base_address = GetFirstBytecodeAddress(); | 14988 const uint8_t* base_address = GetFirstBytecodeAddress(); |
14989 interpreter::SourcePositionTableIterator source_positions( | 14989 interpreter::SourcePositionTableIterator source_positions( |
14990 source_position_table()); | 14990 source_position_table()); |
| 14991 |
14991 interpreter::BytecodeArrayIterator iterator(handle(this)); | 14992 interpreter::BytecodeArrayIterator iterator(handle(this)); |
14992 while (!iterator.done()) { | 14993 while (!iterator.done()) { |
14993 if (!source_positions.done() && | 14994 if (!source_positions.done() && |
14994 iterator.current_offset() == source_positions.bytecode_offset()) { | 14995 iterator.current_offset() == source_positions.bytecode_offset()) { |
14995 os << std::setw(5) << source_positions.source_position(); | 14996 os << std::setw(5) << source_positions.source_position(); |
14996 os << (source_positions.is_statement() ? " S> " : " E> "); | 14997 os << (source_positions.is_statement() ? " S> " : " E> "); |
14997 source_positions.Advance(); | 14998 source_positions.Advance(); |
14998 } else { | 14999 } else { |
14999 os << " "; | 15000 os << " "; |
15000 } | 15001 } |
(...skipping 4733 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
19734 if (cell->value() != *new_value) { | 19735 if (cell->value() != *new_value) { |
19735 cell->set_value(*new_value); | 19736 cell->set_value(*new_value); |
19736 Isolate* isolate = cell->GetIsolate(); | 19737 Isolate* isolate = cell->GetIsolate(); |
19737 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 19738 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
19738 isolate, DependentCode::kPropertyCellChangedGroup); | 19739 isolate, DependentCode::kPropertyCellChangedGroup); |
19739 } | 19740 } |
19740 } | 19741 } |
19741 | 19742 |
19742 } // namespace internal | 19743 } // namespace internal |
19743 } // namespace v8 | 19744 } // namespace v8 |
OLD | NEW |