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 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 TypeRecordingBinaryOpStub(Token::Value op, OverwriteMode mode) | 224 TypeRecordingBinaryOpStub(Token::Value op, OverwriteMode mode) |
225 : op_(op), | 225 : op_(op), |
226 mode_(mode), | 226 mode_(mode), |
227 operands_type_(TRBinaryOpIC::UNINITIALIZED), | 227 operands_type_(TRBinaryOpIC::UNINITIALIZED), |
228 result_type_(TRBinaryOpIC::UNINITIALIZED), | 228 result_type_(TRBinaryOpIC::UNINITIALIZED), |
229 name_(NULL) { | 229 name_(NULL) { |
230 use_sse3_ = CpuFeatures::IsSupported(SSE3); | 230 use_sse3_ = CpuFeatures::IsSupported(SSE3); |
231 ASSERT(OpBits::is_valid(Token::NUM_TOKENS)); | 231 ASSERT(OpBits::is_valid(Token::NUM_TOKENS)); |
232 } | 232 } |
233 | 233 |
234 TypeRecordingBinaryOpStub(int key, | 234 TypeRecordingBinaryOpStub( |
| 235 int key, |
235 TRBinaryOpIC::TypeInfo operands_type, | 236 TRBinaryOpIC::TypeInfo operands_type, |
236 TRBinaryOpIC::TypeInfo result_type = TRBinaryOpIC::UNINITIALIZED) | 237 TRBinaryOpIC::TypeInfo result_type = TRBinaryOpIC::UNINITIALIZED) |
237 : op_(OpBits::decode(key)), | 238 : op_(OpBits::decode(key)), |
238 mode_(ModeBits::decode(key)), | 239 mode_(ModeBits::decode(key)), |
239 use_sse3_(SSE3Bits::decode(key)), | 240 use_sse3_(SSE3Bits::decode(key)), |
240 operands_type_(operands_type), | 241 operands_type_(operands_type), |
241 result_type_(result_type), | 242 result_type_(result_type), |
242 name_(NULL) { | 243 name_(NULL) { } |
243 } | |
244 | 244 |
245 // Generate code to call the stub with the supplied arguments. This will add | 245 // Generate code to call the stub with the supplied arguments. This will add |
246 // code at the call site to prepare arguments either in registers or on the | 246 // code at the call site to prepare arguments either in registers or on the |
247 // stack together with the actual call. | 247 // stack together with the actual call. |
248 void GenerateCall(MacroAssembler* masm, Register left, Register right); | 248 void GenerateCall(MacroAssembler* masm, Register left, Register right); |
249 void GenerateCall(MacroAssembler* masm, Register left, Smi* right); | 249 void GenerateCall(MacroAssembler* masm, Register left, Smi* right); |
250 void GenerateCall(MacroAssembler* masm, Smi* left, Register right); | 250 void GenerateCall(MacroAssembler* masm, Smi* left, Register right); |
251 | 251 |
252 private: | 252 private: |
253 enum SmiCodeGenerateHeapNumberResults { | 253 enum SmiCodeGenerateHeapNumberResults { |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
488 void Print() { | 488 void Print() { |
489 PrintF("NumberToStringStub\n"); | 489 PrintF("NumberToStringStub\n"); |
490 } | 490 } |
491 #endif | 491 #endif |
492 }; | 492 }; |
493 | 493 |
494 | 494 |
495 } } // namespace v8::internal | 495 } } // namespace v8::internal |
496 | 496 |
497 #endif // V8_IA32_CODE_STUBS_IA32_H_ | 497 #endif // V8_IA32_CODE_STUBS_IA32_H_ |
OLD | NEW |