Changeset 39121 in webkit for trunk/JavaScriptCore/assembler/X86Assembler.h
- Timestamp:
- Dec 8, 2008, 6:10:41 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/assembler/X86Assembler.h
r39083 r39121 320 320 #endif 321 321 322 void addl_mr(RegisterID base, RegisterID dst) 323 { 324 m_buffer.putByte(OP_ADD_GvEv); 325 modRm_rm(dst, base); 326 } 327 322 328 void addl_mr(int offset, RegisterID base, RegisterID dst) 323 329 { … … 330 336 m_buffer.putByte(OP_AND_EvGv); 331 337 modRm_rr(src, dst); 338 } 339 340 void andl_i8r(int imm, RegisterID dst) 341 { 342 m_buffer.putByte(OP_GROUP1_EvIb); 343 modRm_opr(GROUP1_OP_AND, dst); 344 m_buffer.putByte(imm); 332 345 } 333 346 … … 352 365 } 353 366 367 void cmpl_rm(RegisterID src, RegisterID base) 368 { 369 m_buffer.putByte(OP_CMP_EvGv); 370 modRm_rm(src, base); 371 } 372 354 373 void cmpl_rm(RegisterID src, int offset, RegisterID base) 355 374 { 356 375 m_buffer.putByte(OP_CMP_EvGv); 357 376 modRm_rm(src, base, offset); 377 } 378 379 void cmpl_mr(RegisterID base, RegisterID dst) 380 { 381 m_buffer.putByte(OP_CMP_GvEv); 382 modRm_rm(dst, base); 358 383 } 359 384 … … 408 433 } 409 434 435 void cmpl_i8m(int imm, RegisterID base, RegisterID index, int scale) 436 { 437 m_buffer.putByte(OP_GROUP1_EvIb); 438 modRm_opmsib(GROUP1_OP_CMP, base, index, scale); 439 m_buffer.putByte(imm); 440 } 441 410 442 void cmpl_i8m(int imm, int offset, RegisterID base, RegisterID index, int scale) 411 443 { … … 506 538 modRm_opr(GROUP1_OP_SUB, dst); 507 539 m_buffer.putInt(imm); 540 } 541 542 void subl_mr(RegisterID base, RegisterID dst) 543 { 544 m_buffer.putByte(OP_SUB_GvEv); 545 modRm_rm(dst, base); 508 546 } 509 547 … … 544 582 } 545 583 584 void testl_i32m(int imm, RegisterID base, RegisterID index, int scale) 585 { 586 m_buffer.putByte(OP_GROUP3_EvIz); 587 modRm_opmsib(GROUP3_OP_TEST, base, index, scale); 588 m_buffer.putInt(imm); 589 } 590 591 void testl_i32m(int imm, int offset, RegisterID base, RegisterID index, int scale) 592 { 593 m_buffer.putByte(OP_GROUP3_EvIz); 594 modRm_opmsib(GROUP3_OP_TEST, base, index, scale, offset); 595 m_buffer.putInt(imm); 596 } 597 546 598 void testl_rr(RegisterID src, RegisterID dst) 547 599 { … … 555 607 modRm_opr(GROUP1_OP_XOR, dst); 556 608 m_buffer.putByte(imm); 609 } 610 611 void xorl_i32r(int imm, RegisterID dst) 612 { 613 m_buffer.putByte(OP_GROUP1_EvIz); 614 modRm_opr(GROUP1_OP_XOR, dst); 615 m_buffer.putInt(imm); 557 616 } 558 617 … … 732 791 #endif 733 792 793 void movl_rm(RegisterID src, RegisterID base, RegisterID index, int scale) 794 { 795 m_buffer.putByte(OP_MOV_EvGv); 796 modRm_rmsib(src, base, index, scale); 797 } 798 734 799 void movl_rm(RegisterID src, int offset, RegisterID base, RegisterID index, int scale) 735 800 { … … 1261 1326 } 1262 1327 1328 void modRm_opmsib(OpcodeID opcodeID, RegisterID base, RegisterID index, int scale) 1329 { 1330 modRm_rmsib(static_cast<RegisterID>(opcodeID), base, index, scale); 1331 } 1332 1263 1333 AssemblerBuffer m_buffer; 1264 1334 };
Note:
See TracChangeset
for help on using the changeset viewer.