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

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

Issue 131363008: A64: Synchronize with r15922. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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/a64/ic-a64.cc ('k') | src/a64/lithium-a64.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 22 matching lines...) Expand all
33 #include "lithium.h" 33 #include "lithium.h"
34 #include "safepoint-table.h" 34 #include "safepoint-table.h"
35 #include "utils.h" 35 #include "utils.h"
36 36
37 namespace v8 { 37 namespace v8 {
38 namespace internal { 38 namespace internal {
39 39
40 // Forward declarations. 40 // Forward declarations.
41 class LCodeGen; 41 class LCodeGen;
42 42
43 #define LITHIUM_ALL_INSTRUCTION_LIST(V) \
44 V(ControlInstruction) \
45 V(Call) \
46 LITHIUM_CONCRETE_INSTRUCTION_LIST(V)
47
48
49 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \ 43 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \
50 V(AccessArgumentsAt) \ 44 V(AccessArgumentsAt) \
51 V(AddI) \ 45 V(AddI) \
46 V(AddS) \
52 V(Allocate) \ 47 V(Allocate) \
53 V(ApplyArguments) \ 48 V(ApplyArguments) \
54 V(ArgumentsElements) \ 49 V(ArgumentsElements) \
55 V(ArgumentsLength) \ 50 V(ArgumentsLength) \
56 V(ArithmeticD) \ 51 V(ArithmeticD) \
57 V(ArithmeticT) \ 52 V(ArithmeticT) \
58 V(BitI) \ 53 V(BitI) \
54 V(BitS) \
59 V(BitNotI) \ 55 V(BitNotI) \
60 V(BoundsCheck) \ 56 V(BoundsCheck) \
61 V(Branch) \ 57 V(Branch) \
62 V(CallConstantFunction) \ 58 V(CallConstantFunction) \
63 V(CallFunction) \ 59 V(CallFunction) \
64 V(CallGlobal) \ 60 V(CallGlobal) \
65 V(CallKeyed) \ 61 V(CallKeyed) \
66 V(CallKnownGlobal) \ 62 V(CallKnownGlobal) \
67 V(CallNamed) \ 63 V(CallNamed) \
68 V(CallNew) \ 64 V(CallNew) \
69 V(CallNewArray) \ 65 V(CallNewArray) \
70 V(CallRuntime) \ 66 V(CallRuntime) \
71 V(CallStub) \ 67 V(CallStub) \
72 V(CheckFunction) \ 68 V(CheckFunction) \
73 V(CheckInstanceType) \ 69 V(CheckInstanceType) \
70 V(CheckMaps) \
71 V(CheckMapValue) \
74 V(CheckNonSmi) \ 72 V(CheckNonSmi) \
75 V(CheckMaps) \
76 V(CheckPrototypeMaps) \ 73 V(CheckPrototypeMaps) \
77 V(CheckSmi) \ 74 V(CheckSmi) \
78 V(ClampDToUint8) \ 75 V(ClampDToUint8) \
79 V(ClampIToUint8) \ 76 V(ClampIToUint8) \
80 V(ClampTToUint8) \ 77 V(ClampTToUint8) \
81 V(ClassOfTestAndBranch) \ 78 V(ClassOfTestAndBranch) \
82 V(CompareNumericAndBranch) \
83 V(CmpMapAndBranch) \ 79 V(CmpMapAndBranch) \
84 V(CmpObjectEqAndBranch) \ 80 V(CmpObjectEqAndBranch) \
85 V(CmpT) \ 81 V(CmpT) \
82 V(CompareNumericAndBranch) \
86 V(ConstantD) \ 83 V(ConstantD) \
87 V(ConstantI) \ 84 V(ConstantI) \
88 V(ConstantS) \ 85 V(ConstantS) \
89 V(ConstantT) \ 86 V(ConstantT) \
90 V(Context) \ 87 V(Context) \
91 V(DateField) \ 88 V(DateField) \
92 V(DebugBreak) \ 89 V(DebugBreak) \
93 V(DeclareGlobals) \ 90 V(DeclareGlobals) \
94 V(Deoptimize) \ 91 V(Deoptimize) \
95 V(DivI) \ 92 V(DivI) \
(...skipping 14 matching lines...) Expand all
110 V(InstanceOf) \ 107 V(InstanceOf) \
111 V(InstanceOfKnownGlobal) \ 108 V(InstanceOfKnownGlobal) \
112 V(InstanceSize) \ 109 V(InstanceSize) \
113 V(InstructionGap) \ 110 V(InstructionGap) \
114 V(Integer32ToDouble) \ 111 V(Integer32ToDouble) \
115 V(Integer32ToSmi) \ 112 V(Integer32ToSmi) \
116 V(InvokeFunction) \ 113 V(InvokeFunction) \
117 V(IsConstructCallAndBranch) \ 114 V(IsConstructCallAndBranch) \
118 V(IsNumberAndBranch) \ 115 V(IsNumberAndBranch) \
119 V(IsObjectAndBranch) \ 116 V(IsObjectAndBranch) \
117 V(IsSmiAndBranch) \
120 V(IsStringAndBranch) \ 118 V(IsStringAndBranch) \
121 V(IsSmiAndBranch) \
122 V(IsUndetectableAndBranch) \ 119 V(IsUndetectableAndBranch) \
123 V(Label) \ 120 V(Label) \
124 V(LazyBailout) \ 121 V(LazyBailout) \
125 V(LinkObjectInList) \ 122 V(LinkObjectInList) \
126 V(LoadContextSlot) \ 123 V(LoadContextSlot) \
127 V(LoadExternalArrayPointer) \ 124 V(LoadExternalArrayPointer) \
125 V(LoadFieldByIndex) \
128 V(LoadFunctionPrototype) \ 126 V(LoadFunctionPrototype) \
129 V(LoadGlobalCell) \ 127 V(LoadGlobalCell) \
130 V(LoadGlobalGeneric) \ 128 V(LoadGlobalGeneric) \
131 V(LoadKeyedExternal) \ 129 V(LoadKeyedExternal) \
132 V(LoadKeyedFixed) \ 130 V(LoadKeyedFixed) \
133 V(LoadKeyedFixedDouble) \ 131 V(LoadKeyedFixedDouble) \
134 V(LoadKeyedGeneric) \ 132 V(LoadKeyedGeneric) \
135 V(LoadNamedField) \ 133 V(LoadNamedField) \
136 V(LoadNamedFieldPolymorphic) \ 134 V(LoadNamedFieldPolymorphic) \
137 V(LoadNamedGeneric) \ 135 V(LoadNamedGeneric) \
138 V(MapEnumLength) \ 136 V(MapEnumLength) \
139 V(MathAbs) \ 137 V(MathAbs) \
138 V(MathAbsTagged) \
140 V(MathCos) \ 139 V(MathCos) \
141 V(MathAbsTagged) \
142 V(MathExp) \ 140 V(MathExp) \
143 V(MathFloor) \ 141 V(MathFloor) \
144 V(MathFloorOfDiv) \ 142 V(MathFloorOfDiv) \
145 V(MathLog) \ 143 V(MathLog) \
146 V(MathMinMax) \ 144 V(MathMinMax) \
147 V(MathPowHalf) \ 145 V(MathPowHalf) \
148 V(MathRound) \ 146 V(MathRound) \
149 V(MathSin) \ 147 V(MathSin) \
150 V(MathSqrt) \ 148 V(MathSqrt) \
151 V(MathTan) \ 149 V(MathTan) \
152 V(ModI) \ 150 V(ModI) \
153 V(MulConstI) \ 151 V(MulConstI) \
154 V(MulI) \ 152 V(MulI) \
153 V(MulS) \
155 V(NumberTagD) \ 154 V(NumberTagD) \
156 V(NumberTagU) \ 155 V(NumberTagU) \
157 V(NumberUntagD) \ 156 V(NumberUntagD) \
158 V(OsrEntry) \ 157 V(OsrEntry) \
159 V(OuterContext) \ 158 V(OuterContext) \
160 V(Parameter) \ 159 V(Parameter) \
161 V(Power) \ 160 V(Power) \
162 V(PushArgument) \ 161 V(PushArgument) \
163 V(Random) \ 162 V(Random) \
164 V(RegExpLiteral) \ 163 V(RegExpLiteral) \
(...skipping 23 matching lines...) Expand all
188 V(Throw) \ 187 V(Throw) \
189 V(ToFastProperties) \ 188 V(ToFastProperties) \
190 V(TransitionElementsKind) \ 189 V(TransitionElementsKind) \
191 V(TrapAllocationMemento) \ 190 V(TrapAllocationMemento) \
192 V(TruncateDoubleToIntOrSmi) \ 191 V(TruncateDoubleToIntOrSmi) \
193 V(Typeof) \ 192 V(Typeof) \
194 V(TypeofIsAndBranch) \ 193 V(TypeofIsAndBranch) \
195 V(Uint32ToDouble) \ 194 V(Uint32ToDouble) \
196 V(UnknownOSRValue) \ 195 V(UnknownOSRValue) \
197 V(ValueOf) \ 196 V(ValueOf) \
198 V(CheckMapValue) \
199 V(LoadFieldByIndex) \
200 V(WrapReceiver) 197 V(WrapReceiver)
201 198
202 199
203 #define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \ 200 #define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \
204 virtual Opcode opcode() const { return LInstruction::k##type; } \ 201 virtual Opcode opcode() const { return LInstruction::k##type; } \
205 virtual void CompileToNative(LCodeGen* generator); \ 202 virtual void CompileToNative(LCodeGen* generator); \
206 virtual const char* Mnemonic() const { return mnemonic; } \ 203 virtual const char* Mnemonic() const { return mnemonic; } \
207 static L##type* cast(LInstruction* instr) { \ 204 static L##type* cast(LInstruction* instr) { \
208 ASSERT(instr->Is##type()); \ 205 ASSERT(instr->Is##type()); \
209 return reinterpret_cast<L##type*>(instr); \ 206 return reinterpret_cast<L##type*>(instr); \
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 } 574 }
578 575
579 LOperand* left() { return inputs_[0]; } 576 LOperand* left() { return inputs_[0]; }
580 LOperand* right() { return inputs_[1]; } 577 LOperand* right() { return inputs_[1]; }
581 578
582 DECLARE_CONCRETE_INSTRUCTION(AddI, "add-i") 579 DECLARE_CONCRETE_INSTRUCTION(AddI, "add-i")
583 DECLARE_HYDROGEN_ACCESSOR(Add) 580 DECLARE_HYDROGEN_ACCESSOR(Add)
584 }; 581 };
585 582
586 583
584 class LAddS: public LTemplateInstruction<1, 2, 0> {
585 public:
586 LAddS(LOperand* left, LOperand* right) {
587 inputs_[0] = left;
588 inputs_[1] = right;
589 }
590
591 LOperand* left() { return inputs_[0]; }
592 LOperand* right() { return inputs_[1]; }
593
594 DECLARE_CONCRETE_INSTRUCTION(AddS, "add-s")
595 DECLARE_HYDROGEN_ACCESSOR(Add)
596 };
597
598
587 class LAllocate: public LTemplateInstruction<1, 1, 2> { 599 class LAllocate: public LTemplateInstruction<1, 1, 2> {
588 public: 600 public:
589 // TODO(jbramley): On ia32, this takes a context, and it is used by the 601 // TODO(jbramley): On ia32, this takes a context, and it is used by the
590 // deferred code. On ARM, an LOperand is allocated for another input, but it 602 // deferred code. On ARM, an LOperand is allocated for another input, but it
591 // is never used, and the deferred code doesn't need the context. Why? 603 // is never used, and the deferred code doesn't need the context. Why?
592 LAllocate(LOperand* size, LOperand* temp1, LOperand* temp2) { 604 LAllocate(LOperand* size, LOperand* temp1, LOperand* temp2) {
593 inputs_[0] = size; 605 inputs_[0] = size;
594 temps_[0] = temp1; 606 temps_[0] = temp1;
595 temps_[1] = temp2; 607 temps_[1] = temp2;
596 } 608 }
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
717 LOperand* left() { return inputs_[0]; } 729 LOperand* left() { return inputs_[0]; }
718 LOperand* right() { return inputs_[1]; } 730 LOperand* right() { return inputs_[1]; }
719 731
720 Token::Value op() const { return hydrogen()->op(); } 732 Token::Value op() const { return hydrogen()->op(); }
721 733
722 DECLARE_CONCRETE_INSTRUCTION(BitI, "bit-i") 734 DECLARE_CONCRETE_INSTRUCTION(BitI, "bit-i")
723 DECLARE_HYDROGEN_ACCESSOR(Bitwise) 735 DECLARE_HYDROGEN_ACCESSOR(Bitwise)
724 }; 736 };
725 737
726 738
739 class LBitS: public LTemplateInstruction<1, 2, 0> {
740 public:
741 LBitS(LOperand* left, LOperand* right) {
742 inputs_[0] = left;
743 inputs_[1] = right;
744 }
745
746 LOperand* left() { return inputs_[0]; }
747 LOperand* right() { return inputs_[1]; }
748
749 Token::Value op() const { return hydrogen()->op(); }
750
751 DECLARE_CONCRETE_INSTRUCTION(BitS, "bit-s")
752 DECLARE_HYDROGEN_ACCESSOR(Bitwise)
753 };
754
755
727 class LBitNotI: public LTemplateInstruction<1, 1, 0> { 756 class LBitNotI: public LTemplateInstruction<1, 1, 0> {
728 public: 757 public:
729 explicit LBitNotI(LOperand* value) { 758 explicit LBitNotI(LOperand* value) {
730 inputs_[0] = value; 759 inputs_[0] = value;
731 } 760 }
732 761
733 LOperand* value() { return inputs_[0]; } 762 LOperand* value() { return inputs_[0]; }
734 763
735 DECLARE_CONCRETE_INSTRUCTION(BitNotI, "bit-not-i") 764 DECLARE_CONCRETE_INSTRUCTION(BitNotI, "bit-not-i")
736 }; 765 };
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
914 LOperand* value() { return inputs_[0]; } 943 LOperand* value() { return inputs_[0]; }
915 LOperand* temp() { return temps_[0]; } 944 LOperand* temp() { return temps_[0]; }
916 945
917 DECLARE_CONCRETE_INSTRUCTION(CheckInstanceType, "check-instance-type") 946 DECLARE_CONCRETE_INSTRUCTION(CheckInstanceType, "check-instance-type")
918 DECLARE_HYDROGEN_ACCESSOR(CheckInstanceType) 947 DECLARE_HYDROGEN_ACCESSOR(CheckInstanceType)
919 }; 948 };
920 949
921 950
922 class LCheckMaps: public LTemplateInstruction<0, 1, 1> { 951 class LCheckMaps: public LTemplateInstruction<0, 1, 1> {
923 public: 952 public:
924 explicit LCheckMaps(LOperand* value, LOperand* temp) { 953 explicit LCheckMaps(LOperand* value, LOperand* temp = NULL) {
925 inputs_[0] = value; 954 inputs_[0] = value;
926 temps_[0] = temp; 955 temps_[0] = temp;
927 } 956 }
928 957
929 LOperand* value() { return inputs_[0]; } 958 LOperand* value() { return inputs_[0]; }
930 LOperand* temp() { return temps_[0]; } 959 LOperand* temp() { return temps_[0]; }
931 960
932 DECLARE_CONCRETE_INSTRUCTION(CheckMaps, "check-maps") 961 DECLARE_CONCRETE_INSTRUCTION(CheckMaps, "check-maps")
933 DECLARE_HYDROGEN_ACCESSOR(CheckMaps) 962 DECLARE_HYDROGEN_ACCESSOR(CheckMaps)
934 }; 963 };
935 964
936 965
937 class LCheckNonSmi: public LTemplateInstruction<0, 1, 0> { 966 class LCheckNonSmi: public LTemplateInstruction<0, 1, 0> {
938 public: 967 public:
939 explicit LCheckNonSmi(LOperand* value) { 968 explicit LCheckNonSmi(LOperand* value) {
940 inputs_[0] = value; 969 inputs_[0] = value;
941 } 970 }
942 971
943 LOperand* value() { return inputs_[0]; } 972 LOperand* value() { return inputs_[0]; }
944 973
945 DECLARE_CONCRETE_INSTRUCTION(CheckNonSmi, "check-non-smi") 974 DECLARE_CONCRETE_INSTRUCTION(CheckNonSmi, "check-non-smi")
946 DECLARE_HYDROGEN_ACCESSOR(CheckHeapObject) 975 DECLARE_HYDROGEN_ACCESSOR(CheckHeapObject)
947 }; 976 };
948 977
949 978
950 class LCheckPrototypeMaps: public LTemplateInstruction<0, 0, 2> { 979 class LCheckPrototypeMaps: public LTemplateInstruction<0, 0, 2> {
951 public: 980 public:
952 explicit LCheckPrototypeMaps(LOperand* temp1, LOperand* temp2) { 981 LCheckPrototypeMaps(LOperand* temp1 = NULL, LOperand* temp2 = NULL) {
953 temps_[0] = temp1; 982 temps_[0] = temp1;
954 temps_[1] = temp2; 983 temps_[1] = temp2;
955 } 984 }
956 985
957 LOperand* temp1() { return temps_[0]; } 986 LOperand* temp1() { return temps_[0]; }
958 LOperand* temp2() { return temps_[1]; } 987 LOperand* temp2() { return temps_[1]; }
959 988
960 DECLARE_CONCRETE_INSTRUCTION(CheckPrototypeMaps, "check-prototype-maps"); 989 DECLARE_CONCRETE_INSTRUCTION(CheckPrototypeMaps, "check-prototype-maps");
961 DECLARE_HYDROGEN_ACCESSOR(CheckPrototypeMaps) 990 DECLARE_HYDROGEN_ACCESSOR(CheckPrototypeMaps)
962 991
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
1181 class LDeclareGlobals: public LTemplateInstruction<0, 0, 0> { 1210 class LDeclareGlobals: public LTemplateInstruction<0, 0, 0> {
1182 public: 1211 public:
1183 DECLARE_CONCRETE_INSTRUCTION(DeclareGlobals, "declare-globals") 1212 DECLARE_CONCRETE_INSTRUCTION(DeclareGlobals, "declare-globals")
1184 DECLARE_HYDROGEN_ACCESSOR(DeclareGlobals) 1213 DECLARE_HYDROGEN_ACCESSOR(DeclareGlobals)
1185 }; 1214 };
1186 1215
1187 1216
1188 class LDeoptimize: public LTemplateInstruction<0, 0, 0> { 1217 class LDeoptimize: public LTemplateInstruction<0, 0, 0> {
1189 public: 1218 public:
1190 DECLARE_CONCRETE_INSTRUCTION(Deoptimize, "deoptimize") 1219 DECLARE_CONCRETE_INSTRUCTION(Deoptimize, "deoptimize")
1220 DECLARE_HYDROGEN_ACCESSOR(Deoptimize)
1191 }; 1221 };
1192 1222
1193 1223
1194 class LDivI: public LTemplateInstruction<1, 2, 1> { 1224 class LDivI: public LTemplateInstruction<1, 2, 1> {
1195 public: 1225 public:
1196 LDivI(LOperand* left, LOperand* right, LOperand* temp) { 1226 LDivI(LOperand* left, LOperand* right, LOperand* temp) {
1197 inputs_[0] = left; 1227 inputs_[0] = left;
1198 inputs_[1] = right; 1228 inputs_[1] = right;
1199 temps_[0] = temp; 1229 temps_[0] = temp;
1200 } 1230 }
(...skipping 763 matching lines...) Expand 10 before | Expand all | Expand 10 after
1964 } 1994 }
1965 1995
1966 LOperand* left() { return inputs_[0]; } 1996 LOperand* left() { return inputs_[0]; }
1967 LOperand* right() { return inputs_[1]; } 1997 LOperand* right() { return inputs_[1]; }
1968 1998
1969 DECLARE_CONCRETE_INSTRUCTION(MulI, "mul-i") 1999 DECLARE_CONCRETE_INSTRUCTION(MulI, "mul-i")
1970 DECLARE_HYDROGEN_ACCESSOR(Mul) 2000 DECLARE_HYDROGEN_ACCESSOR(Mul)
1971 }; 2001 };
1972 2002
1973 2003
2004 class LMulS: public LTemplateInstruction<1, 2, 0> {
2005 public:
2006 LMulS(LOperand* left, LOperand* right) {
2007 inputs_[0] = left;
2008 inputs_[1] = right;
2009 }
2010
2011 LOperand* left() { return inputs_[0]; }
2012 LOperand* right() { return inputs_[1]; }
2013
2014 DECLARE_CONCRETE_INSTRUCTION(MulI, "mul-s")
2015 DECLARE_HYDROGEN_ACCESSOR(Mul)
2016 };
2017
2018
1974 class LNumberTagD: public LTemplateInstruction<1, 1, 2> { 2019 class LNumberTagD: public LTemplateInstruction<1, 1, 2> {
1975 public: 2020 public:
1976 LNumberTagD(LOperand* value, LOperand* temp1, LOperand* temp2) { 2021 LNumberTagD(LOperand* value, LOperand* temp1, LOperand* temp2) {
1977 inputs_[0] = value; 2022 inputs_[0] = value;
1978 temps_[0] = temp1; 2023 temps_[0] = temp1;
1979 temps_[1] = temp2; 2024 temps_[1] = temp2;
1980 } 2025 }
1981 2026
1982 LOperand* value() { return inputs_[0]; } 2027 LOperand* value() { return inputs_[0]; }
1983 LOperand* temp1() { return temps_[0]; } 2028 LOperand* temp1() { return temps_[0]; }
(...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after
2540 2585
2541 DECLARE_CONCRETE_INSTRUCTION(ToFastProperties, "to-fast-properties") 2586 DECLARE_CONCRETE_INSTRUCTION(ToFastProperties, "to-fast-properties")
2542 DECLARE_HYDROGEN_ACCESSOR(ToFastProperties) 2587 DECLARE_HYDROGEN_ACCESSOR(ToFastProperties)
2543 }; 2588 };
2544 2589
2545 2590
2546 class LTransitionElementsKind: public LTemplateInstruction<0, 1, 2> { 2591 class LTransitionElementsKind: public LTemplateInstruction<0, 1, 2> {
2547 public: 2592 public:
2548 LTransitionElementsKind(LOperand* object, 2593 LTransitionElementsKind(LOperand* object,
2549 LOperand* temp1, 2594 LOperand* temp1,
2550 LOperand* temp2) { 2595 LOperand* temp2 = NULL) {
2551 inputs_[0] = object; 2596 inputs_[0] = object;
2552 temps_[0] = temp1; 2597 temps_[0] = temp1;
2553 temps_[1] = temp2; 2598 temps_[1] = temp2;
2554 } 2599 }
2555 2600
2556 LOperand* object() { return inputs_[0]; } 2601 LOperand* object() { return inputs_[0]; }
2557 LOperand* temp1() { return temps_[0]; } 2602 LOperand* temp1() { return temps_[0]; }
2558 LOperand* temp2() { return temps_[1]; } 2603 LOperand* temp2() { return temps_[1]; }
2559 2604
2560 DECLARE_CONCRETE_INSTRUCTION(TransitionElementsKind, 2605 DECLARE_CONCRETE_INSTRUCTION(TransitionElementsKind,
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
2882 2927
2883 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2928 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2884 }; 2929 };
2885 2930
2886 #undef DECLARE_HYDROGEN_ACCESSOR 2931 #undef DECLARE_HYDROGEN_ACCESSOR
2887 #undef DECLARE_CONCRETE_INSTRUCTION 2932 #undef DECLARE_CONCRETE_INSTRUCTION
2888 2933
2889 } } // namespace v8::internal 2934 } } // namespace v8::internal
2890 2935
2891 #endif // V8_A64_LITHIUM_A64_H_ 2936 #endif // V8_A64_LITHIUM_A64_H_
OLDNEW
« no previous file with comments | « src/a64/ic-a64.cc ('k') | src/a64/lithium-a64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698