Changeset 154158 in webkit for trunk/Source/JavaScriptCore/assembler
- Timestamp:
- Aug 15, 2013, 7:35:31 PM (12 years ago)
- Location:
- trunk/Source/JavaScriptCore/assembler
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
r153162 r154158 128 128 void add32(TrustedImm32 imm, RegisterID dest) 129 129 { 130 m_assembler.addl_ir(imm.m_value, dest); 130 if (imm.m_value == 1) 131 m_assembler.inc_r(dest); 132 else 133 m_assembler.addl_ir(imm.m_value, dest); 131 134 } 132 135 … … 375 378 void sub32(TrustedImm32 imm, RegisterID dest) 376 379 { 377 m_assembler.subl_ir(imm.m_value, dest); 380 if (imm.m_value == 1) 381 m_assembler.dec_r(dest); 382 else 383 m_assembler.subl_ir(imm.m_value, dest); 378 384 } 379 385 -
trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
r153197 r154158 184 184 void add64(TrustedImm32 imm, RegisterID srcDest) 185 185 { 186 m_assembler.addq_ir(imm.m_value, srcDest); 186 if (imm.m_value == 1) 187 m_assembler.incq_r(srcDest); 188 else 189 m_assembler.addq_ir(imm.m_value, srcDest); 187 190 } 188 191 189 192 void add64(TrustedImm64 imm, RegisterID dest) 190 193 { 191 move(imm, scratchRegister); 192 add64(scratchRegister, dest); 194 if (imm.m_value == 1) 195 m_assembler.incq_r(dest); 196 else { 197 move(imm, scratchRegister); 198 add64(scratchRegister, dest); 199 } 193 200 } 194 201 … … 270 277 void sub64(TrustedImm32 imm, RegisterID dest) 271 278 { 272 m_assembler.subq_ir(imm.m_value, dest); 279 if (imm.m_value == 1) 280 m_assembler.decq_r(dest); 281 else 282 m_assembler.subq_ir(imm.m_value, dest); 273 283 } 274 284 275 285 void sub64(TrustedImm64 imm, RegisterID dest) 276 286 { 277 move(imm, scratchRegister); 278 sub64(scratchRegister, dest); 287 if (imm.m_value == 1) 288 m_assembler.decq_r(dest); 289 else { 290 move(imm, scratchRegister); 291 sub64(scratchRegister, dest); 292 } 279 293 } 280 294 -
trunk/Source/JavaScriptCore/assembler/X86Assembler.h
r153197 r154158 501 501 #endif 502 502 503 void dec_r(RegisterID dst) 504 { 505 m_formatter.oneByteOp(OP_GROUP5_Ev, GROUP1_OP_OR, dst); 506 } 507 508 void decq_r(RegisterID dst) 509 { 510 m_formatter.oneByteOp64(OP_GROUP5_Ev, GROUP1_OP_OR, dst); 511 } 512 513 void inc_r(RegisterID dst) 514 { 515 m_formatter.oneByteOp(OP_GROUP5_Ev, GROUP1_OP_ADD, dst); 516 } 517 518 void incq_r(RegisterID dst) 519 { 520 m_formatter.oneByteOp64(OP_GROUP5_Ev, GROUP1_OP_ADD, dst); 521 } 522 503 523 void negl_r(RegisterID dst) 504 524 {
Note:
See TracChangeset
for help on using the changeset viewer.