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 | |
363 void EnsureSpaceForLazyDeopt(int space_needed) V8_OVERRIDE; | 352 void EnsureSpaceForLazyDeopt(int space_needed) V8_OVERRIDE; |
364 void DoLoadKeyedExternalArray(LLoadKeyed* instr); | 353 void DoLoadKeyedExternalArray(LLoadKeyed* instr); |
365 void DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr); | 354 void DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr); |
366 void DoLoadKeyedFixedArray(LLoadKeyed* instr); | 355 void DoLoadKeyedFixedArray(LLoadKeyed* instr); |
367 void DoStoreKeyedExternalArray(LStoreKeyed* instr); | 356 void DoStoreKeyedExternalArray(LStoreKeyed* instr); |
368 void DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr); | 357 void DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr); |
369 void DoStoreKeyedFixedArray(LStoreKeyed* instr); | 358 void DoStoreKeyedFixedArray(LStoreKeyed* instr); |
370 | 359 |
371 ZoneList<LEnvironment*> deoptimizations_; | 360 ZoneList<LEnvironment*> deoptimizations_; |
372 ZoneList<Deoptimizer::JumpTableEntry> deopt_jump_table_; | 361 ZoneList<Deoptimizer::JumpTableEntry> deopt_jump_table_; |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
461 LCodeGen* codegen_; | 450 LCodeGen* codegen_; |
462 Label entry_; | 451 Label entry_; |
463 Label exit_; | 452 Label exit_; |
464 Label* external_exit_; | 453 Label* external_exit_; |
465 int instruction_index_; | 454 int instruction_index_; |
466 }; | 455 }; |
467 | 456 |
468 } } // namespace v8::internal | 457 } } // namespace v8::internal |
469 | 458 |
470 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ | 459 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ |
OLD | NEW |