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

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

Issue 525115: Add generated code for ascii string comparison... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « src/codegen.cc ('k') | 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 522 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 533
534 void movzx_b(Register dst, const Operand& src); 534 void movzx_b(Register dst, const Operand& src);
535 535
536 void movzx_w(Register dst, const Operand& src); 536 void movzx_w(Register dst, const Operand& src);
537 537
538 // Conditional moves 538 // Conditional moves
539 void cmov(Condition cc, Register dst, int32_t imm32); 539 void cmov(Condition cc, Register dst, int32_t imm32);
540 void cmov(Condition cc, Register dst, Handle<Object> handle); 540 void cmov(Condition cc, Register dst, Handle<Object> handle);
541 void cmov(Condition cc, Register dst, const Operand& src); 541 void cmov(Condition cc, Register dst, const Operand& src);
542 542
543 // Repetitive moves. 543 // Repetitive string instructions.
544 void rep_movs(); 544 void rep_movs();
545 545
546 // Exchange two registers 546 // Exchange two registers
547 void xchg(Register dst, Register src); 547 void xchg(Register dst, Register src);
548 548
549 // Arithmetics 549 // Arithmetics
550 void adc(Register dst, int32_t imm32); 550 void adc(Register dst, int32_t imm32);
551 void adc(Register dst, const Operand& src); 551 void adc(Register dst, const Operand& src);
552 552
553 void add(Register dst, const Operand& src); 553 void add(Register dst, const Operand& src);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
610 610
611 void shl(Register dst, uint8_t imm8); 611 void shl(Register dst, uint8_t imm8);
612 void shl_cl(Register dst); 612 void shl_cl(Register dst);
613 613
614 void shrd(Register dst, const Operand& src); 614 void shrd(Register dst, const Operand& src);
615 615
616 void shr(Register dst, uint8_t imm8); 616 void shr(Register dst, uint8_t imm8);
617 void shr_cl(Register dst); 617 void shr_cl(Register dst);
618 618
619 void subb(const Operand& dst, int8_t imm8); 619 void subb(const Operand& dst, int8_t imm8);
620 void subb(Register dst, const Operand& src);
620 void sub(const Operand& dst, const Immediate& x); 621 void sub(const Operand& dst, const Immediate& x);
621 void sub(Register dst, const Operand& src); 622 void sub(Register dst, const Operand& src);
622 void sub(const Operand& dst, Register src); 623 void sub(const Operand& dst, Register src);
623 624
624 void test(Register reg, const Immediate& imm); 625 void test(Register reg, const Immediate& imm);
625 void test(Register reg, const Operand& op); 626 void test(Register reg, const Operand& op);
626 void test(const Operand& op, const Immediate& imm); 627 void test(const Operand& op, const Immediate& imm);
627 628
628 void xor_(Register dst, int32_t imm32); 629 void xor_(Register dst, int32_t imm32);
629 void xor_(Register dst, const Operand& src); 630 void xor_(Register dst, const Operand& src);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 void jmp(Label* L); // unconditional jump to L 669 void jmp(Label* L); // unconditional jump to L
669 void jmp(byte* entry, RelocInfo::Mode rmode); 670 void jmp(byte* entry, RelocInfo::Mode rmode);
670 void jmp(const Operand& adr); 671 void jmp(const Operand& adr);
671 void jmp(Handle<Code> code, RelocInfo::Mode rmode); 672 void jmp(Handle<Code> code, RelocInfo::Mode rmode);
672 673
673 // Conditional jumps 674 // Conditional jumps
674 void j(Condition cc, Label* L, Hint hint = no_hint); 675 void j(Condition cc, Label* L, Hint hint = no_hint);
675 void j(Condition cc, byte* entry, RelocInfo::Mode rmode, Hint hint = no_hint); 676 void j(Condition cc, byte* entry, RelocInfo::Mode rmode, Hint hint = no_hint);
676 void j(Condition cc, Handle<Code> code, Hint hint = no_hint); 677 void j(Condition cc, Handle<Code> code, Hint hint = no_hint);
677 678
679 // Loop instruction using ecx as counter.
680 void loope(Label* L);
681
678 // Floating-point operations 682 // Floating-point operations
679 void fld(int i); 683 void fld(int i);
680 684
681 void fld1(); 685 void fld1();
682 void fldz(); 686 void fldz();
683 687
684 void fld_s(const Operand& adr); 688 void fld_s(const Operand& adr);
685 void fld_d(const Operand& adr); 689 void fld_d(const Operand& adr);
686 690
687 void fstp_s(const Operand& adr); 691 void fstp_s(const Operand& adr);
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
904 private: 908 private:
905 Assembler* assembler_; 909 Assembler* assembler_;
906 #ifdef DEBUG 910 #ifdef DEBUG
907 int space_before_; 911 int space_before_;
908 #endif 912 #endif
909 }; 913 };
910 914
911 } } // namespace v8::internal 915 } } // namespace v8::internal
912 916
913 #endif // V8_IA32_ASSEMBLER_IA32_H_ 917 #endif // V8_IA32_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « src/codegen.cc ('k') | src/ia32/assembler-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698