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

Side by Side Diff: src/mips/code-stubs-mips.h

Issue 14850023: MIPS: Error found in test262 on ARM: BinaryOpStub could call out to a built-in and push parameters … (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fixed nits. Created 7 years, 7 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/mips/code-stubs-mips.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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 static void GenerateHashGetHash(MacroAssembler* masm, 205 static void GenerateHashGetHash(MacroAssembler* masm,
206 Register hash); 206 Register hash);
207 207
208 private: 208 private:
209 DISALLOW_IMPLICIT_CONSTRUCTORS(StringHelper); 209 DISALLOW_IMPLICIT_CONSTRUCTORS(StringHelper);
210 }; 210 };
211 211
212 212
213 // Flag that indicates how to generate code for the stub StringAddStub. 213 // Flag that indicates how to generate code for the stub StringAddStub.
214 enum StringAddFlags { 214 enum StringAddFlags {
215 NO_STRING_ADD_FLAGS = 0, 215 NO_STRING_ADD_FLAGS = 1 << 0,
216 // Omit left string check in stub (left is definitely a string). 216 // Omit left string check in stub (left is definitely a string).
217 NO_STRING_CHECK_LEFT_IN_STUB = 1 << 0, 217 NO_STRING_CHECK_LEFT_IN_STUB = 1 << 1,
218 // Omit right string check in stub (right is definitely a string). 218 // Omit right string check in stub (right is definitely a string).
219 NO_STRING_CHECK_RIGHT_IN_STUB = 1 << 1, 219 NO_STRING_CHECK_RIGHT_IN_STUB = 1 << 2,
220 // Stub needs a frame before calling the runtime
221 ERECT_FRAME = 1 << 3,
220 // Omit both string checks in stub. 222 // Omit both string checks in stub.
221 NO_STRING_CHECK_IN_STUB = 223 NO_STRING_CHECK_IN_STUB =
222 NO_STRING_CHECK_LEFT_IN_STUB | NO_STRING_CHECK_RIGHT_IN_STUB 224 NO_STRING_CHECK_LEFT_IN_STUB | NO_STRING_CHECK_RIGHT_IN_STUB
223 }; 225 };
224 226
225 227
226 class StringAddStub: public PlatformCodeStub { 228 class StringAddStub: public PlatformCodeStub {
227 public: 229 public:
228 explicit StringAddStub(StringAddFlags flags) : flags_(flags) {} 230 explicit StringAddStub(StringAddFlags flags) : flags_(flags) {}
229 231
230 private: 232 private:
231 Major MajorKey() { return StringAdd; } 233 Major MajorKey() { return StringAdd; }
232 int MinorKey() { return flags_; } 234 int MinorKey() { return flags_; }
233 235
234 void Generate(MacroAssembler* masm); 236 void Generate(MacroAssembler* masm);
235 237
236 void GenerateConvertArgument(MacroAssembler* masm, 238 void GenerateConvertArgument(MacroAssembler* masm,
237 int stack_offset, 239 int stack_offset,
238 Register arg, 240 Register arg,
239 Register scratch1, 241 Register scratch1,
240 Register scratch2, 242 Register scratch2,
241 Register scratch3, 243 Register scratch3,
242 Register scratch4, 244 Register scratch4,
243 Label* slow); 245 Label* slow);
244 246
247 void GenerateRegisterArgsPush(MacroAssembler* masm);
248 void GenerateRegisterArgsPop(MacroAssembler* masm);
249
245 const StringAddFlags flags_; 250 const StringAddFlags flags_;
246 }; 251 };
247 252
248 253
249 class SubStringStub: public PlatformCodeStub { 254 class SubStringStub: public PlatformCodeStub {
250 public: 255 public:
251 SubStringStub() {} 256 SubStringStub() {}
252 257
253 private: 258 private:
254 Major MajorKey() { return SubString; } 259 Major MajorKey() { return SubString; }
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 770
766 class LookupModeBits: public BitField<LookupMode, 0, 1> {}; 771 class LookupModeBits: public BitField<LookupMode, 0, 1> {};
767 772
768 LookupMode mode_; 773 LookupMode mode_;
769 }; 774 };
770 775
771 776
772 } } // namespace v8::internal 777 } } // namespace v8::internal
773 778
774 #endif // V8_MIPS_CODE_STUBS_ARM_H_ 779 #endif // V8_MIPS_CODE_STUBS_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/mips/code-stubs-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698