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 14981 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14992 } | 14992 } |
14993 | 14993 |
14994 void BytecodeArray::Disassemble(std::ostream& os) { | 14994 void BytecodeArray::Disassemble(std::ostream& os) { |
14995 os << "Parameter count " << parameter_count() << "\n"; | 14995 os << "Parameter count " << parameter_count() << "\n"; |
14996 os << "Frame size " << frame_size() << "\n"; | 14996 os << "Frame size " << frame_size() << "\n"; |
14997 Vector<char> buf = Vector<char>::New(50); | 14997 Vector<char> buf = Vector<char>::New(50); |
14998 | 14998 |
14999 const uint8_t* base_address = GetFirstBytecodeAddress(); | 14999 const uint8_t* base_address = GetFirstBytecodeAddress(); |
15000 interpreter::SourcePositionTableIterator source_positions( | 15000 interpreter::SourcePositionTableIterator source_positions( |
15001 source_position_table()); | 15001 source_position_table()); |
| 15002 |
15002 interpreter::BytecodeArrayIterator iterator(handle(this)); | 15003 interpreter::BytecodeArrayIterator iterator(handle(this)); |
15003 while (!iterator.done()) { | 15004 while (!iterator.done()) { |
15004 if (!source_positions.done() && | 15005 if (!source_positions.done() && |
15005 iterator.current_offset() == source_positions.bytecode_offset()) { | 15006 iterator.current_offset() == source_positions.bytecode_offset()) { |
15006 os << std::setw(5) << source_positions.source_position(); | 15007 os << std::setw(5) << source_positions.source_position(); |
15007 os << (source_positions.is_statement() ? " S> " : " E> "); | 15008 os << (source_positions.is_statement() ? " S> " : " E> "); |
15008 source_positions.Advance(); | 15009 source_positions.Advance(); |
15009 } else { | 15010 } else { |
15010 os << " "; | 15011 os << " "; |
15011 } | 15012 } |
(...skipping 4733 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
19745 if (cell->value() != *new_value) { | 19746 if (cell->value() != *new_value) { |
19746 cell->set_value(*new_value); | 19747 cell->set_value(*new_value); |
19747 Isolate* isolate = cell->GetIsolate(); | 19748 Isolate* isolate = cell->GetIsolate(); |
19748 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 19749 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
19749 isolate, DependentCode::kPropertyCellChangedGroup); | 19750 isolate, DependentCode::kPropertyCellChangedGroup); |
19750 } | 19751 } |
19751 } | 19752 } |
19752 | 19753 |
19753 } // namespace internal | 19754 } // namespace internal |
19754 } // namespace v8 | 19755 } // namespace v8 |
OLD | NEW |