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

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

Issue 8495011: Revert r9901 to make tree green again. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 9 years, 1 month 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.cc ('k') | src/hydrogen-instructions.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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 V(Goto) \ 111 V(Goto) \
112 V(HasCachedArrayIndexAndBranch) \ 112 V(HasCachedArrayIndexAndBranch) \
113 V(HasInstanceTypeAndBranch) \ 113 V(HasInstanceTypeAndBranch) \
114 V(In) \ 114 V(In) \
115 V(InstanceOf) \ 115 V(InstanceOf) \
116 V(InstanceOfKnownGlobal) \ 116 V(InstanceOfKnownGlobal) \
117 V(InvokeFunction) \ 117 V(InvokeFunction) \
118 V(IsConstructCallAndBranch) \ 118 V(IsConstructCallAndBranch) \
119 V(IsNilAndBranch) \ 119 V(IsNilAndBranch) \
120 V(IsObjectAndBranch) \ 120 V(IsObjectAndBranch) \
121 V(IsStringAndBranch) \
122 V(IsSmiAndBranch) \ 121 V(IsSmiAndBranch) \
123 V(IsUndetectableAndBranch) \ 122 V(IsUndetectableAndBranch) \
124 V(StringCompareAndBranch) \
125 V(JSArrayLength) \ 123 V(JSArrayLength) \
126 V(LeaveInlined) \ 124 V(LeaveInlined) \
127 V(LoadContextSlot) \ 125 V(LoadContextSlot) \
128 V(LoadElements) \ 126 V(LoadElements) \
129 V(LoadExternalArrayPointer) \ 127 V(LoadExternalArrayPointer) \
130 V(LoadFunctionPrototype) \ 128 V(LoadFunctionPrototype) \
131 V(LoadGlobalCell) \ 129 V(LoadGlobalCell) \
132 V(LoadGlobalGeneric) \ 130 V(LoadGlobalGeneric) \
133 V(LoadKeyedFastDoubleElement) \ 131 V(LoadKeyedFastDoubleElement) \
134 V(LoadKeyedFastElement) \ 132 V(LoadKeyedFastElement) \
(...skipping 2575 matching lines...) Expand 10 before | Expand all | Expand 10 after
2710 explicit HIsObjectAndBranch(HValue* value) 2708 explicit HIsObjectAndBranch(HValue* value)
2711 : HUnaryControlInstruction(value, NULL, NULL) { } 2709 : HUnaryControlInstruction(value, NULL, NULL) { }
2712 2710
2713 virtual Representation RequiredInputRepresentation(int index) { 2711 virtual Representation RequiredInputRepresentation(int index) {
2714 return Representation::Tagged(); 2712 return Representation::Tagged();
2715 } 2713 }
2716 2714
2717 DECLARE_CONCRETE_INSTRUCTION(IsObjectAndBranch) 2715 DECLARE_CONCRETE_INSTRUCTION(IsObjectAndBranch)
2718 }; 2716 };
2719 2717
2720 class HIsStringAndBranch: public HUnaryControlInstruction {
2721 public:
2722 explicit HIsStringAndBranch(HValue* value)
2723 : HUnaryControlInstruction(value, NULL, NULL) { }
2724
2725 virtual Representation RequiredInputRepresentation(int index) {
2726 return Representation::Tagged();
2727 }
2728
2729 DECLARE_CONCRETE_INSTRUCTION(IsStringAndBranch)
2730 };
2731
2732 2718
2733 class HIsSmiAndBranch: public HUnaryControlInstruction { 2719 class HIsSmiAndBranch: public HUnaryControlInstruction {
2734 public: 2720 public:
2735 explicit HIsSmiAndBranch(HValue* value) 2721 explicit HIsSmiAndBranch(HValue* value)
2736 : HUnaryControlInstruction(value, NULL, NULL) { } 2722 : HUnaryControlInstruction(value, NULL, NULL) { }
2737 2723
2738 DECLARE_CONCRETE_INSTRUCTION(IsSmiAndBranch) 2724 DECLARE_CONCRETE_INSTRUCTION(IsSmiAndBranch)
2739 2725
2740 virtual Representation RequiredInputRepresentation(int index) { 2726 virtual Representation RequiredInputRepresentation(int index) {
2741 return Representation::Tagged(); 2727 return Representation::Tagged();
(...skipping 10 matching lines...) Expand all
2752 : HUnaryControlInstruction(value, NULL, NULL) { } 2738 : HUnaryControlInstruction(value, NULL, NULL) { }
2753 2739
2754 virtual Representation RequiredInputRepresentation(int index) { 2740 virtual Representation RequiredInputRepresentation(int index) {
2755 return Representation::Tagged(); 2741 return Representation::Tagged();
2756 } 2742 }
2757 2743
2758 DECLARE_CONCRETE_INSTRUCTION(IsUndetectableAndBranch) 2744 DECLARE_CONCRETE_INSTRUCTION(IsUndetectableAndBranch)
2759 }; 2745 };
2760 2746
2761 2747
2762 class HStringCompareAndBranch: public HTemplateControlInstruction<2, 3> {
2763 public:
2764 HStringCompareAndBranch(HValue* context,
2765 HValue* left,
2766 HValue* right,
2767 Token::Value token)
2768 : token_(token) {
2769 ASSERT(Token::IsCompareOp(token));
2770 SetOperandAt(0, context);
2771 SetOperandAt(1, left);
2772 SetOperandAt(2, right);
2773 set_representation(Representation::Tagged());
2774 }
2775
2776 HValue* context() { return OperandAt(0); }
2777 HValue* left() { return OperandAt(1); }
2778 HValue* right() { return OperandAt(2); }
2779 Token::Value token() const { return token_; }
2780
2781 virtual void PrintDataTo(StringStream* stream);
2782
2783 virtual Representation RequiredInputRepresentation(int index) {
2784 return Representation::Tagged();
2785 }
2786
2787 Representation GetInputRepresentation() const {
2788 return Representation::Tagged();
2789 }
2790
2791 DECLARE_CONCRETE_INSTRUCTION(StringCompareAndBranch)
2792
2793 private:
2794 Token::Value token_;
2795 };
2796
2797
2798 class HIsConstructCallAndBranch: public HTemplateControlInstruction<2, 0> { 2748 class HIsConstructCallAndBranch: public HTemplateControlInstruction<2, 0> {
2799 public: 2749 public:
2800 virtual Representation RequiredInputRepresentation(int index) { 2750 virtual Representation RequiredInputRepresentation(int index) {
2801 return Representation::None(); 2751 return Representation::None();
2802 } 2752 }
2803 2753
2804 DECLARE_CONCRETE_INSTRUCTION(IsConstructCallAndBranch) 2754 DECLARE_CONCRETE_INSTRUCTION(IsConstructCallAndBranch)
2805 }; 2755 };
2806 2756
2807 2757
(...skipping 1527 matching lines...) Expand 10 before | Expand all | Expand 10 after
4335 4285
4336 DECLARE_CONCRETE_INSTRUCTION(In) 4286 DECLARE_CONCRETE_INSTRUCTION(In)
4337 }; 4287 };
4338 4288
4339 #undef DECLARE_INSTRUCTION 4289 #undef DECLARE_INSTRUCTION
4340 #undef DECLARE_CONCRETE_INSTRUCTION 4290 #undef DECLARE_CONCRETE_INSTRUCTION
4341 4291
4342 } } // namespace v8::internal 4292 } } // namespace v8::internal
4343 4293
4344 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ 4294 #endif // V8_HYDROGEN_INSTRUCTIONS_H_
OLDNEW
« no previous file with comments | « src/hydrogen.cc ('k') | src/hydrogen-instructions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698