| 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 "v8.h" | 5 #include "v8.h" |
| 6 | 6 |
| 7 #include "double.h" | 7 #include "double.h" |
| 8 #include "factory.h" | 8 #include "factory.h" |
| 9 #include "hydrogen-infer-representation.h" | 9 #include "hydrogen-infer-representation.h" |
| 10 #include "property-details-inl.h" | 10 #include "property-details-inl.h" |
| (...skipping 799 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 810 | 810 |
| 811 bool HInstruction::CanDeoptimize() { | 811 bool HInstruction::CanDeoptimize() { |
| 812 // TODO(titzer): make this a virtual method? | 812 // TODO(titzer): make this a virtual method? |
| 813 switch (opcode()) { | 813 switch (opcode()) { |
| 814 case HValue::kAbnormalExit: | 814 case HValue::kAbnormalExit: |
| 815 case HValue::kAccessArgumentsAt: | 815 case HValue::kAccessArgumentsAt: |
| 816 case HValue::kAllocate: | 816 case HValue::kAllocate: |
| 817 case HValue::kArgumentsElements: | 817 case HValue::kArgumentsElements: |
| 818 case HValue::kArgumentsLength: | 818 case HValue::kArgumentsLength: |
| 819 case HValue::kArgumentsObject: | 819 case HValue::kArgumentsObject: |
| 820 case HValue::kArrayShift: |
| 820 case HValue::kBlockEntry: | 821 case HValue::kBlockEntry: |
| 821 case HValue::kBoundsCheckBaseIndexInformation: | 822 case HValue::kBoundsCheckBaseIndexInformation: |
| 822 case HValue::kCallFunction: | 823 case HValue::kCallFunction: |
| 823 case HValue::kCallJSFunction: | 824 case HValue::kCallJSFunction: |
| 824 case HValue::kCallNew: | 825 case HValue::kCallNew: |
| 825 case HValue::kCallNewArray: | 826 case HValue::kCallNewArray: |
| 826 case HValue::kCallStub: | 827 case HValue::kCallStub: |
| 827 case HValue::kCallWithDescriptor: | 828 case HValue::kCallWithDescriptor: |
| 828 case HValue::kCapturedObject: | 829 case HValue::kCapturedObject: |
| 829 case HValue::kClassOfTestAndBranch: | 830 case HValue::kClassOfTestAndBranch: |
| (...skipping 2800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3630 ElementsKind to_kind = transitioned_map().handle()->elements_kind(); | 3631 ElementsKind to_kind = transitioned_map().handle()->elements_kind(); |
| 3631 stream->Add(" %p [%s] -> %p [%s]", | 3632 stream->Add(" %p [%s] -> %p [%s]", |
| 3632 *original_map().handle(), | 3633 *original_map().handle(), |
| 3633 ElementsAccessor::ForKind(from_kind)->name(), | 3634 ElementsAccessor::ForKind(from_kind)->name(), |
| 3634 *transitioned_map().handle(), | 3635 *transitioned_map().handle(), |
| 3635 ElementsAccessor::ForKind(to_kind)->name()); | 3636 ElementsAccessor::ForKind(to_kind)->name()); |
| 3636 if (IsSimpleMapChangeTransition(from_kind, to_kind)) stream->Add(" (simple)"); | 3637 if (IsSimpleMapChangeTransition(from_kind, to_kind)) stream->Add(" (simple)"); |
| 3637 } | 3638 } |
| 3638 | 3639 |
| 3639 | 3640 |
| 3641 void HArrayShift::PrintDataTo(StringStream* stream) { |
| 3642 object()->PrintNameTo(stream); |
| 3643 stream->Add(" [%s]", ElementsAccessor::ForKind(kind())->name()); |
| 3644 } |
| 3645 |
| 3646 |
| 3640 void HLoadGlobalCell::PrintDataTo(StringStream* stream) { | 3647 void HLoadGlobalCell::PrintDataTo(StringStream* stream) { |
| 3641 stream->Add("[%p]", *cell().handle()); | 3648 stream->Add("[%p]", *cell().handle()); |
| 3642 if (!details_.IsDontDelete()) stream->Add(" (deleteable)"); | 3649 if (!details_.IsDontDelete()) stream->Add(" (deleteable)"); |
| 3643 if (details_.IsReadOnly()) stream->Add(" (read-only)"); | 3650 if (details_.IsReadOnly()) stream->Add(" (read-only)"); |
| 3644 } | 3651 } |
| 3645 | 3652 |
| 3646 | 3653 |
| 3647 bool HLoadGlobalCell::RequiresHoleCheck() const { | 3654 bool HLoadGlobalCell::RequiresHoleCheck() const { |
| 3648 if (details_.IsDontDelete() && !details_.IsReadOnly()) return false; | 3655 if (details_.IsDontDelete() && !details_.IsReadOnly()) return false; |
| 3649 for (HUseIterator it(uses()); !it.Done(); it.Advance()) { | 3656 for (HUseIterator it(uses()); !it.Done(); it.Advance()) { |
| (...skipping 1126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4776 break; | 4783 break; |
| 4777 case kExternalMemory: | 4784 case kExternalMemory: |
| 4778 stream->Add("[external-memory]"); | 4785 stream->Add("[external-memory]"); |
| 4779 break; | 4786 break; |
| 4780 } | 4787 } |
| 4781 | 4788 |
| 4782 stream->Add("@%d", offset()); | 4789 stream->Add("@%d", offset()); |
| 4783 } | 4790 } |
| 4784 | 4791 |
| 4785 } } // namespace v8::internal | 4792 } } // namespace v8::internal |
| OLD | NEW |