OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 TypeRecordingBinaryOpStub(Token::Value op, OverwriteMode mode) | 243 TypeRecordingBinaryOpStub(Token::Value op, OverwriteMode mode) |
244 : op_(op), | 244 : op_(op), |
245 mode_(mode), | 245 mode_(mode), |
246 operands_type_(TRBinaryOpIC::UNINITIALIZED), | 246 operands_type_(TRBinaryOpIC::UNINITIALIZED), |
247 result_type_(TRBinaryOpIC::UNINITIALIZED), | 247 result_type_(TRBinaryOpIC::UNINITIALIZED), |
248 name_(NULL) { | 248 name_(NULL) { |
249 use_sse3_ = CpuFeatures::IsSupported(SSE3); | 249 use_sse3_ = CpuFeatures::IsSupported(SSE3); |
250 ASSERT(OpBits::is_valid(Token::NUM_TOKENS)); | 250 ASSERT(OpBits::is_valid(Token::NUM_TOKENS)); |
251 } | 251 } |
252 | 252 |
253 TypeRecordingBinaryOpStub(int key, | 253 TypeRecordingBinaryOpStub( |
| 254 int key, |
254 TRBinaryOpIC::TypeInfo operands_type, | 255 TRBinaryOpIC::TypeInfo operands_type, |
255 TRBinaryOpIC::TypeInfo result_type = TRBinaryOpIC::UNINITIALIZED) | 256 TRBinaryOpIC::TypeInfo result_type = TRBinaryOpIC::UNINITIALIZED) |
256 : op_(OpBits::decode(key)), | 257 : op_(OpBits::decode(key)), |
257 mode_(ModeBits::decode(key)), | 258 mode_(ModeBits::decode(key)), |
258 use_sse3_(SSE3Bits::decode(key)), | 259 use_sse3_(SSE3Bits::decode(key)), |
259 operands_type_(operands_type), | 260 operands_type_(operands_type), |
260 result_type_(result_type), | 261 result_type_(result_type), |
261 name_(NULL) { | 262 name_(NULL) { } |
262 } | |
263 | 263 |
264 // Generate code to call the stub with the supplied arguments. This will add | 264 // Generate code to call the stub with the supplied arguments. This will add |
265 // code at the call site to prepare arguments either in registers or on the | 265 // code at the call site to prepare arguments either in registers or on the |
266 // stack together with the actual call. | 266 // stack together with the actual call. |
267 void GenerateCall(MacroAssembler* masm, Register left, Register right); | 267 void GenerateCall(MacroAssembler* masm, Register left, Register right); |
268 void GenerateCall(MacroAssembler* masm, Register left, Smi* right); | 268 void GenerateCall(MacroAssembler* masm, Register left, Smi* right); |
269 void GenerateCall(MacroAssembler* masm, Smi* left, Register right); | 269 void GenerateCall(MacroAssembler* masm, Smi* left, Register right); |
270 | 270 |
271 private: | 271 private: |
272 enum SmiCodeGenerateHeapNumberResults { | 272 enum SmiCodeGenerateHeapNumberResults { |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 void Print() { | 507 void Print() { |
508 PrintF("NumberToStringStub\n"); | 508 PrintF("NumberToStringStub\n"); |
509 } | 509 } |
510 #endif | 510 #endif |
511 }; | 511 }; |
512 | 512 |
513 | 513 |
514 } } // namespace v8::internal | 514 } } // namespace v8::internal |
515 | 515 |
516 #endif // V8_IA32_CODE_STUBS_IA32_H_ | 516 #endif // V8_IA32_CODE_STUBS_IA32_H_ |
OLD | NEW |