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

Side by Side Diff: src/compiler/instruction.h

Issue 671393002: [x86] Fix register constraints for multiply-high. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Added regression test. Created 6 years, 2 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
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_COMPILER_INSTRUCTION_H_ 5 #ifndef V8_COMPILER_INSTRUCTION_H_
6 #define V8_COMPILER_INSTRUCTION_H_ 6 #define V8_COMPILER_INSTRUCTION_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <iosfwd> 9 #include <iosfwd>
10 #include <map> 10 #include <map>
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 return FixedRegisterField::decode(value_); 250 return FixedRegisterField::decode(value_);
251 } 251 }
252 252
253 // [virtual_register]: The virtual register ID for this operand. 253 // [virtual_register]: The virtual register ID for this operand.
254 int virtual_register() const { return VirtualRegisterField::decode(value_); } 254 int virtual_register() const { return VirtualRegisterField::decode(value_); }
255 void set_virtual_register(unsigned id) { 255 void set_virtual_register(unsigned id) {
256 value_ = VirtualRegisterField::update(value_, id); 256 value_ = VirtualRegisterField::update(value_, id);
257 } 257 }
258 258
259 // [lifetime]: Only for non-FIXED_SLOT. 259 // [lifetime]: Only for non-FIXED_SLOT.
260 bool IsUsedAtStart() { 260 bool IsUsedAtStart() const {
261 DCHECK(basic_policy() == EXTENDED_POLICY); 261 DCHECK(basic_policy() == EXTENDED_POLICY);
262 return LifetimeField::decode(value_) == USED_AT_START; 262 return LifetimeField::decode(value_) == USED_AT_START;
263 } 263 }
264 }; 264 };
265 265
266 266
267 class MoveOperands FINAL { 267 class MoveOperands FINAL {
268 public: 268 public:
269 MoveOperands(InstructionOperand* source, InstructionOperand* destination) 269 MoveOperands(InstructionOperand* source, InstructionOperand* destination)
270 : source_(source), destination_(destination) {} 270 : source_(source), destination_(destination) {}
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after
980 DeoptimizationVector deoptimization_entries_; 980 DeoptimizationVector deoptimization_entries_;
981 }; 981 };
982 982
983 std::ostream& operator<<(std::ostream& os, const InstructionSequence& code); 983 std::ostream& operator<<(std::ostream& os, const InstructionSequence& code);
984 984
985 } // namespace compiler 985 } // namespace compiler
986 } // namespace internal 986 } // namespace internal
987 } // namespace v8 987 } // namespace v8
988 988
989 #endif // V8_COMPILER_INSTRUCTION_H_ 989 #endif // V8_COMPILER_INSTRUCTION_H_
OLDNEW
« no previous file with comments | « src/compiler/ia32/instruction-selector-ia32.cc ('k') | src/compiler/x64/instruction-selector-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698