| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 "src/disasm.h" | 7 #include "src/disasm.h" |
| 8 #include "src/disassembler.h" | 8 #include "src/disassembler.h" |
| 9 #include "src/interpreter/bytecodes.h" | 9 #include "src/interpreter/bytecodes.h" |
| 10 #include "src/objects-inl.h" | 10 #include "src/objects-inl.h" |
| (...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 565 FeedbackVectorICSlot slot(i); | 565 FeedbackVectorICSlot slot(i); |
| 566 Code::Kind kind = GetKind(slot); | 566 Code::Kind kind = GetKind(slot); |
| 567 os << "\n ICSlot " << i; | 567 os << "\n ICSlot " << i; |
| 568 if (kind == Code::LOAD_IC) { | 568 if (kind == Code::LOAD_IC) { |
| 569 LoadICNexus nexus(this, slot); | 569 LoadICNexus nexus(this, slot); |
| 570 os << " LOAD_IC " << Code::ICState2String(nexus.StateFromFeedback()); | 570 os << " LOAD_IC " << Code::ICState2String(nexus.StateFromFeedback()); |
| 571 } else if (kind == Code::KEYED_LOAD_IC) { | 571 } else if (kind == Code::KEYED_LOAD_IC) { |
| 572 KeyedLoadICNexus nexus(this, slot); | 572 KeyedLoadICNexus nexus(this, slot); |
| 573 os << " KEYED_LOAD_IC " | 573 os << " KEYED_LOAD_IC " |
| 574 << Code::ICState2String(nexus.StateFromFeedback()); | 574 << Code::ICState2String(nexus.StateFromFeedback()); |
| 575 } else { | 575 } else if (kind == Code::CALL_IC) { |
| 576 DCHECK(kind == Code::CALL_IC); | |
| 577 CallICNexus nexus(this, slot); | 576 CallICNexus nexus(this, slot); |
| 578 os << " CALL_IC " << Code::ICState2String(nexus.StateFromFeedback()); | 577 os << " CALL_IC " << Code::ICState2String(nexus.StateFromFeedback()); |
| 578 } else if (kind == Code::STORE_IC) { |
| 579 StoreICNexus nexus(this, slot); |
| 580 os << " STORE_IC " << Code::ICState2String(nexus.StateFromFeedback()); |
| 581 } else { |
| 582 DCHECK(kind == Code::KEYED_STORE_IC); |
| 583 KeyedStoreICNexus nexus(this, slot); |
| 584 os << " KEYED_STORE_IC " |
| 585 << Code::ICState2String(nexus.StateFromFeedback()); |
| 579 } | 586 } |
| 580 | 587 |
| 581 os << "\n [" << GetIndex(slot) << "]: " << Brief(Get(slot)); | 588 os << "\n [" << GetIndex(slot) << "]: " << Brief(Get(slot)); |
| 582 os << "\n [" << (GetIndex(slot) + 1) | 589 os << "\n [" << (GetIndex(slot) + 1) |
| 583 << "]: " << Brief(get(GetIndex(slot) + 1)); | 590 << "]: " << Brief(get(GetIndex(slot) + 1)); |
| 584 } | 591 } |
| 585 } | 592 } |
| 586 os << "\n"; | 593 os << "\n"; |
| 587 } | 594 } |
| 588 | 595 |
| (...skipping 676 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1265 } | 1272 } |
| 1266 } | 1273 } |
| 1267 | 1274 |
| 1268 | 1275 |
| 1269 void JSObject::PrintTransitions(std::ostream& os) { // NOLINT | 1276 void JSObject::PrintTransitions(std::ostream& os) { // NOLINT |
| 1270 TransitionArray::PrintTransitions(os, map()->raw_transitions()); | 1277 TransitionArray::PrintTransitions(os, map()->raw_transitions()); |
| 1271 } | 1278 } |
| 1272 #endif // defined(DEBUG) || defined(OBJECT_PRINT) | 1279 #endif // defined(DEBUG) || defined(OBJECT_PRINT) |
| 1273 } // namespace internal | 1280 } // namespace internal |
| 1274 } // namespace v8 | 1281 } // namespace v8 |
| OLD | NEW |