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

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

Issue 133193003: [a64] Implement LStringCompareAndBranch (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 11 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 | « no previous file | 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 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 V(StoreGlobalGeneric) \ 166 V(StoreGlobalGeneric) \
167 V(StoreKeyedExternal) \ 167 V(StoreKeyedExternal) \
168 V(StoreKeyedFixed) \ 168 V(StoreKeyedFixed) \
169 V(StoreKeyedFixedDouble) \ 169 V(StoreKeyedFixedDouble) \
170 V(StoreKeyedGeneric) \ 170 V(StoreKeyedGeneric) \
171 V(StoreNamedField) \ 171 V(StoreNamedField) \
172 V(StoreNamedGeneric) \ 172 V(StoreNamedGeneric) \
173 V(StringAdd) \ 173 V(StringAdd) \
174 V(StringCharCodeAt) \ 174 V(StringCharCodeAt) \
175 V(StringCharFromCode) \ 175 V(StringCharFromCode) \
176 V(StringCompareAndBranch) \
176 V(StringLength) \ 177 V(StringLength) \
177 V(SubI) \ 178 V(SubI) \
178 V(TaggedToI) \ 179 V(TaggedToI) \
179 V(ThisFunction) \ 180 V(ThisFunction) \
180 V(Throw) \ 181 V(Throw) \
181 V(ToFastProperties) \ 182 V(ToFastProperties) \
182 V(TransitionElementsKind) \ 183 V(TransitionElementsKind) \
183 V(TrapAllocationMemento) \ 184 V(TrapAllocationMemento) \
184 V(Typeof) \ 185 V(Typeof) \
185 V(TypeofIsAndBranch) \ 186 V(TypeofIsAndBranch) \
(...skipping 2085 matching lines...) Expand 10 before | Expand all | Expand 10 after
2271 inputs_[0] = char_code; 2272 inputs_[0] = char_code;
2272 } 2273 }
2273 2274
2274 LOperand* char_code() { return inputs_[0]; } 2275 LOperand* char_code() { return inputs_[0]; }
2275 2276
2276 DECLARE_CONCRETE_INSTRUCTION(StringCharFromCode, "string-char-from-code") 2277 DECLARE_CONCRETE_INSTRUCTION(StringCharFromCode, "string-char-from-code")
2277 DECLARE_HYDROGEN_ACCESSOR(StringCharFromCode) 2278 DECLARE_HYDROGEN_ACCESSOR(StringCharFromCode)
2278 }; 2279 };
2279 2280
2280 2281
2282 class LStringCompareAndBranch: public LControlInstruction<2, 0> {
2283 public:
2284 LStringCompareAndBranch(LOperand* left, LOperand* right) {
2285 inputs_[0] = left;
2286 inputs_[1] = right;
2287 }
2288
2289 LOperand* left() { return inputs_[0]; }
2290 LOperand* right() { return inputs_[1]; }
2291
2292 DECLARE_CONCRETE_INSTRUCTION(StringCompareAndBranch,
2293 "string-compare-and-branch")
2294 DECLARE_HYDROGEN_ACCESSOR(StringCompareAndBranch)
2295
2296 Token::Value op() const { return hydrogen()->token(); }
2297
2298 virtual void PrintDataTo(StringStream* stream);
2299 };
2300
2301
2281 class LStringLength: public LTemplateInstruction<1, 1, 0> { 2302 class LStringLength: public LTemplateInstruction<1, 1, 0> {
2282 public: 2303 public:
2283 explicit LStringLength(LOperand* string) { 2304 explicit LStringLength(LOperand* string) {
2284 inputs_[0] = string; 2305 inputs_[0] = string;
2285 } 2306 }
2286 2307
2287 LOperand* string() { return inputs_[0]; } 2308 LOperand* string() { return inputs_[0]; }
2288 2309
2289 DECLARE_CONCRETE_INSTRUCTION(StringLength, "string-length") 2310 DECLARE_CONCRETE_INSTRUCTION(StringLength, "string-length")
2290 DECLARE_HYDROGEN_ACCESSOR(StringLength) 2311 DECLARE_HYDROGEN_ACCESSOR(StringLength)
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
2755 2776
2756 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2777 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2757 }; 2778 };
2758 2779
2759 #undef DECLARE_HYDROGEN_ACCESSOR 2780 #undef DECLARE_HYDROGEN_ACCESSOR
2760 #undef DECLARE_CONCRETE_INSTRUCTION 2781 #undef DECLARE_CONCRETE_INSTRUCTION
2761 2782
2762 } } // namespace v8::internal 2783 } } // namespace v8::internal
2763 2784
2764 #endif // V8_A64_LITHIUM_A64_H_ 2785 #endif // V8_A64_LITHIUM_A64_H_
OLDNEW
« no previous file with comments | « no previous file | src/a64/lithium-a64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698