OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 // Deferred code support. | 131 // Deferred code support. |
132 void DoDeferredNumberTagD(LNumberTagD* instr); | 132 void DoDeferredNumberTagD(LNumberTagD* instr); |
133 | 133 |
134 enum IntegerSignedness { SIGNED_INT32, UNSIGNED_INT32 }; | 134 enum IntegerSignedness { SIGNED_INT32, UNSIGNED_INT32 }; |
135 void DoDeferredNumberTagI(LInstruction* instr, | 135 void DoDeferredNumberTagI(LInstruction* instr, |
136 LOperand* value, | 136 LOperand* value, |
137 IntegerSignedness signedness); | 137 IntegerSignedness signedness); |
138 | 138 |
139 void DoDeferredTaggedToI(LTaggedToI* instr); | 139 void DoDeferredTaggedToI(LTaggedToI* instr); |
140 void DoDeferredTaggedToINoSSE2(LTaggedToINoSSE2* instr); | 140 void DoDeferredTaggedToINoSSE2(LTaggedToINoSSE2* instr); |
141 void DoDeferredMathAbsTaggedHeapNumber(LUnaryMathOperation* instr); | 141 void DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr); |
142 void DoDeferredStackCheck(LStackCheck* instr); | 142 void DoDeferredStackCheck(LStackCheck* instr); |
143 void DoDeferredRandom(LRandom* instr); | 143 void DoDeferredRandom(LRandom* instr); |
144 void DoDeferredStringCharCodeAt(LStringCharCodeAt* instr); | 144 void DoDeferredStringCharCodeAt(LStringCharCodeAt* instr); |
145 void DoDeferredStringCharFromCode(LStringCharFromCode* instr); | 145 void DoDeferredStringCharFromCode(LStringCharFromCode* instr); |
146 void DoDeferredAllocateObject(LAllocateObject* instr); | 146 void DoDeferredAllocateObject(LAllocateObject* instr); |
147 void DoDeferredAllocate(LAllocate* instr); | 147 void DoDeferredAllocate(LAllocate* instr); |
148 void DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr, | 148 void DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr, |
149 Label* map_check); | 149 Label* map_check); |
150 | 150 |
151 void DoCheckMapCommon(Register reg, Handle<Map> map, | 151 void DoCheckMapCommon(Register reg, Handle<Map> map, |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 int ToInteger32(LConstantOperand* op) const; | 283 int ToInteger32(LConstantOperand* op) const; |
284 | 284 |
285 double ToDouble(LConstantOperand* op) const; | 285 double ToDouble(LConstantOperand* op) const; |
286 Operand BuildFastArrayOperand(LOperand* elements_pointer, | 286 Operand BuildFastArrayOperand(LOperand* elements_pointer, |
287 LOperand* key, | 287 LOperand* key, |
288 Representation key_representation, | 288 Representation key_representation, |
289 ElementsKind elements_kind, | 289 ElementsKind elements_kind, |
290 uint32_t offset, | 290 uint32_t offset, |
291 uint32_t additional_index = 0); | 291 uint32_t additional_index = 0); |
292 | 292 |
293 // Specific math operations - used from DoUnaryMathOperation. | 293 void EmitIntegerMathAbs(LMathAbs* instr); |
294 void EmitIntegerMathAbs(LUnaryMathOperation* instr); | |
295 void DoMathAbs(LUnaryMathOperation* instr); | |
296 void DoMathFloor(LUnaryMathOperation* instr); | |
297 void DoMathSqrt(LUnaryMathOperation* instr); | |
298 void DoMathLog(LUnaryMathOperation* instr); | |
299 void DoMathTan(LUnaryMathOperation* instr); | |
300 void DoMathCos(LUnaryMathOperation* instr); | |
301 void DoMathSin(LUnaryMathOperation* instr); | |
302 | 294 |
303 // Support for recording safepoint and position information. | 295 // Support for recording safepoint and position information. |
304 void RecordSafepoint(LPointerMap* pointers, | 296 void RecordSafepoint(LPointerMap* pointers, |
305 Safepoint::Kind kind, | 297 Safepoint::Kind kind, |
306 int arguments, | 298 int arguments, |
307 Safepoint::DeoptMode mode); | 299 Safepoint::DeoptMode mode); |
308 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode); | 300 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode); |
309 void RecordSafepoint(Safepoint::DeoptMode mode); | 301 void RecordSafepoint(Safepoint::DeoptMode mode); |
310 void RecordSafepointWithRegisters(LPointerMap* pointers, | 302 void RecordSafepointWithRegisters(LPointerMap* pointers, |
311 int arguments, | 303 int arguments, |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 LCodeGen* codegen_; | 477 LCodeGen* codegen_; |
486 Label entry_; | 478 Label entry_; |
487 Label exit_; | 479 Label exit_; |
488 Label* external_exit_; | 480 Label* external_exit_; |
489 int instruction_index_; | 481 int instruction_index_; |
490 }; | 482 }; |
491 | 483 |
492 } } // namespace v8::internal | 484 } } // namespace v8::internal |
493 | 485 |
494 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_ | 486 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_ |
OLD | NEW |