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 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 void EmitIsConstructCall(Register temp1, Register temp2); | 342 void EmitIsConstructCall(Register temp1, Register temp2); |
343 | 343 |
344 // Emits optimized code to deep-copy the contents of statically known | 344 // Emits optimized code to deep-copy the contents of statically known |
345 // object graphs (e.g. object literal boilerplate). | 345 // object graphs (e.g. object literal boilerplate). |
346 void EmitDeepCopy(Handle<JSObject> object, | 346 void EmitDeepCopy(Handle<JSObject> object, |
347 Register result, | 347 Register result, |
348 Register source, | 348 Register source, |
349 int* offset, | 349 int* offset, |
350 AllocationSiteMode mode); | 350 AllocationSiteMode mode); |
351 | 351 |
| 352 // Emit optimized code for integer division. |
| 353 // Inputs are signed. |
| 354 // All registers are clobbered. |
| 355 // If 'remainder' is no_reg, it is not computed. |
| 356 void EmitSignedIntegerDivisionByConstant(Register result, |
| 357 Register dividend, |
| 358 int32_t divisor, |
| 359 Register remainder, |
| 360 Register scratch, |
| 361 LEnvironment* environment); |
| 362 |
352 void EnsureSpaceForLazyDeopt(int space_needed) V8_OVERRIDE; | 363 void EnsureSpaceForLazyDeopt(int space_needed) V8_OVERRIDE; |
353 void DoLoadKeyedExternalArray(LLoadKeyed* instr); | 364 void DoLoadKeyedExternalArray(LLoadKeyed* instr); |
354 void DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr); | 365 void DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr); |
355 void DoLoadKeyedFixedArray(LLoadKeyed* instr); | 366 void DoLoadKeyedFixedArray(LLoadKeyed* instr); |
356 void DoStoreKeyedExternalArray(LStoreKeyed* instr); | 367 void DoStoreKeyedExternalArray(LStoreKeyed* instr); |
357 void DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr); | 368 void DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr); |
358 void DoStoreKeyedFixedArray(LStoreKeyed* instr); | 369 void DoStoreKeyedFixedArray(LStoreKeyed* instr); |
359 | 370 |
360 ZoneList<LEnvironment*> deoptimizations_; | 371 ZoneList<LEnvironment*> deoptimizations_; |
361 ZoneList<Deoptimizer::JumpTableEntry> deopt_jump_table_; | 372 ZoneList<Deoptimizer::JumpTableEntry> deopt_jump_table_; |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
450 LCodeGen* codegen_; | 461 LCodeGen* codegen_; |
451 Label entry_; | 462 Label entry_; |
452 Label exit_; | 463 Label exit_; |
453 Label* external_exit_; | 464 Label* external_exit_; |
454 int instruction_index_; | 465 int instruction_index_; |
455 }; | 466 }; |
456 | 467 |
457 } } // namespace v8::internal | 468 } } // namespace v8::internal |
458 | 469 |
459 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ | 470 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ |
OLD | NEW |