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

Side by Side Diff: runtime/vm/constants_mips.h

Issue 59613005: Merge (x & y) == 0 pattern to emit a single test instruction. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_CONSTANTS_MIPS_H_ 5 #ifndef VM_CONSTANTS_MIPS_H_
6 #define VM_CONSTANTS_MIPS_H_ 6 #define VM_CONSTANTS_MIPS_H_
7 7
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 9
10 namespace dart { 10 namespace dart {
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 const FRegister STMP2 = F19; 168 const FRegister STMP2 = F19;
169 169
170 // Architecture independent aliases. 170 // Architecture independent aliases.
171 typedef DRegister FpuRegister; 171 typedef DRegister FpuRegister;
172 const FpuRegister FpuTMP = DTMP; 172 const FpuRegister FpuTMP = DTMP;
173 const int kNumberOfFpuRegisters = kNumberOfDRegisters; 173 const int kNumberOfFpuRegisters = kNumberOfDRegisters;
174 const FpuRegister kNoFpuRegister = kNoDRegister; 174 const FpuRegister kNoFpuRegister = kNoDRegister;
175 175
176 176
177 // Register aliases. 177 // Register aliases.
178 const Register TMP1 = AT; // Used as scratch register by assembler. 178 const Register TMP = AT; // Used as scratch register by assembler.
179 const Register TMP = TMP1; // Arch independent flow graph compiler needs a
180 // Register called TMP.
181 const Register CTX = S6; // Caches current context in generated code. 179 const Register CTX = S6; // Caches current context in generated code.
182 const Register PP = S7; // Caches object pool pointer in generated code. 180 const Register PP = S7; // Caches object pool pointer in generated code.
183 const Register SPREG = SP; // Stack pointer register. 181 const Register SPREG = SP; // Stack pointer register.
184 const Register FPREG = FP; // Frame pointer register. 182 const Register FPREG = FP; // Frame pointer register.
185 const Register ICREG = S5; // IC data register. 183 const Register ICREG = S5; // IC data register.
186 184
187 // The code that generates a comparison can be far away from the code that 185 // The code that generates a comparison can be far away from the code that
188 // generates the branch that uses the result of that comparison. In this case, 186 // generates the branch that uses the result of that comparison. In this case,
189 // CMPRES1 and CMPRES2 are used for the results of the comparison. We need two 187 // CMPRES1 and CMPRES2 are used for the results of the comparison. We need two
190 // since TMP is clobbered by a far branch. 188 // since TMP is clobbered by a far branch.
191 const Register CMPRES1 = T8; 189 const Register CMPRES1 = T8;
192 const Register CMPRES2 = T9; 190 const Register CMPRES2 = T9;
193 const Register CMPRES = CMPRES1;
194 191
195 // Exception object is passed in this register to the catch handlers when an 192 // Exception object is passed in this register to the catch handlers when an
196 // exception is thrown. 193 // exception is thrown.
197 const Register kExceptionObjectReg = V0; 194 const Register kExceptionObjectReg = V0;
198 195
199 // Stack trace object is passed in this register to the catch handlers when 196 // Stack trace object is passed in this register to the catch handlers when
200 // an exception is thrown. 197 // an exception is thrown.
201 const Register kStackTraceObjectReg = V1; 198 const Register kStackTraceObjectReg = V1;
202 199
203 200
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 #endif // defined(DEBUG) 612 #endif // defined(DEBUG)
616 613
617 private: 614 private:
618 DISALLOW_ALLOCATION(); 615 DISALLOW_ALLOCATION();
619 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); 616 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr);
620 }; 617 };
621 618
622 } // namespace dart 619 } // namespace dart
623 620
624 #endif // VM_CONSTANTS_MIPS_H_ 621 #endif // VM_CONSTANTS_MIPS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698