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

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

Issue 151163006: A64: Implement LShiftS (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 | « 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 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 V(OsrEntry) \ 155 V(OsrEntry) \
156 V(OuterContext) \ 156 V(OuterContext) \
157 V(Parameter) \ 157 V(Parameter) \
158 V(Power) \ 158 V(Power) \
159 V(PushArgument) \ 159 V(PushArgument) \
160 V(Random) \ 160 V(Random) \
161 V(RegExpLiteral) \ 161 V(RegExpLiteral) \
162 V(Return) \ 162 V(Return) \
163 V(SeqStringSetChar) \ 163 V(SeqStringSetChar) \
164 V(ShiftI) \ 164 V(ShiftI) \
165 V(ShiftS) \
165 V(SmiTag) \ 166 V(SmiTag) \
166 V(SmiUntag) \ 167 V(SmiUntag) \
167 V(StackCheck) \ 168 V(StackCheck) \
168 V(StoreCodeEntry) \ 169 V(StoreCodeEntry) \
169 V(StoreContextSlot) \ 170 V(StoreContextSlot) \
170 V(StoreGlobalCell) \ 171 V(StoreGlobalCell) \
171 V(StoreGlobalGeneric) \ 172 V(StoreGlobalGeneric) \
172 V(StoreKeyedExternal) \ 173 V(StoreKeyedExternal) \
173 V(StoreKeyedFixed) \ 174 V(StoreKeyedFixed) \
174 V(StoreKeyedFixedDouble) \ 175 V(StoreKeyedFixedDouble) \
(...skipping 2279 matching lines...) Expand 10 before | Expand all | Expand 10 after
2454 bool can_deopt() const { return can_deopt_; } 2455 bool can_deopt() const { return can_deopt_; }
2455 2456
2456 DECLARE_CONCRETE_INSTRUCTION(ShiftI, "shift-i") 2457 DECLARE_CONCRETE_INSTRUCTION(ShiftI, "shift-i")
2457 2458
2458 private: 2459 private:
2459 Token::Value op_; 2460 Token::Value op_;
2460 bool can_deopt_; 2461 bool can_deopt_;
2461 }; 2462 };
2462 2463
2463 2464
2465 class LShiftS V8_FINAL : public LTemplateInstruction<1, 2, 1> {
2466 public:
2467 LShiftS(Token::Value op, LOperand* left, LOperand* right, LOperand* temp,
2468 bool can_deopt) : op_(op), can_deopt_(can_deopt) {
2469 inputs_[0] = left;
2470 inputs_[1] = right;
2471 temps_[0] = temp;
2472 }
2473
2474 Token::Value op() const { return op_; }
2475 LOperand* left() { return inputs_[0]; }
2476 LOperand* right() { return inputs_[1]; }
2477 LOperand* temp() { return temps_[0]; }
2478 bool can_deopt() const { return can_deopt_; }
2479
2480 DECLARE_CONCRETE_INSTRUCTION(ShiftS, "shift-s")
2481
2482 private:
2483 Token::Value op_;
2484 bool can_deopt_;
2485 };
2486
2487
2464 class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 2, 1> { 2488 class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 2, 1> {
2465 public: 2489 public:
2466 LStoreCodeEntry(LOperand* function, LOperand* code_object, 2490 LStoreCodeEntry(LOperand* function, LOperand* code_object,
2467 LOperand* temp) { 2491 LOperand* temp) {
2468 inputs_[0] = function; 2492 inputs_[0] = function;
2469 inputs_[1] = code_object; 2493 inputs_[1] = code_object;
2470 temps_[0] = temp; 2494 temps_[0] = temp;
2471 } 2495 }
2472 2496
2473 LOperand* function() { return inputs_[0]; } 2497 LOperand* function() { return inputs_[0]; }
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after
2957 2981
2958 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2982 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2959 }; 2983 };
2960 2984
2961 #undef DECLARE_HYDROGEN_ACCESSOR 2985 #undef DECLARE_HYDROGEN_ACCESSOR
2962 #undef DECLARE_CONCRETE_INSTRUCTION 2986 #undef DECLARE_CONCRETE_INSTRUCTION
2963 2987
2964 } } // namespace v8::internal 2988 } } // namespace v8::internal
2965 2989
2966 #endif // V8_A64_LITHIUM_A64_H_ 2990 #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