Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Side by Side Diff: src/hydrogen-instructions.cc

Issue 535873002: Encapsulate megamorphic load/tail-call in hydrogen (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: REBASE. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/hydrogen-instructions.h ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/double.h" 8 #include "src/double.h"
9 #include "src/factory.h" 9 #include "src/factory.h"
10 #include "src/hydrogen-infer-representation.h" 10 #include "src/hydrogen-infer-representation.h"
(...skipping 828 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 case HValue::kRegExpLiteral: 839 case HValue::kRegExpLiteral:
840 case HValue::kReturn: 840 case HValue::kReturn:
841 case HValue::kSeqStringGetChar: 841 case HValue::kSeqStringGetChar:
842 case HValue::kStoreCodeEntry: 842 case HValue::kStoreCodeEntry:
843 case HValue::kStoreFrameContext: 843 case HValue::kStoreFrameContext:
844 case HValue::kStoreKeyed: 844 case HValue::kStoreKeyed:
845 case HValue::kStoreNamedField: 845 case HValue::kStoreNamedField:
846 case HValue::kStoreNamedGeneric: 846 case HValue::kStoreNamedGeneric:
847 case HValue::kStringCharCodeAt: 847 case HValue::kStringCharCodeAt:
848 case HValue::kStringCharFromCode: 848 case HValue::kStringCharFromCode:
849 case HValue::kTailCallThroughMegamorphicCache:
849 case HValue::kThisFunction: 850 case HValue::kThisFunction:
850 case HValue::kTypeofIsAndBranch: 851 case HValue::kTypeofIsAndBranch:
851 case HValue::kUnknownOSRValue: 852 case HValue::kUnknownOSRValue:
852 case HValue::kUseConst: 853 case HValue::kUseConst:
853 return false; 854 return false;
854 855
855 case HValue::kAdd: 856 case HValue::kAdd:
856 case HValue::kAllocateBlockContext: 857 case HValue::kAllocateBlockContext:
857 case HValue::kApplyArguments: 858 case HValue::kApplyArguments:
858 case HValue::kBitwise: 859 case HValue::kBitwise:
(...skipping 836 matching lines...) Expand 10 before | Expand all | Expand 10 after
1695 return HUnaryOperation::PrintDataTo(os); 1696 return HUnaryOperation::PrintDataTo(os);
1696 } 1697 }
1697 1698
1698 1699
1699 OStream& HCallStub::PrintDataTo(OStream& os) const { // NOLINT 1700 OStream& HCallStub::PrintDataTo(OStream& os) const { // NOLINT
1700 os << CodeStub::MajorName(major_key_, false) << " "; 1701 os << CodeStub::MajorName(major_key_, false) << " ";
1701 return HUnaryCall::PrintDataTo(os); 1702 return HUnaryCall::PrintDataTo(os);
1702 } 1703 }
1703 1704
1704 1705
1706 OStream& HTailCallThroughMegamorphicCache::PrintDataTo(
1707 OStream& os) const { // NOLINT
1708 for (int i = 0; i < OperandCount(); i++) {
1709 os << NameOf(OperandAt(i)) << " ";
1710 }
1711 return os << "flags: " << flags();
1712 }
1713
1714
1705 OStream& HUnknownOSRValue::PrintDataTo(OStream& os) const { // NOLINT 1715 OStream& HUnknownOSRValue::PrintDataTo(OStream& os) const { // NOLINT
1706 const char* type = "expression"; 1716 const char* type = "expression";
1707 if (environment_->is_local_index(index_)) type = "local"; 1717 if (environment_->is_local_index(index_)) type = "local";
1708 if (environment_->is_special_index(index_)) type = "special"; 1718 if (environment_->is_special_index(index_)) type = "special";
1709 if (environment_->is_parameter_index(index_)) type = "parameter"; 1719 if (environment_->is_parameter_index(index_)) type = "parameter";
1710 return os << type << " @ " << index_; 1720 return os << type << " @ " << index_;
1711 } 1721 }
1712 1722
1713 1723
1714 OStream& HInstanceOf::PrintDataTo(OStream& os) const { // NOLINT 1724 OStream& HInstanceOf::PrintDataTo(OStream& os) const { // NOLINT
(...skipping 3043 matching lines...) Expand 10 before | Expand all | Expand 10 after
4758 break; 4768 break;
4759 case HObjectAccess::kExternalMemory: 4769 case HObjectAccess::kExternalMemory:
4760 os << "[external-memory]"; 4770 os << "[external-memory]";
4761 break; 4771 break;
4762 } 4772 }
4763 4773
4764 return os << "@" << access.offset(); 4774 return os << "@" << access.offset();
4765 } 4775 }
4766 4776
4767 } } // namespace v8::internal 4777 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/hydrogen-instructions.h ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698