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

Side by Side Diff: src/arm/lithium-arm.h

Issue 6062002: Merge 6006:6095 from bleeding_edge to experimental/gc branch. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: Created 10 years 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/arm/ic-arm.cc ('k') | src/arm/lithium-arm.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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 // LClassOfTestAndBranch 114 // LClassOfTestAndBranch
115 // LDeleteProperty 115 // LDeleteProperty
116 // LDoubleToI 116 // LDoubleToI
117 // LHasCachedArrayIndex 117 // LHasCachedArrayIndex
118 // LHasCachedArrayIndexAndBranch 118 // LHasCachedArrayIndexAndBranch
119 // LHasInstanceType 119 // LHasInstanceType
120 // LHasInstanceTypeAndBranch 120 // LHasInstanceTypeAndBranch
121 // LInteger32ToDouble 121 // LInteger32ToDouble
122 // LIsNull 122 // LIsNull
123 // LIsNullAndBranch 123 // LIsNullAndBranch
124 // LIsObject
125 // LIsObjectAndBranch
124 // LIsSmi 126 // LIsSmi
125 // LIsSmiAndBranch 127 // LIsSmiAndBranch
126 // LLoadNamedField 128 // LLoadNamedField
127 // LLoadNamedGeneric 129 // LLoadNamedGeneric
128 // LNumberTagD 130 // LNumberTagD
129 // LNumberTagI 131 // LNumberTagI
130 // LPushArgument 132 // LPushArgument
131 // LReturn 133 // LReturn
132 // LSmiTag 134 // LSmiTag
133 // LStoreGlobal 135 // LStoreGlobal
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 V(FunctionLiteral) \ 198 V(FunctionLiteral) \
197 V(Gap) \ 199 V(Gap) \
198 V(GlobalObject) \ 200 V(GlobalObject) \
199 V(GlobalReceiver) \ 201 V(GlobalReceiver) \
200 V(Goto) \ 202 V(Goto) \
201 V(InstanceOf) \ 203 V(InstanceOf) \
202 V(InstanceOfAndBranch) \ 204 V(InstanceOfAndBranch) \
203 V(Integer32ToDouble) \ 205 V(Integer32ToDouble) \
204 V(IsNull) \ 206 V(IsNull) \
205 V(IsNullAndBranch) \ 207 V(IsNullAndBranch) \
208 V(IsObject) \
209 V(IsObjectAndBranch) \
206 V(IsSmi) \ 210 V(IsSmi) \
207 V(IsSmiAndBranch) \ 211 V(IsSmiAndBranch) \
208 V(HasInstanceType) \ 212 V(HasInstanceType) \
209 V(HasInstanceTypeAndBranch) \ 213 V(HasInstanceTypeAndBranch) \
210 V(HasCachedArrayIndex) \ 214 V(HasCachedArrayIndex) \
211 V(HasCachedArrayIndexAndBranch) \ 215 V(HasCachedArrayIndexAndBranch) \
212 V(ClassOfTest) \ 216 V(ClassOfTest) \
213 V(ClassOfTestAndBranch) \ 217 V(ClassOfTestAndBranch) \
214 V(Label) \ 218 V(Label) \
215 V(LazyBailout) \ 219 V(LazyBailout) \
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
658 662
659 class LUnaryMathOperation: public LUnaryOperation { 663 class LUnaryMathOperation: public LUnaryOperation {
660 public: 664 public:
661 explicit LUnaryMathOperation(LOperand* value) 665 explicit LUnaryMathOperation(LOperand* value)
662 : LUnaryOperation(value) { } 666 : LUnaryOperation(value) { }
663 667
664 DECLARE_CONCRETE_INSTRUCTION(UnaryMathOperation, "unary-math-operation") 668 DECLARE_CONCRETE_INSTRUCTION(UnaryMathOperation, "unary-math-operation")
665 DECLARE_HYDROGEN_ACCESSOR(UnaryMathOperation) 669 DECLARE_HYDROGEN_ACCESSOR(UnaryMathOperation)
666 670
667 virtual void PrintDataTo(StringStream* stream) const; 671 virtual void PrintDataTo(StringStream* stream) const;
668 MathFunctionId op() const { return hydrogen()->op(); } 672 BuiltinFunctionId op() const { return hydrogen()->op(); }
669 }; 673 };
670 674
671 675
672 class LCmpJSObjectEq: public LBinaryOperation { 676 class LCmpJSObjectEq: public LBinaryOperation {
673 public: 677 public:
674 LCmpJSObjectEq(LOperand* left, LOperand* right) 678 LCmpJSObjectEq(LOperand* left, LOperand* right)
675 : LBinaryOperation(left, right) {} 679 : LBinaryOperation(left, right) {}
676 680
677 DECLARE_CONCRETE_INSTRUCTION(CmpJSObjectEq, "cmp-jsobject-eq") 681 DECLARE_CONCRETE_INSTRUCTION(CmpJSObjectEq, "cmp-jsobject-eq")
678 }; 682 };
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
735 739
736 LOperand* temp() const { return temp_; } 740 LOperand* temp() const { return temp_; }
737 741
738 private: 742 private:
739 LOperand* temp_; 743 LOperand* temp_;
740 int true_block_id_; 744 int true_block_id_;
741 int false_block_id_; 745 int false_block_id_;
742 }; 746 };
743 747
744 748
749 class LIsObject: public LUnaryOperation {
750 public:
751 LIsObject(LOperand* value, LOperand* temp)
752 : LUnaryOperation(value), temp_(temp) {}
753
754 DECLARE_CONCRETE_INSTRUCTION(IsObject, "is-object")
755
756 LOperand* temp() const { return temp_; }
757
758 private:
759 LOperand* temp_;
760 };
761
762
763 class LIsObjectAndBranch: public LIsObject {
764 public:
765 LIsObjectAndBranch(LOperand* value,
766 LOperand* temp,
767 LOperand* temp2,
768 int true_block_id,
769 int false_block_id)
770 : LIsObject(value, temp),
771 temp2_(temp2),
772 true_block_id_(true_block_id),
773 false_block_id_(false_block_id) { }
774
775 DECLARE_CONCRETE_INSTRUCTION(IsObjectAndBranch, "is-object-and-branch")
776 virtual void PrintDataTo(StringStream* stream) const;
777 virtual bool IsControl() const { return true; }
778
779 int true_block_id() const { return true_block_id_; }
780 int false_block_id() const { return false_block_id_; }
781
782 LOperand* temp2() const { return temp2_; }
783
784 private:
785 LOperand* temp2_;
786 int true_block_id_;
787 int false_block_id_;
788 };
789
790
745 class LIsSmi: public LUnaryOperation { 791 class LIsSmi: public LUnaryOperation {
746 public: 792 public:
747 explicit LIsSmi(LOperand* value) : LUnaryOperation(value) {} 793 explicit LIsSmi(LOperand* value) : LUnaryOperation(value) {}
748 794
749 DECLARE_CONCRETE_INSTRUCTION(IsSmi, "is-smi") 795 DECLARE_CONCRETE_INSTRUCTION(IsSmi, "is-smi")
750 DECLARE_HYDROGEN_ACCESSOR(IsSmi) 796 DECLARE_HYDROGEN_ACCESSOR(IsSmi)
751 }; 797 };
752 798
753 799
754 class LIsSmiAndBranch: public LIsSmi { 800 class LIsSmiAndBranch: public LIsSmi {
(...skipping 1305 matching lines...) Expand 10 before | Expand all | Expand 10 after
2060 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2106 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2061 }; 2107 };
2062 2108
2063 #undef DECLARE_HYDROGEN_ACCESSOR 2109 #undef DECLARE_HYDROGEN_ACCESSOR
2064 #undef DECLARE_INSTRUCTION 2110 #undef DECLARE_INSTRUCTION
2065 #undef DECLARE_CONCRETE_INSTRUCTION 2111 #undef DECLARE_CONCRETE_INSTRUCTION
2066 2112
2067 } } // namespace v8::internal 2113 } } // namespace v8::internal
2068 2114
2069 #endif // V8_ARM_LITHIUM_ARM_H_ 2115 #endif // V8_ARM_LITHIUM_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/ic-arm.cc ('k') | src/arm/lithium-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698