OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 <iomanip> | 5 #include <iomanip> |
6 #include <sstream> | 6 #include <sstream> |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
(...skipping 11618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11629 } | 11629 } |
11630 return NULL; | 11630 return NULL; |
11631 } | 11631 } |
11632 | 11632 |
11633 | 11633 |
11634 #ifdef ENABLE_DISASSEMBLER | 11634 #ifdef ENABLE_DISASSEMBLER |
11635 | 11635 |
11636 void DeoptimizationInputData::DeoptimizationInputDataPrint( | 11636 void DeoptimizationInputData::DeoptimizationInputDataPrint( |
11637 std::ostream& os) { // NOLINT | 11637 std::ostream& os) { // NOLINT |
11638 disasm::NameConverter converter; | 11638 disasm::NameConverter converter; |
| 11639 int const inlined_function_count = InlinedFunctionCount()->value(); |
| 11640 os << "Inlined functions (count = " << inlined_function_count << ")\n"; |
| 11641 for (int id = 0; id < inlined_function_count; ++id) { |
| 11642 Object* info = LiteralArray()->get(id); |
| 11643 os << " " << Brief(SharedFunctionInfo::cast(info)) << "\n"; |
| 11644 } |
| 11645 os << "\n"; |
11639 int deopt_count = DeoptCount(); | 11646 int deopt_count = DeoptCount(); |
11640 os << "Deoptimization Input Data (deopt points = " << deopt_count << ")\n"; | 11647 os << "Deoptimization Input Data (deopt points = " << deopt_count << ")\n"; |
11641 if (0 != deopt_count) { | 11648 if (0 != deopt_count) { |
11642 os << " index ast id argc pc"; | 11649 os << " index ast id argc pc"; |
11643 if (FLAG_print_code_verbose) os << " commands"; | 11650 if (FLAG_print_code_verbose) os << " commands"; |
11644 os << "\n"; | 11651 os << "\n"; |
11645 } | 11652 } |
11646 for (int i = 0; i < deopt_count; i++) { | 11653 for (int i = 0; i < deopt_count; i++) { |
11647 os << std::setw(6) << i << " " << std::setw(6) << AstId(i).ToInt() << " " | 11654 os << std::setw(6) << i << " " << std::setw(6) << AstId(i).ToInt() << " " |
11648 << std::setw(6) << ArgumentsStackHeight(i)->value() << " " | 11655 << std::setw(6) << ArgumentsStackHeight(i)->value() << " " |
(...skipping 5715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
17364 void PropertyCell::SetValueWithInvalidation(Handle<PropertyCell> cell, | 17371 void PropertyCell::SetValueWithInvalidation(Handle<PropertyCell> cell, |
17365 Handle<Object> new_value) { | 17372 Handle<Object> new_value) { |
17366 if (cell->value() != *new_value) { | 17373 if (cell->value() != *new_value) { |
17367 cell->set_value(*new_value); | 17374 cell->set_value(*new_value); |
17368 Isolate* isolate = cell->GetIsolate(); | 17375 Isolate* isolate = cell->GetIsolate(); |
17369 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 17376 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
17370 isolate, DependentCode::kPropertyCellChangedGroup); | 17377 isolate, DependentCode::kPropertyCellChangedGroup); |
17371 } | 17378 } |
17372 } | 17379 } |
17373 } } // namespace v8::internal | 17380 } } // namespace v8::internal |
OLD | NEW |