Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1269)

Side by Side Diff: src/ia32/assembler-ia32.h

Issue 1986113004: Add cmpxchg and lock instructions to x64 and ia32 {dis,}assemblers (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: merge master Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/ia32/assembler-ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after
655 void rep_movs(); 655 void rep_movs();
656 void rep_stos(); 656 void rep_stos();
657 void stos(); 657 void stos();
658 658
659 // Exchange 659 // Exchange
660 void xchg(Register dst, Register src); 660 void xchg(Register dst, Register src);
661 void xchg(Register dst, const Operand& src); 661 void xchg(Register dst, const Operand& src);
662 void xchg_b(Register reg, const Operand& op); 662 void xchg_b(Register reg, const Operand& op);
663 void xchg_w(Register reg, const Operand& op); 663 void xchg_w(Register reg, const Operand& op);
664 664
665 // Lock prefix
666 void lock();
667
668 // CompareExchange
669 void cmpxchg(const Operand& dst, Register src);
670 void cmpxchg_b(const Operand& dst, Register src);
671 void cmpxchg_w(const Operand& dst, Register src);
672
665 // Arithmetics 673 // Arithmetics
666 void adc(Register dst, int32_t imm32); 674 void adc(Register dst, int32_t imm32);
667 void adc(Register dst, const Operand& src); 675 void adc(Register dst, const Operand& src);
668 676
669 void add(Register dst, Register src) { add(dst, Operand(src)); } 677 void add(Register dst, Register src) { add(dst, Operand(src)); }
670 void add(Register dst, const Operand& src); 678 void add(Register dst, const Operand& src);
671 void add(const Operand& dst, Register src); 679 void add(const Operand& dst, Register src);
672 void add(Register dst, const Immediate& imm) { add(Operand(dst), imm); } 680 void add(Register dst, const Immediate& imm) { add(Operand(dst), imm); }
673 void add(const Operand& dst, const Immediate& x); 681 void add(const Operand& dst, const Immediate& x);
674 682
(...skipping 924 matching lines...) Expand 10 before | Expand all | Expand 10 after
1599 Assembler* assembler_; 1607 Assembler* assembler_;
1600 #ifdef DEBUG 1608 #ifdef DEBUG
1601 int space_before_; 1609 int space_before_;
1602 #endif 1610 #endif
1603 }; 1611 };
1604 1612
1605 } // namespace internal 1613 } // namespace internal
1606 } // namespace v8 1614 } // namespace v8
1607 1615
1608 #endif // V8_IA32_ASSEMBLER_IA32_H_ 1616 #endif // V8_IA32_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « no previous file | src/ia32/assembler-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698